RedHat 7 KVM虚拟机在两台宿主机之间在线迁移

本文主要通过两台RedHat 7 KVM宿主机和NFS共享,将位于共享存储的虚拟机在两台宿主机之间进行在线迁移。

本文原始出处:江健龙的技术博客http://jiangjianlong.blog.51cto.com/3735273/1793913


环境介绍:

wKioL1dzP5nBZTyDAAAg7-I6d2M497.png


 配置过程:

1、在rh7-02上配置NFS服务,共享/share目录出来

wKiom1dwwInRNS2lAAAcQx8n3Fk720.png

2、在两台宿主机的存储池都添加该NFS共享目录,下面以rh7-02添加存储池为例,点击左下角的+号添加一个存储池

wKioL1dwwIrx-O9-AACdZHOyF3k415.png

3、输入存储池的名称为share,选择类型为netfs:Network Exported Directory

wKiom1dwwIqTViWUAAChjHbyPHo963.png

4、填写存储池的相关信息,其中Target Path路径必须两台宿主机都相同,格式必须选择nfs,然后输入NFS服务器的主机名,这里直接填写IP地址,Source Path是指NFS服务器提供的共享目录

wKioL1dwwIqQHeM4AAB-viq3hrg389.png

5、完成存储池的添加

wKiom1dwwIvzCXIiAACn66CSN-Q523.png

6、创建完存储池后,自动在Target Path路径创建了share子目录

wKioL1dwwIvj3j2HAAApIffg2qI095.png

7、创建完存储池后,自动挂载了NFS共享目录到Target Path

wKiom1dwwIvyD8b6AABuhaQOJ2U856.png

8、创建新的存储卷,点击new volume,输入存储卷的参数,如名称为TEST-VM.img、格式为qcow2、大小为8G的存储卷

wKioL1dwwIzBm4h_AADvgLQgJ_4277.png

9、完成存储卷的创建,该卷将可以作为虚拟机的硬盘使用

wKiom1eMTLXDhQxJAADQkYhZ6u0952.png

10、该存储卷创建好后权限很低,无法被虚拟机使用,需要改下权限,直接授予777权限

wKiom1dwwKbRal60AABDVR1jUo4860.png

11、创建虚拟机,名称为TEST-VM,选择Import existing disk image

wKioL1dwwI2DwB3MAAB_3uFjOKI396.png

12、导入我们上文创建的存储卷

wKioL1dwwI3jikScAABoeJGuLKc942.png

13、为虚拟机选择CPU、内存的配置

wKiom1dwwI2ilxeTAABTsr2GzZY123.png

14、完成虚拟机的创建

wKioL1dwwI2xkCC4AABzN55R78Y377.png

15、调整虚拟机硬件,添加新的硬件,选择存储下的IDE CDROM,用于加载镜像安装操作系统


wKiom1dwwKegybvyAAGWQwjXAsc398.png

16、在IDE CDROM1界面下,点击Connect,选择一个redhat 7的安装镜像进行连接

wKioL1dwwKezFdM3AAEoQPLUgDY443.png

17、在boot options界面下,勾选CDROM作为启动首选项,以便开机从光驱引导

wKiom1dwwKijukyJAAEIZHGBFto519.png

18、打开虚拟机电源,安装操作系统,安装完操作系统后,记得要把boot options的CDROM的勾去掉或者将CDROM的优先级降级,确保从Hard Disk引导

wKioL1dwwKiw2V9FAABEpjJuqTI822.png

wKiom1dwwKnDUMahAAGPLAuxH70111.png

19、另一台宿主机rh7-01的配置:与rh7-02一样,配置NFS存储池。

20、域名解析:在两台宿主机的/etc/hosts文件中,分别添加对方的IP和主机名进行hosts解析

21、在rh7-02的virtual machine manager中,连接192.168.10.40(即rh7-01),然后右击localhost下的TEST-VM,选择Migrate

wKioL1dwwKuyVEsBAABy_A3skqo224.png

22、在迁移对话框中,选择New host为192.168.10.40(即rh7-01),点击Migrate即可


wKioL1dwwLCShrJWAACtQCU56Iw948.png

wKioL1eMTIiDh9C0AAC9j7Dignw323.png

