KVM克隆虚拟机

KVM上克隆虚拟机,详细描述了整个流程1)

常规方式安装好虚拟机,特别注意:

  • 依据HOST自身磁盘容量来决定虚拟机磁盘的大小,这决定了后面是否需要在克隆模板后扩展虚拟机磁盘容量;
  • virsh console的支持2)
  • 常用软件;
  • 预分配hostname,ip,路由条目等非常general的设置;

virtmanager略.

#template是源虚拟机名;
#-n新虚拟机名;
#-f指定新虚拟机硬盘文件,建议1个虚拟机一个单独目录放置
virt-clone --original template -n new_vm -f /data/kvm/$hostname/$hostname.img

这个章节单独出来,因为好多地方都会涉及到.

3.1 virtmanager

virtmanager的话就非常简单了,直接图形化操作,略.

3.2 vnc登录虚拟机

#HOST上查找guest对应的vnc端口
virsh dumpxml guest |grep vnc

假如HOST IP是192.168.1.10,guest对应端口是5900,然后用vnc客户端通过 192168.1.10:5900 登录虚拟机3)

3.3 virsh console登录虚拟机

这个需要在虚拟机内配置,以支持在HOST上通过“virsh console”来登录虚拟机.
关于具体如何配置,参考下面的wiki:

#退出console:  ctrl+]
virsh console guest

如果模板机的磁盘容量够了,就略过吧.

4.1 方式1-扩大原有磁盘

4.1.1 qemu-img扩大磁盘

#扩大40G
qemu-img resize $hostname.img +40G
#指定磁盘为40G
qemu-img resize $hostname.img 40G

4.1.2 登录虚拟机操作

登入linux系统,做如下操作4)

4.1.2.1 fdisk重新分区

#开启虚拟机,扩展磁盘分区:
fdisk /dev/vda          #fdisk操作vda盘
p     #查看分区情况,记下要改变大小的分区的起始柱面号,这里应该是vda3,起始柱面4367
d     #删除
3     #主分区3
n     #新建
p     #主分区
3     #区号3
4367  #起始柱面
回车  #结束柱面,默认最后一个,就是使用剩下所有空间
t     #根据情况修改分区类型,比如8e位lvm分区
w     #所有操作写入磁盘

4.1.2.2 reboot并扩展文件系统

针对lvm的额外操作:

pvresize /dev/vda3     #扩展lvm物理卷
lvresize -l +100%FREE /dev/vg_sys/lv_root  #扩展lvm虚拟卷
lvs                    #查看lv容量是否更新

扩大文件系统:

#如果是xfs
xfs_growfs /dev/vg_01/lv_01
#如果是ext4等
resize2fs /dev/vg_sys/lv_root
df -h  #查看是否扩展成功

windows:直接在磁盘管理界面,扩展磁盘空间即可。


4.2 方式2-挂载新磁盘

virtmanager图形化操作略.

虚拟机新增硬盘操作

挂载成功后,mkfs.xfs /dev/vdx, mount …..


  • 修改hostname;
  • 修改IP;
    • centos 6.x需要删除/etc/udev/rules.d/70-persistent-net.rules
  • 配置网卡
  • 重启

1)
KVM上不知道有没有专门的模板格式,而不是virt-clone
2)
在HOST字符界面进入虚拟机console,virtmanager图形化可以无视.
3)
vnc端口在HOST要监听0.0.0.0:5900才能在本地管理机上连接,否则只能在图形化的HOST上连接
4)
虚拟机的磁盘建议全部为主分区,扩展分区会增加难度!!
  • virtualization/kvm/kvm克隆虚拟机.txt
  • 最后更改: 2019/04/16 18:31
  • (外部编辑)