kvm 系列 003-虚拟机的克隆
适用
适用于需要创建虚拟机的副本的情况。例如,如果您需要创建一个虚拟机的测试环境,或者需要将虚拟机部署到多个主机上,则可以使用KVM克隆。
因素
需要创建多个虚拟机副本
需要快速创建虚拟机副本
需要避免重复的安装和配置过程
步骤
问题描述
现在,我想在不同的 KVM 虚拟机上部署不同的服务。但是,我不想重复的安装虚拟机。我希望能够从一个虚拟机上复制出一个新的虚拟机,并且在新虚拟机上安装不同的服务。
解决方案
首先,使用 virsh 命令的 install 功能,先安装一台 KVM 虚拟机,并且配置好初始环境。然后使用 virsh 命令的 clone 功能克隆出新的虚拟机。
声明:
- 克隆虚拟机时,会复制虚拟机的配置文件和磁盘文件(包括虚拟机的名称、内存、CPU、磁盘、网络等。但是,克隆的虚拟机将有一个新的虚拟机ID,并且不会包含源虚拟机的数据)。
- 克隆虚拟机时,不会复制虚拟机的快照文件。
- 克隆虚拟机时,不会复制虚拟机的日志文件。
实施过程
先查看下物理机上有哪些 KVM 虚拟机:
1 | leazhi@debian:~$ virsh list --all |
现在,假设我要克隆 vm180-ubuntu22 为 vm181-ubuntu22,则如下操作:
1.先闭关运行的 vm180-ubuntu22 虚拟机:
1 | leazhi@debian:~$ virsh shutdown --domain vm180-ubuntu22 |
关闭完成后,再次使用命令 virsh list --all
查看虚拟机列表,发现 vm180-ubuntu22 已经是关机状态了:
1 | leazhi@debian:~$ virsh list --all |
2.执行克隆命令:
1 | leazhi@debian:~$ virt-clone -o vm180-ubuntu22 -n vm181-ubuntu22 -f /data/kvm/storage/vm181-ubuntu22 |
参数说明:
- -o:指定源虚拟机名称;
- -n:指定克隆虚拟机名称;
- -f:指定克隆虚拟机存储路径。
克隆完成,查看虚拟机列表·
1 | leazhi@debian:~$ virsh list --all |
3.启动克隆虚拟机:
1 | leazhi@debian:~$ virsh start vm181-ubuntu22 |
再次查看虚拟机列表,发现 vm181-ubuntu22 已经启动了:
1 | leazhi@debian:~$ virsh list --all |
4.虚拟机启动完成后,使用命令 virsh console vm181-ubuntu22
进行连接,连接到虚拟机中,进行操作(修改IP 地址和 Hostname)。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 生活日志!
评论