LVM虚拟机管理
环境:RHEL6.4
一、virsh命令:
1、查看虚拟机列表
# virsh list
# virsh list --all
2、查看virsh版本
# virsh version
3、启动名称为rhel6pxe的GUEST主机
# virsh start rhel6pxe
4、强制关闭GUEST主机
# virsh destroy rhel6pxe
5、导出GUEST主机的XML配置文件
# virsh dumpxml rhel6pxe > ~/rhel6pxe.xml
6、取消GUEST主机的定义
# virsh undefine rhel6pxe //注:这里rhel6pxe是虚拟机的名字
7、使用已经存在的xml文件和磁盘文件定义GUEST主机
# virsh define ~/rhel6pxe.xml
8、设置GUEST主机在HOST主机启动时,也会自动启动
# virsh autostart rhel6pxe
二、使用LVM方式管理虚拟主机磁盘
1、创建LV
(1)# fdisk -cu /dev/sdb ->把system-id改为8e
(2)# pvcreate /dev/sdb1
(3)# vgcreate vg_kvm /dev/sdb1
(4)# lvcreate -n rhel6base -L 10G vg_kvm
2、创建GUEST主机时,磁盘选择创建的LV
3、设置模板虚拟机。把模板计算的个性化信息去除,如root密码、IP地址等。
(1)启动rhel6base虚拟机后,执行以下命令
# touch /.unconfigured
创建该文件之后,重新启动系统,会出现重新设置关于计算机初始化的信息。
4、生成lv快照
#lvcreate -s -n rhel6node1 -L 2G /dev/vg_kvm/rhel6base
5、导出原有虚拟机的配置文件
# virsh dumpxml rhel6base > rhel6node1.xml
6、生成一个uuid
[root@localhost ~]#uuidgen
9cb350bb-2add-461f-9e05-afc9799b3d9b
7、修改rhel6node1.xml
8、利用新的xml文件和LV快照定义新的克隆虚拟机
# virsh define rhel6node1.xml
9、当虚拟机用完,想要删除时,只要把虚拟机取消定义,并删除LV即可
# virsh undefined rhel6node1
# lvremove /dev/vg_kvm/rhel6node1
三、使用qcow2管理KVM虚拟机磁盘
1、创建qcow2磁盘文件
[root@localhost ~]#cd /var/lib/libvirt/p_w_picpaths/
[root@localhostp_w_picpaths]# qemu-img create -f qcow2 rhel6base.img 80G
2、查看虚拟磁盘文件信息
[root@localhostp_w_picpaths]# qemu-img info rhel6base.img
p_w_picpath: rhel6base.img
file format: qcow2
virtual size: 80G(85899345920 bytes)
disk size: 136K
cluster_size: 65536
3、安装虚拟机到该文件中,使用脚本命令
四、使用qcow2增量镜像实现克隆虚拟机功能
1、根据基础镜像创建增量镜像文件
#qemu-img create -b rhel6base.img -f qcow2 rhel6basenode1.img
[root@localhostp_w_picpaths]# qemu-img info rhel6basenode1.img
p_w_picpath:rhel6basenode1.img
file format: qcow2
virtual size: 80G(85899345920 bytes)
disk size: 136K
cluster_size: 65536
backing file:rhel6base.img
2、生成克隆虚拟机的XML文件
#virsh dumpxml rhel6base > rhel6basenode1.xml
# vim rhel6basenode1.xml #参见(二)中的修改方法
3、定义新的虚拟机
# virsh define rhel6basenode1.xml
附:LVM快照
1、 COW -> copy on write 写时复制
2、应用。如,数据库的库文件存在lv(名称为lv_db)上,大小为10G,如果在数据库仍然在运行的条件下,要备份某一个时间点的数据(如10:30),那么可以使用快照snapshot
# lvcreate -s -n lv_db-snap -L 1G /dev/vg_db/lv_db
# mount -o ro /dev/vg_db/lv_db-snap /mnt
从/mnt中把数据库备份走即可
3、快照只是临时应用,用完后移除即可
# lvremove /dev/vg_db/lv_db-snap