【VMware vCenter】管理平台出现备份作业状态告警,VAMI后台备份任务未能运行,点击手动备份提示FTP位置不可用等问题的处理过程。
VMware vCenter提供了一个备份/还原功能,以便在当vCenter本身出现故障且无法恢复的情况下,使用该功能可以将出故障的vCenter配置文件还原到一个新的vCenter上,这样就无需再重新配置即可立即恢复服务。这个备份文件除了包含配置文件以外,还可以选择备份历史数据,如统计信息、事件和任务等,以便能更完整的恢复到之前的状态。
现在平台出现了严重告警:“备份作用状态”,这是用于监控备份作业状态的警报。环境是vCenter 6.7,下面记录一下故障处理过程。
1.登录VAMI管理后台(https://vCenter IP/FQDN:5480),查看备份情况,发现备份调度任务在当天未能成功运行,之前备份状态是正常的。
2.点击手动备份,直接使用来自备份调度任务的配置信息,输入远端备份服务器的密码,点击确认后出现“FTP位置不可用(FTP location is invalid.)”错误。
3.备份调度任务是每天进行一次备份,使用的备份协议是FTP,这个FTP服务器环境是一台Windows 2008 R2虚拟机。
4.检查FTP服务器状态一切正常,FTP目录访问一切正常(读写/完全控制),vCenter与FTP服务器之间的网络连接正常,端口访问正常。
vmkping xx.xx.xx.xx //vCenter上检查与FTP服务器网络连接是否正常
nc -nvz xx.xx.xx.xx 21 //vCenter上检查与FTP服务器的21端口是否正常
5.在vCenter上使用tcpdump抓包工具抓一下网卡流量,并导出成.cap文件,以方便在wireshark工具上查看,发现在提交备份任务后,网卡上并没有和FTP服务器通信的流量,根本就没有发起连接,也就是说问题应该在vCenter本身。
6.查看vCenter备份日志,一般是以下几个日志,文件目录在/storage/log/vmware/applmgmt:
backup.log
applmgmt.log
backupScheduler.log
backupSchedulerCron.log
backupRestoreProgress.log
7.通过查看backupScheduler.log日志,可以看到之前调度任务备份失败的原因:“Failed to connect to the remote FTP location.”,连接FTP失败,但是我们测试了FTP服务器端是正常的。
2023-07-06T15:59:03.144 [MainProcess:PID-24791] ERROR: Failed to issue the Schedules.run request. Exception: {data : None, messages : [LocalizableMessage(id='com.vmware.applmgmt.err_fail_conn_remote_loc', args=['FTP'], default_message='Failed to connect to the remote FTP location.')]}
Traceback (most recent call last):
File "/usr/lib/applmgmt/backup_restore/py/vmware/appliance/backup_restore/Scheduler.py", line 127, in ExecScheduleRun
status = svc_handle.run(scheduleId, comment='SCHEDULED')
File "/usr/lib/applmgmt/pyclient/applmgmt_client-1.0-py2.7.egg/com/vmware/appliance/recovery/backup_client.py", line 1134, in run
'comment': comment,
File "/usr/lib/vmware-vapi/lib/python/vapi_runtime-2.100.0-py2.py3-none-any.whl/vmware/vapi/bindings/stub.py", line 317, in _invoke
return self._api_interface.native_invoke(ctx, _method_name, kwargs)
File "/usr/lib/vmware-vapi/lib/python/vapi_runtime-2.100.0-py2.py3-none-any.whl/vmware/vapi/bindings/stub.py", line 275, in native_invoke
self._rest_converter_mode)
com.vmware.vapi.std.errors_client.Error: {data : None, messages : [LocalizableMessage(id='com.vmware.applmgmt.err_fail_conn_remote_loc', args=['FTP'], default_message='Failed to connect to the remote FTP location.')]}
8.查看backup.log备份日志以及applmgmt.log管理日志,并没有发现vCenter无法连接FTP的直接原因。
9.通过查阅网上资料,发现有文章说,如果开启了VCSA的网络代理,会出现FTP不可用的情况,但是我这里代理设置并没有开启。
10.经过查阅网上大量资料,判断这个问题应该是由VCSA备份服务自生的原因造成的,如果把这个备份服务重启一下看是否正常,如果不行,那只有重启vCenter。备份服务是受VAMI管的,重启VAMI管理服务也就顺应把备份服务给重启了,这个服务叫VMware Appliance Management Service,对应shell里的服务名字叫applmgmt,重启管理服务不会影响到虚拟机业务运行,如果你出现VAMI无法登录的问题,可能也是该服务造成的。
vCenter shell里运行:
service-control --status //查看vCenter服务的状态
service-control --restart applmgmt //重启管理服务
vCenter api命令运行:
service-control --status //查看vCenter服务的状态
service-control --restart applmgmt //重启管理服务
11.服务重启后, FTP连接正常,手动备份正常,备份调度任务肯定也没有问题了,管理平台的告警也消失。
12.但是,在发起备份任务窗口里发现有一个问题,在备份设置的数据栏,“统计信息、事件和任务”后面显示的空间为0 MB,看来并没有完全正常。
13.根据之前查看的backup.log日志,发现有以下ERROR信息,经过网上查阅资料后找到了原因,这是由于计算表大小导致的,在进行备份的时候会对行计数执行 SQL 查询,因为默认使用int而不是bigint,这意味着如果行计数高于某个值,数字转换将会失败,最后终止查询,也就为什么统计信息那一栏大小显示为0MB的原因了。
2023-07-27T06:15:12.174 [MainProcess:PID-41265] INFO: Sample table size record: vc|vpx_proc_log|1.90838e+06|224329728|78.7779407957193406
2023-07-27T06:15:12.175 [MainProcess:PID-41265] INFO: Sample table: name="vc.vpx_proc_log",
Rows count: 1.90838e+06
size="224329728",
percent="78.7779407957193406%".
2023-07-27T06:15:12.175 [MainProcess:PID-41265] ERROR: Failed to calculate VCDB size.
Traceback (most recent call last):
File "/usr/lib/applmgmt/backup_restore/py/vmware/appliance/backup_restore/components/VCDB.py", line 398, in VCDBSize
original_size = _estimate_size_partial_vcdb(db_name='VCDB')
File "/usr/lib/applmgmt/backup_restore/py/vmware/appliance/backup_restore/components/VCDB.py", line 301, in _estimate_size_partial_vcdb
int(reltuples),
ValueError: invalid literal for int() with base 10: '1.90838e+06'
2023-07-27T06:16:35.851 [MainProcess:PID-41268] INFO: Calculate size for components
2023-07-27T06:16:36.6 [MainProcess:PID-41268] INFO: Archive size for component rbd: 1090994
14.针对此问题,可以通过修改配置文件来解决,主要是在reltuples后面增加“::bigint”项,修改方式如下:
cd /usr/lib/applmgmt/backup_restore/py/vmware/appliance/backup_restore/components/ //进入vCenter目录
cp VCDB.py VCDB.py.bak //对文件做一个备份
vim VCDB.py //修改配置文件
sql = ('SELECT nspname, relname, reltuples AS row_count, ... //未修改之前
sql = ('SELECT nspname, relname, reltuples::bigint AS row_count, '... //修改之后的
修改后如下图所示:
15.修改后,再次到备份任务窗口可以看到数据栏,“统计信息、事件和任务”后面的空间大小正常显示了,通过tail -f /var/log/vmware/applmgmt/backup.log查看vCenter备份日志,可以发现之前那个错误信息也没有了。
至此,vCenter无法备份的问题处理完毕!
vCenter对我们来说至关重要,对它采取一定备份措施是很有必要的。当然除了使用上面官方的一种备份方式以外,其实还有很种方式,比如第三方备份软件,Veeam等。
同时,建议在日常运维维护中,将vCenter vPostgres数据库也纳入到备份当中,具体怎么备份可以参考VMware KB 2091961文档中的教程和方法。
注意,请至少使用一种方式来备份vCenter,以确保当你的环境出现故障后,可以进行恢复。
参考文档:
vCenter Server Appliance 6.7 U2 backup via SMB fails with error: "SMB location is invalid" (70646)
VCSA backup to FTP/NFS/SMB fails
VMware vCSA 6.5 Scheduled Backup
Linux系统 tcpdump 抓包命令使用教程
vCenter Server Appliance Shell 中的 API 命令
VMware VCSA 5480 后台登录提示失败
vCenter Server Appliance Backup Process
Error "Failed to calculate VCDB size" during backup in vCenter Server Appliance 6.0/6.5 (76134)
Accessing the VAMI returns error "Update installation in progress" after recovering from a failed update (67179)
备份和还原 vCenter Server Appliance/vCenter Server 6.x vPostgres 数据库 (2091961)
【VMware vCenter】管理平台出现备份作业状态告警,VAMI后台备份任务未能运行,点击手动备份提示FTP位置不可用等问题的处理过程。的更多相关文章
- 企业级容器管理平台 Rancher 介绍入门及如何备份数据
企业级容器管理平台 Rancher 介绍入门及如何备份数据 是什么 Rancher 是一个为 DevOps 团队提供的完整的 Kubernetes 与容器管理解决方案的开源的企业级容器管理平台.它解决 ...
- VMware vSphere(虚拟化平台)
VMware vSphere 是业界领先且最可靠的虚拟化平台.vSphere将应用程序和操作系统从底层硬件分离出来,从而简化了 IT操作.您现有的应用程序可以看到专有资源,而您的服务器则可以作为资源池 ...
- Rancher 快速构建k8s容器管理平台解决方案(图片见原文链接)
转载自Rancher 快速构建k8s容器管理平台解决方案_IT干货的博客-CSDN博客_k8s容器管理平台 一.Rancher 概述 Rancher 是企业级多集群Kubernetes管理平台,一个为 ...
- 如何安全的将VMware vCenter Server使用的SQL Server Express数据库平滑升级到完整版
背景: 由于建设初期使用的vSphere vCenter for Windows版,其中安装自动化过程中会使用SQL Server Express的免费版数据库进行基础环境构建.而此时随着业务量的增加 ...
- OpenStack 企业私有云的若干需求(9): 云管理平台 CMP
本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...
- 【VMware虚拟化解决方案】设计和配置VMware vCenter 5.5
在这之前,我们已经对VMware ESXi 5.5进行了整个环境的设计和规划,虽然安装VMware ESXi 5.5在CPU的选型.网络的设计.共享存储的方式.虚拟化资源的需求和安装ESXI的模式等一 ...
- VMware vCenter 6.0 安装及群集配置介绍
一.介绍 VMware vCenter Server 提供了一个可伸缩.可扩展的平台,为虚拟化管理奠定了基础.可集中管理VMware vSphere环境,与其他管理平台相比,极大地提高了 IT 管理员 ...
- VMware vCenter Orchestrator
使用范例: VMware Automation with vCenter Orchestrator http://www.rodmach.com/blog/?p=46 直接从 VSPHERE CLIE ...
- VMware vCenter 6.5 安装及群集配置介绍
一.介绍 VMware vCenter Server 提供了一个可伸缩.可扩展的平台,为虚拟化管理奠定了基础.可集中管理VMware vSphere环境,与其他管理平台相比,极大地提高了 IT 管理员 ...
- 基于kubernetes自研容器管理平台的技术实践
一.容器云的背景 伴随着微服务的架构的普及,结合开源的Dubbo和Spring Cloud等微服务框架,宜信内部很多业务线逐渐了从原来的单体架构逐渐转移到微服务架构.应用从有状态到无状态,具体来说将业 ...
随机推荐
- 关于自定义程序打包成jar包,并读取配置
前言 在实际开发过程中,我们有时候有把你编写的一段程序打成jar包的需求,而一些配置是需要去配置文件里面读取关于这项目的一些配置,本人在网络上查询了众多的资料,总的来说可以归为3类 1.从数据库读取配 ...
- JS中文件相关的知识(一):MIME类型
不知道有没有同学和我一样,写代码时一遇到文件操作就犯怵,必须要先去把知识补一遍再说:对于Content-Type.responseType.ArrayBuffer.buffer.blob.file等这 ...
- Oracle表的导出、导入
有些情况下,需要单独导出某些表,用或者分析数据. 下面记录Oracle表的导出导入方法 1. 表的导出 ./exp $username/$passwd@$ORACLE_SID file=/$file_ ...
- Programming abstractions in C阅读笔记:p88-p90
<Programming Abstractions In C>学习第44天,p88-p90总结. 一.技术总结 1.内存分配 内存分配可以分为:static allocation.auto ...
- Programming abstractions in C阅读笔记p111-p113: boilerplate
<Programming Abstractions In C>学习第47天,p111-p113,总结如下: 一.技术总结 1.boilerplate /* * File: random.h ...
- 8、Mybatis之自定义映射
8.1.环境搭建 8.1.1.创建新module 创建名为mybatis_resultMap的新module,过程参考5.1节 8.1.2.创建t_emp和t_dept表 CREATE TABLE ` ...
- [ABC305D] Sleep Log题解
题目大意 给 \(N\) 个时刻: 当 \(i\) 为奇数时,\(A_i\) 表示刚刚起床的时刻. 当 \(i\) 为偶数时,\(A_i\) 表示开始睡觉的时刻. 有 \(Q\) 次询问,每次求在 \ ...
- 浅谈Mysql读写分离的坑以及应对的方案
一.主从架构 为什么我们要进行读写分离?个人觉得还是业务发展到一定的规模,驱动技术架构的改革,读写分离可以减轻单台服务器的压力,将读请求和写请求分流到不同的服务器,分摊单台服务的负载,提高可用性,提高 ...
- dedebiz发布文章自动提交到百度搜索的方法
修改程序文件 依次打开/admin/article_add.php和article_edit.php 找到ClearMyAddon($id, $title); 在其上面加入 //自动提交到百度 els ...
- Dubbo3应用开发—Dubbo序列化方案(Kryo、FST、FASTJSON2、ProtoBuf序列化方案的介绍和使用)
Dubbo序列化方案(Kryo.FST.FASTJSON2.ProtoBuf序列化方案的介绍和使用) 序列化简介 序列化是Dubbo在RPC中非常重要的一个组成部分,其核心作用就是把网络传输中的数据, ...