23、只需数秒便已将虚拟机TEST-VM在线迁移到另一台宿主机192.168.10.40(即rh7-01),而rh7-02上原来的TEST-VM已处于关机状态,通过在迁移前对虚拟机进行长ping,丢包情况为丢失0~1个包

wKioL1dwwLOhvvtIAABnmqlYxS0029.png

24、但是,如果反过来将虚拟机TEST-VM从192.168.10.40(即rh7-01)在线迁移回localhost(即rh7-02),却会丢失二三十个数据包,原因尚未查清楚。


<think>我们正在讨论的是RedHat系统中的虚拟机管理。根据用户的问题,他希望通过Web界面导出虚拟机配置文件。在RedHat系统中,常见的虚拟化平台是RedHatVirtualization(RHV)或者使用KVM配合管理工具如Cockpit。然而,用户提供的引用内容是关于Weblogic安装和WindowsServer2012搭建DNS服务器的,与当前问题不直接相关。因此,我们将忽略这些引用,专注于RedHat系统中通过Web界面导出虚拟机配置文件的方法。在RedHat生态中,有两种主要的Web管理界面:1.**Cockpit**:一个基于Web的服务器管理工具,可以管理KVM虚拟机。2.**RedHatVirtualizationManager(RHVManager)**:一个更高级的企业级虚拟化管理平台。由于用户没有指定具体使用哪个平台,我们将分别介绍这两种方式。###方法一:使用CockpitWeb控制台(适用于单机KVM)Cockpit是RedHat提供的一个轻量级Web管理界面,可以管理KVM虚拟机。####步骤:1.**安装并启用Cockpit**:如果尚未安装,在RedHat系统中执行:```bashsudodnfinstallcockpitcockpit-machines-ysudosystemctlenable--nowcockpit.socket```2.**访问Cockpit**:打开浏览器,访问`https://<your-server-ip-or-hostname>:9090`,使用系统管理员账号登录。3.**导航至虚拟机管理**:登录后,在左侧菜单中找到“虚拟机”选项并点击。4.**选择目标虚拟机**:在虚拟机列表中,找到需要导出配置的虚拟机,并点击其名称进入详情页面。5.**导出配置文件**:-**配置文件(XML)**:在虚拟机详情页面,点击右上角的“XML”按钮,将显示虚拟机的XML配置文件。复制内容并保存为文件(例如:`vm-name.xml`)。-**磁盘文件**:Cockpit的Web界面不直接提供磁盘文件下载,但可以手动从虚拟机存储位置下载磁盘文件(通常位于`/var/lib/libvirt/images/`)。如果需要导出磁盘文件,可以通过SCP或SFTP传输。>⚠️注意:Cockpit的Web界面仅提供XML配置文件的查看和复制,不提供直接下载按钮。因此需要手动复制并保存。###方法二:使用RedHatVirtualizationManager(RHV)如果用户使用的是RedHatVirtualization(RHV)企业级虚拟化平台,可以通过RHVManager的Web管理界面导出虚拟机。####步骤:1.**登录RHV管理门户**:访问RHVManager的Web地址(例如:`https://<rhv-manager-ip>/ovirt-engine`),使用管理员账号登录。2.**定位虚拟机**:在左侧导航栏中,点击“计算”→“虚拟机”,然后选择目标虚拟机。3.**导出虚拟机**:-确保目标虚拟机关机。-右键点击虚拟机,选择“导出”或点击顶部工具栏的“导出”按钮。-在导出对话框中,选择导出目标存储域(需要事先配置好导出存储域)和集群兼容性版本。-点击“确定”开始导出。4.**获取导出文件**:导出完成后,文件将保存在指定的存储域中。导出文件包括虚拟机的配置和磁盘文件(通常以OVA格式或磁盘映像格式存储)。然后,用户可以通过存储域的Web访问(如NFS、SMB等)或使用RHV的API下载这些文件。>⚠️注意:在RHV中,导出虚拟机需要配置导出存储域,并且该过程会将整个虚拟机(包括配置和磁盘)导出为特定格式。###总结:-**对于单机KVM(使用Cockpit)**:可以直接通过Web界面查看和复制虚拟机的XML配置文件,但磁盘文件需要手动从存储目录获取。-**对于RedHatVirtualization(RHV)**:通过管理门户导出整个虚拟机(包括配置和磁盘)到存储域,然后从存储域下载。###相关问题:1.如何在Cockpit中导入已导出的KVM虚拟机配置文件?2.在RedHatVirtualization中导出虚拟机时,如何配置导出存储域?3.如何通过命令行导出KVM虚拟机的配置文件?4.导出虚拟机配置文件后,如何在不同版本的RedHat虚拟化平台之间迁移?5.在Cockpit中无法启动虚拟机管理模块,应如何排查?</think>以下是在 Red Hat 系统中通过 Web 界面导出虚拟机配置文件的详细方法(基于 KVM 虚拟化平台): ### 🌐 使用 Cockpit Web 控制台导出虚拟机配置 Cockpit 是 Red Hat 官方提供的基于 Web 的服务器管理工具,支持 KVM 虚拟机管理。 1. **安装并启动 Cockpit** ```bash # 安装 Cockpit 及虚拟机管理模块 sudo dnf install cockpit cockpit-machines -y # 启用服务并开放防火墙 sudo systemctl enable --now cockpit.socket sudo firewall-cmd --add-service=cockpit --permanent sudo firewall-cmd --reload ``` 2. **访问 Web 控制台** - 浏览器访问 `https://<服务器IP>:9090` - 使用系统管理员账号登录 3. **定位虚拟机配置** - 左侧菜单选择 **Virtual Machines** - 在虚拟机列表中找到目标虚拟机 - 点击虚拟机名称进入详情页 4. **导出配置文件** ```markdown a. 在详情页顶部点击 `>_` (终端图标) b. 执行配置文件定位命令: ```bash # 查找虚拟机配置文件路径 virsh dumpxml <虚拟机名称> | grep "source file" ``` c. 返回的路径格式通常为: `/etc/libvirt/qemu/<虚拟机名称>.xml` `/var/lib/libvirt/images/<磁盘文件>.qcow2` d. 在新标签页访问文件管理器: `https://<服务器IP>:9090/files#/etc/libvirt/qemu/` e. 勾选 `<虚拟机名称>.xml` 文件 → 点击 **Download** ``` 5. **导出磁盘文件(可选)** - 在文件管理器导航到磁盘路径: `https://<服务器IP>:9090/files#/var/lib/libvirt/images/` - 勾选 `.qcow2` 或 `.raw` 磁盘文件 → 点击 **Download** > ⚠️ **重要注意事项** > 1. 导出前需**关闭虚拟机**避免文件损坏 > 2. XML 配置文件包含完整硬件定义(CPU/内存/网络等) > 3. 大磁盘文件建议通过 `scp` 命令传输(Web 界面适合 <10GB 文件) > 4. 配置文件路径可通过命令验证: > ```bash > virsh dumpxml vm01 > vm01_backup.xml # 命令行备份配置 > ``` ### 📜 配置文件关键内容说明 导出的 XML 配置文件包含: ```xml <domain type='kvm'> <name>vm01</name> <!-- 虚拟机名称 --> <memory unit='KiB'>4194304</memory> <!-- 内存配置 --> <vcpu>2</vcpu> <!-- CPU核心数 --> <devices> <disk type='file' device='disk'> <!-- 磁盘定义 --> <source file='/var/lib/libvirt/images/vm01.qcow2'/> </disk> <interface type='network'> <!-- 网络配置 --> <mac address='52:54:00:xx:xx:xx'/> </interface> </devices> </domain> ``` ### 🔧 导入配置文件到新主机 1. 将下载的 XML 文件上传到目标主机 2. 命令行注册虚拟机: ```bash virsh define /path/to/vm01.xml virsh start vm01 ``` ### 📚 替代方案:使用 WebVirtMgr(第三方工具) 若需要更完整的 Web 管理功能: 1. 安装 WebVirtMgr: ```bash # 安装依赖 sudo dnf install git python3-virtualenv nginx libvirt-python # 克隆仓库 git clone https://github.com/retspen/webvirtmgr.git ``` 2. 配置完成后通过 Web 界面直接导出配置(操作类似 VMware) --- **
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值