您可以通过使用单元管理工具的 dbmigrate 子命令,将现有 vCloud Director 数据库从 Oracle 或 Microsoft SQL Server 迁移到 PostgreSQL。
重要事项:
在 vCloud Director 9.5 中,不支持 Oracle 数据库。如果升级使用 Oracle 数据库的 vCloud Director 安装,必须将现有 Oracle 数据库迁移到 PostgreSQL,才能升级该数据库。
cell-management-tool dbmigrate options
重要事项:
不支持热迁移。在开始数据库迁移之前,必须停止 vCloud Director 服务。在单元平台上打开控制台、shell 或终端窗口,并运行 Linux 命令 service vmware-vcd stop。有关启动和停止 vCloud Director 服务的信息,请参见《vCloud Director 安装、配置和升级指南》。
选项 | 参数 | 描述 |
---|---|---|
--help (-h) |
无 | 提供此类别中可用命令的摘要。 |
--database-host (-dbhost) |
IP 地址或完全限定域名。 | 目标 PostgreSQL 数据库主机的 IP 地址或完全限定域名。 |
--database-name (-dbname) |
PostgreSQL 数据库的名称。 | 您在创建目标 PostgreSQL 数据库时选择的名称。通常为 vcloud 。 |
--database-password (-dbpassword) |
PostgreSQL 数据库用户的密码。 | 目标 PostgreSQL 数据库的数据库用户密码。 |
--database-port (-dbport) |
数据库主机上的 PostgreSQL 数据库服务所使用的端口号。 | 数据库主机上的 PostgreSQL 数据库服务所使用的端口号。 |
--database-ssl | true 或 false | 将目标 PostgreSQL 数据库配置为需要来自 vCloud Director 的 SSL 连接。 |
--database-user (-dbuser) |
PostgreSQL 数据库用户的名称。 | 目标 PostgreSQL 数据库的数据库用户名。 |
--private-key-path | 已将其公钥添加到服务器组中其他单元的 authorized_keys 的私钥的绝对路径。 | 迁移完成后,重新配置服务器组中的所有单元以使用目标 PostgreSQL 数据库。
重要事项: 所有单元都必须允许超级用户在不输入密码的情况下进行 SSH 连接。
|
--verbose | 无 | 将所有日志输出发送到控制台和日志文件。包括报告每个表的迁移状态和整个操作进度的信息。 |
如果使用
--private-key-path 选项,所有单元都必须配置为允许超级用户在不输入密码的情况下进行 SSH 连接。例如,要执行验证,可以运行以下 Linux 命令:
sudo -u vcloud ssh -i private-key-path root@cell-ip此示例将您的身份设置为
vcloud
,然后以 root 身份与
cell-ip 处的单元建立 SSH 连接,但不提供 root 密码。如果本地单元上
private-key-path 中的私钥可由用户
vcloud.vcloud
读取,且相应的公钥位于
cell-ip 处 root 用户的
authorized-keys 文件中,此命令将成功。
注:
vcloud
用户、vcloud
组和 vcloud.vcloud
帐户由 vCloud Director 安装程序创建,用作 vCloud Director 进程运行时所用的身份。vcloud
用户没有任何密码。
将 vCloud Director 数据库迁移到 PostgreSQL 并更新所有单元的数据库连接属性
以下命令会将当前
vCloud Director 数据库迁移到主机
psql.example.com
上安装的目标 PostgreSQL 数据库。由于包括
--private-key-path 选项,成功完成迁移后,服务器组中的所有单元将重新配置为连接到目标数据库。
[root@cell1 /opt/vmware/vcloud-director/bin]#cell-management-tool dbmigrate \ -dbhost psql.example.com -dbport 5432 -dbuser vcd-dba -dbname vcloud -dbpassword P@55w0rd \ --private-key-path /vcloud/.ssh/id_rsa configuring the target database...
如果不包括 --private-key-path 选项,完成迁移后,您可以通过在服务器组中的每个单元上运行 reconfigure-database 子命令将单元连接到目标数据库。请参见将 vCloud Director 数据库迁移到 PostgreSQL 后重新配置单元。