本节书摘来自异步社区《构建高可用VMware vSphere 5.X虚拟化架构》一书中的第2章,第2.6节,作者:何坤源著,更多章节内容可以访问云栖社区“异步社区”公众号查看
2.6 vCenter Server数据库的备份恢复
vCenter Server所使用的数据库备份相当重要,一旦出现问题,vCenter Server将不能正常工作,所以日常备份工作是相当重要的,本节将针对vCenter Server两种数据库如何备份恢复进行详细介绍。
2.6.1 备份SQL Server数据库
本节实战操作将对2.4小节安装好的SQL Server 2008数据库进行备份操作,备份操作可以使用dsdbutil工具来完成,其具体操作如下。
第1步,进入到Windows Server 2008 R2的命令行界面,使用命令“dsdbutil”,如图2-6-1所示。
第2步,使用命令“activate instance VMwareVCMSDS”,激活数据库实例,vCenter Server数据库默认实例为“VMwareVCMSDS”,如图2-6-2所示。
需要注意的是,在命令行提示符下,如果数据库实例正在运行,则无法激活。
第3步,使用命令“ifm”创建安装媒体实例,如图2-6-3所示。
第4步,使用命令“create full c:bdnetlab_vcbackup”创建数据库备份,如图2-6-4所示。
第5步,通过图2-6-5可以看到,成功在C盘创建了“bdnetlab_vcbackup”文件夹,文件夹内有备份的数据库文件“adamntds.dit”。
至此,SQL Server 2008数据库备份完成,使用dsdbutil工具同样适用于安装嵌入数据库的SQL Server 2008 Express。
2.6.2 恢复SQL Server数据库
在2.6.1小节成功备份了vCenter Server使用的SQL Server 2008数据库,本节将介绍如何进行数据库恢复操作。
第1步,停止vCenter Server服务,所涉及的服务有以下三个,如图2-6-6所示。
VMwareVCMSDS
VirtualCenter Management Webservices
VirtualCenter Server
第2步,查找“VMwareVCMSDS”目录,使用Windows Server 2008安装vCenter Server其路径为:C:ProgramDataVMwareInfrastructureVirtualCenter ServerVMwareVCMSDS,如图2-6-7所示。
默认情况下为“ProgramData”文件夹隐藏,通过“文件夹选项”勾选“显示隐藏的文件、文件夹和驱动器”即可看到。
第3步,将备份在C:bdnetlab_vcbackupadamntds.dit文件复制到C:ProgramDataVMware InfrastructureVirtualCenter ServerVMwareVCMSDS目录,覆盖原文件。
第4步,重启停止的vCenter Server服务。
至此,SQL Server 2008数据库恢复完成,vCenter Server数据库恢复到备份状态。
2.6.3 备份vPostgres数据库
Linux版的vCenter Server Appliance嵌入式数据库从5.1版本开始换成了vPostgres,这是基于开源数据库PostgresQL开发的vFabric系列产品。
本节实战操作将对vPostgres数据库进行备份操作。
第1步,使用SecureCRT工具登录到VMware vCenter Server Appliance的命令行界面,默认用户名为root,默认密码为vmware,如图2-6-8所示。
第2步,使用命令“cd /opt/vmware/vpostgres/1.0/bin”,进入vpostgres数据库所在目录,如图2-6-9所示。
第3步,使用命令“cat /etc/vmware-vpx/embedded_db.cfg”查看vCenter Server所使用数据库的名称以及密码,通过图2-6-10可以看出,默认的数据库名称为“VCDB”,用户为“vc”,密码为“dUnSoEMpD2zdBlm0”。
第4步,使用超级用户权限的角色运行vpostgres数据库备份命令“pg_dump”,完整的备份命令为“./pg_dump VCDB -U vc -Fp -c > BDnetlab_VCBackup”,如图2-6-11所示。
图2-6-11参数解释如下。
(1)-U:使用数据库超级用户权限。
(2)-c:包含备份文件中的“CREATE DATABASE”语句。
(3)BDnetlab_VCBackup:自定义的备份文件名称。
第5步,使用命令“ls”列出目录下的文件,通过图2-6-12可以看到,数据库文件备份“BDnetlab_VCBackup”成功。
第6步,使用命令“vi BDnetlab_VCBackup”可以查看文件备份信息,如图2-6-13所示。
2.6.4 恢复vPostgres数据库
在2.6.3小节成功备份了vCenter Server使用的vPostgres数据库,本节将介绍如何进行数据库恢复操作。
第1步,在进行备份操作前,没有对vCenter Server进行任何操作,创建一些数据中心来测试恢复的效果,如图2-6-14所示。
第2步,使用命令“PGPASSWORD=dUnSoEMpD2zdBlm0 ./psql -d VCDB -Upostgres -f BDnetlab_VCBackup”恢复数据库,如图2-6-15所示。
图2-6-15参数解释如下。
(1)PGPASSWORD:数据库密码。
(2)VCDB:vCenter Server使用的默认数据库。
(3)BDnetlab_VCBackup:数据库备份文件。
第3步,数据库恢复完成,如图2-6-16所示。
第4步,重新启动vCenter Server,使用VMware vSphere Client登录vCenter Server,通过图2-6-17可以看到,第1步创建的数据中心已经清除,恢复到备份前状态。
至此,完成了vCenter Server数据库的备份恢复操作,针对于数据库的备份操作相当重要,可以采用“计划任务”方式定期对数据库进行备份操作。备份完成后,也需要定期对数据库进行恢复操作检验备份的可用性。