第 4 章 迁移到一个基于 RHEL 的自承载环境
4.1. 迁移到自承载环境 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
当需要把一个标准 Red Hat Virtualization 中存在的实例迁移到自承载环境中时,可以使用
hosted-engine
脚本来简化迁移的过程。这个脚本会要求用户输入一系列信息,并根据提供的信息对环境进行配置。在以下过程中,标准 Red Hat Virtualization 环境中的 Manager 被称为 BareMetal-Manager。
RHV-M Virtual Appliance 可以减少用户和 Manager 虚拟机的交流,从而缩短部署的过程。但是,appliance 只能在一个标准安装中自动化
engine-setup
。在迁移过程中,用户需要手工运行 engine-setup
,这样才可以提前在新的 Manager 虚拟机上恢复 BareMetal-Manager 备份文件。
迁移过程包括以下几个关键的步骤:
- 运行
hosted-engine
脚本来配置主机作为自承载引擎的主机,并创建一个新的 Red Hat Virtualization 虚拟机。 - 使用
engine-backup
工具程序备份引擎数据库和配置文件,把备份数据复制到新的 Manager 虚拟机上,并使用带有--mode=restore
选项的engine-backup
命令恢复备份。运行engine-setup
对 Manager 虚拟机进行配置。 - 使用
hosted-engine
脚本进行设置。
先决条件
- 准备一个安装了 ovirt-hosted-engine-setup 软件包的新主机。请参阅 第 2.1 节 “在 Red Hat Enterprise Linux 主机上初始化自承载引擎部署” 以获得相关的详细信息。主机需要是当前 Red Hat Virtualization 环境支持的版本。
注意
如果选择使用一个已存在的主机,请把它设置为维护模式并从当前的环境中移除。请参阅 管理指南中的删除一个主机了解详情。 - 为您的自承载引擎环境准备好存储。自承载引擎需要使用 Manager 虚拟机专用的共享存储域。此存储域创建于部署期间,应至少为 60 GB。如需了解与存储准备有关的更多信息,请参阅管理指南中的存储 章节。
重要
如果您使用的是 iSCSI 存储,则不要在共享存储域和数据存储域中使用相同的 iSCSI 目标。 - 通过安装 rhevm-appliance 软件包可以获得 RHV-M Virtual Appliance。RHV-M Virtual Appliance 总是基于最新支持的 Manager 版本。请确认您当前环境中的 Manager 版本已被更新到最新支持的 Y-stream 版本,因为 Manager 的版本需要相同才可以进行迁移。
- 要在 Manager 安装中使用 RHV-M Virtual Appliance,需要有一个至少有 5 GB 的目录。
hosted-engine
脚本首先会检查/var/tmp
是否具备足够的文件提取空间。如果空间不够,您可以指定不同的目录,或者挂载外部存储器。VDSM 用户和 KVM 群组必须具备在目录上读写和执行操作的权限。 - 新的 Manager 的完全限定域名需要和原始 BareMetal-Manager 的完全限定域名相同。DNS 中需要有它的正向和反向查询记录。
- 需要有访问和修改 BareMetal-Manager 的权限。
- BareMetal-Manager 迁入到的虚拟机必须与 BareMetal-Manager 原来所在物理机器具备等量的 RAM。如果迁入 BareMetal-Manager 的虚拟机的 RAM 比 BareMetal-Manager 原来所在物理机的 RAM 少,请参阅下列红帽知识库文章:https://access.redhat.com/articles/2705841。
过程 4.1. 迁移到自承载环境
开始自承载引擎部署
注意
如果您从 3.5 或更早版本更新,您必须运行hosted-engine --deploy --config-append=/etc/ovirt-hosted-engine/answers.conf
命令。文件answers.conf
必须包含OVEHOSTED_NETWORK/bridgeName=str:rhevm
参数。从 3.5 版本升级到 3.6 版本或更高版本时,如果不设置该参数,将导致默认管理网络无法运行。运行hosted-engine
脚本。使用 CTRL+D 可以随时中断部署。我们推荐在运行脚本时使用screen
程序,这样可以避免因为网络中断或其它原因造成脚本运行被中断。screen 软件包包括在标准的 Red Hat Enterprise Linux 软件仓库中。yum install screen
# yum install screen
Copy to Clipboard Copied! Toggle word wrap Toggle overflow screen
# screen
Copy to Clipboard Copied! Toggle word wrap Toggle overflow hosted-engine --deploy
# hosted-engine --deploy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意
当网络中断或超时时,可以运行screen -d -r
来恢复当前运行的hosted-engine
。配置存储
选择使用的存储类型。During customization use CTRL-D to abort. Please specify the storage you would like to use (glusterfs, iscsi, fc, nfs3, nfs4)[nfs3]:
During customization use CTRL-D to abort. Please specify the storage you would like to use (glusterfs, iscsi, fc, nfs3, nfs4)[nfs3]:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 对于 NFS 存储类型,使用 FQDN 或 IP 地址指定它的完整地址,以及共享存储域的路径名。
Please specify the full shared storage connection path to use (example: host:/path): storage.example.com:/hosted_engine/nfs
Please specify the full shared storage connection path to use (example: host:/path): storage.example.com:/hosted_engine/nfs
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 对于 iSCSI,指定 iSCSI 门户 IP 地址、端口、用户名和密码,并从检测到的列表中选择一个目标名。在部署的过程中只能选择一个 iSCSI 目标:
Please specify the iSCSI portal IP address: Please specify the iSCSI portal port [3260]: Please specify the iSCSI portal user: Please specify the iSCSI portal password: Please specify the target name (auto-detected values) [default]:
Please specify the iSCSI portal IP address: Please specify the iSCSI portal port [3260]: Please specify the iSCSI portal user: Please specify the iSCSI portal password: Please specify the target name (auto-detected values) [default]:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 对于 Gluster 存储类型,使用 FQDN 或 IP 地址指定它的完整地址,以及共享存储域的路径名。
重要
当前只支持 replica 3 Gluster 存储。请确认已进行了以下配置:- 在所有 3 个 Gluster 服务器的
/etc/glusterfs/glusterd.vol
文件中,把rpc-auth-allow-insecure
设置为on
。option rpc-auth-allow-insecure on
option rpc-auth-allow-insecure on
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 对卷进行以下配置:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Please specify the full shared storage connection path to use (example: host:/path): storage.example.com:/hosted_engine/gluster_volume
Please specify the full shared storage connection path to use (example: host:/path): storage.example.com:/hosted_engine/gluster_volume
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 对于光纤通道设备,主机的总线适配器需要被配置和连接,
hosted-engine
脚本会自动检测到有效的 LUN。LUN 不能包括任何额外的数据。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
配置网络
这个脚本会检测可以被用来对环境进行管理的网卡(NIC),然后会检查防火墙的配置,并根据控制台(SPICE 或 VNC)访问 HostedEngine-VM 的需要来修改防火墙的配置。另外,提供一个可以被 ping 到的网络 IP 地址,ovirt-ha-agent
会使用它来决定 HostedEngine-VM 是否在正常运行。Please indicate a nic to set rhvm bridge on: (eth1, eth0) [eth1]: iptables was detected on your computer, do you wish setup to configure it? (Yes, No)[Yes]: Please indicate a pingable gateway IP address [X.X.X.X]:
Please indicate a nic to set rhvm bridge on: (eth1, eth0) [eth1]: iptables was detected on your computer, do you wish setup to configure it? (Yes, No)[Yes]: Please indicate a pingable gateway IP address [X.X.X.X]:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 配置虚拟机
这个脚本会创建一个被配置为 Red Hat Virtualization Manager 的虚拟机(称为 HostedEngine-VM)。选择作为引导设备类型,脚本会自动检测可用的 RHV-M Appliance。选择一个 appliance。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果使用 cloud-init 对 Manager 虚拟机进行初始设置,则选Yes
。选择 来使用 cloud-init 进行配置,如设置 root 密码、配置网络、配置主机名。或选择 来使用一个已存在的 cloud-init 脚本来处理相关的 cloud-init 功能。为 Manager 虚拟机设置 FQDN。这需要和 BareMetal-Manager 的 FQDN 相同。注意
如需了解更多与 cloud-init 相关的信息,请参阅 https://cloudinit.readthedocs.org/en/latest/。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于以下问题,回答No
,这样才可以在运行engine-setup
前在 HostedEngine-VM 上恢复 BareMetal-Manager 备份文件。Automatically execute engine-setup on the engine appliance on first boot (Yes, No)[Yes]? No
Automatically execute engine-setup on the engine appliance on first boot (Yes, No)[Yes]? No
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 配置 Manager 的域名、root 密码、网络、硬件和控制台访问详情。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 配置自承载引擎
指定在 Red Hat Virtualization 环境中标识 Host-HE1 的名称,以及访问管理门户所使用的admin@internal
用户的密码。最后,提供 SMTP 的名称和 TCP 端口号、发送事件通知的电子邮件地址、以及需要接收事件通知的用户的电子邮件地址列表(以逗号分隔)。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 配置预览
在实际进行配置前,hosted-engine
脚本会显示已输入的信息,并提示您确认这些信息。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 配置 HostedEngine-VM
这个脚本会创建虚拟机 HostedEngine-VM,并提供和它进行连接的信息。您需要在 HostedEngine-VM 上恢复备份文件后,手工运行engine-setup
,这样才能继续在 Host-HE1 上执行hosted-engine
脚本。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令使用 VNC 协议连接到虚拟机。使用自承载引擎主机的 FQDN 或 IP 地址替换其中的 FQDN。/bin/remote-viewer vnc://FQDN:5900
# /bin/remote-viewer vnc://FQDN:5900
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 HostedEngine-VM 上启用 SSH
默认情况下,SSH 密码验证不会在 RHV-M Virtual Appliance 中启动,您可以通过 VNC 连接到 HostedEngine-VM 并启用 SSH 密码验证功能,这样,就可以通过 SSH 访问虚拟机来恢复 BareMetal-Manager 备份文件并配置新的 Manager。确认sshd
服务已在运行。编辑/etc/ssh/sshd_config
,把以下两个选项设置为yes
:[...] PermitRootLogin yes [...] PasswordAuthentication yes
[...] PermitRootLogin yes [...] PasswordAuthentication yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重启sshd
服务来使所做的修改生效。systemctl restart sshd.service
# systemctl restart sshd.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 禁用 BareMetal-Manager
连接到 BareMetal-Manager(Red Hat Virtualization 环境中的 Manager),停止引擎并禁止它在系统引导时运行。systemctl stop ovirt-engine.service systemctl disable ovirt-engine.service
# systemctl stop ovirt-engine.service # systemctl disable ovirt-engine.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意
推荐停止运行 BareMetal-Manager,这可以确保在系统备份被创建后,不会再对虚拟环境进行改变。另外,它还可以防止 BareMetal-Manager 和 HostedEngine-VM 同时管理存在的资源。更新 DNS
更新您的 DNS,从而使 Red Hat Virtualization 环境的 FQDN 可以正确地解析 HostedEngine-VM 的 IP 地址,以及在 Host-HE1 上配置hosted-engine
部署脚本所提供的 FQDN。在这里,FQDN 被设置为 manager.example.com,因为所提供引擎的 FQDN 和新设置引擎的 FQDN 必须相同。为 BareMetal-Manager 创建一个备份
连接到 BareMetal-Manager,运行engine-backup
命令。使用--mode=backup
、--file=FILE
和--log=LogFILE
参数来分别指定备份的模式、备份文件的名称以及日志文件的名称。engine-backup --mode=backup --file=FILE --log=LogFILE
# engine-backup --mode=backup --file=FILE --log=LogFILE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 把备份文件复制到 HostedEngine-VM
登录到 BareMetal-Manager,把备份文件复制到 HostedEngine-VM 上。在以下的例子中,manager.example.com 是 HostedEngine-VM 的 FQDN,/backup/ 是备份文件要被复制到的目录或路径。如果这些目录和路径还没有存在,您需要登录到 HostedEngine-VM 上后创建它们。scp -p FILE LogFILE manager.example.com:/backup/
# scp -p FILE LogFILE manager.example.com:/backup/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 HostedEngine-VM 上恢复备份文件
使用engine-backup
工具程序恢复一个完整的备份。如果在执行engine-setup
的过程中手工配置了 BareMetal-Manager 数据库,则需要根据 第 6.2.3 节 “手工恢复自承载引擎 Manager” 中的内容手工恢复备份的环境。- 如果只恢复 Manager,运行以下命令:
engine-backup --mode=restore --file=file_name --log=log_file_name --provision-db --restore-permissions
# engine-backup --mode=restore --file=file_name --log=log_file_name --provision-db --restore-permissions
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 如果恢复 Manager 和 Data Warehouse,运行以下命令:
engine-backup --mode=restore --file=file_name --log=log_file_name --provision-db --provision-dwh-db --restore-permissions
# engine-backup --mode=restore --file=file_name --log=log_file_name --provision-db --provision-dwh-db --restore-permissions
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如果运行成功,以下输出会被显示:You should now run engine-setup. Done.
You should now run engine-setup. Done.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 配置 HostedEngine-VM
配置恢复的 Manager 虚拟机。这个过程会检测到存在的配置设置和数据库内容。确认这些设置。完成后,系统会提供一个 SSH 指纹(fingerprint)和一个内部的证书授权哈希数据(Certificate Authority hash)。engine-setup
# engine-setup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 把主机和 Manager 进行同步
返回到 Host-HE1,选择选项 1 来继续hosted-engine
脚本:(1) Continue setup - oVirt-Engine installation is ready and ovirt-engine service is up
(1) Continue setup - oVirt-Engine installation is ready and ovirt-engine service is up
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这个脚本会显示内部 CA 的内容,并提示您选择 Host-HE1 要加入的集群。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 关闭 HostedEngine-VM
关闭 HostedEngine-VM。shutdown -h now
# shutdown -h now
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 设置确认
返回到 Host-HE1,确认它检测到 HostedEngine-VM 已经被关闭。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
现在,Red Hat Virtualization 引擎已被迁移到一个自承载引擎环境中。Manager 现在运行于 Host-HE1 主机中的一个虚拟机(HostedEngine-VM)上。HostedEngine-VM 被设置为具有高可用性功能,它会在需要时被迁移到其它主机上。