实验四:KVM创建虚拟机镜像
KVM创建虚拟机镜像
在了解KVM虚拟化技术之后,下面开始掌握虚拟机镜像的整个制作过程。
实训要求:
1) 制作一个名为Cloud_Win7_64bit镜像,C盘大小为50G,配置用户CloudUser,密码为cloudpasswd。
2) 制作一个名为Cloud_Centos6.5_64bit镜像,采用Minimal Desktop方式,root根分区大小为9G,boot分区大小为200M,swap交换分区大小为823M,root用户的密码为cloudpasswd。新建登录用户CloudUser,密码为cloudpasswd)。
虚拟化配置
安装启动虚拟化工具
安装虚拟化工具软件包
|
# yum install virt-manager libvirt qemu-img virt-viewer kvm |
修改/etc/libvirt/qemu.conf
增加vnc_listen = "0.0.0.0"
|
# vi /etc/libvirt/qemu.conf vnc_listen = "0.0.0.0" |
重启libvirtd
|
# service libvirtd restart |
Virsh管理工具
我们采用Virsh工具来进行KVM虚拟机的管理。Virsh提供两种执行模式,直接模式和互动模式。
在直接模式里,你必须在Shell中以参数、自变量的方式来执行virsh。如图所示。

在互动模式中,则virsh会提供一个提示字符串,可以在该提示字符串后,输入要执行的命令。如果执行virsh没有指定任何参数或自变量则默认就是进入互动模式。

Virsh工具常用的管理命令
1) 查看服务列表
virsh list
功能:查看服务列表
格式:
|
# virsh help list NAME list - list domains DESCRIPTION Returns list of domains. OPTIONS --inactive list inactive domains --all list inactive & active domains --transient list transient domains --persistent list persistent domains --with-snapshot list domains with existing snapshot --without-snapshot list domains without a snapshot --state-running list domains in running state --state-paused list domains in paused state --state-shutoff list domains in shutoff state --state-other list domains in other states --autostart list domains with autostart enabled --no-autostart list domains with autostart disabled --with-managed-save list domains with managed save state --without-managed-save list domains without managed save --uuid list uuid's only --name list domain names only --table list table (default) --managed-save mark inactive domains with managed save state --title show short domain description |
2) 启动虚拟机
virsh start
功能: 启用一台虚拟机
格式:
|
# virsh help start NAME start - start a (previously defined) inactive domain DESCRIPTION Start a domain, either from the last managedsave state, or via a fresh boot if no managedsave state is present. OPTIONS [--domain] <string> name of the inactive domain --console attach to console after creation --paused leave the guest paused after creation --autodestroy automatically destroy the guest when virsh disconnects --bypass-cache avoid file system cache when loading --force-boot force fresh boot by discarding any managed save |
3) 关机虚拟机
virsh destroy
功能: 将虚拟机关机
格式:
|
# virsh help destroy NAME destroy - destroy (stop) a domain DESCRIPTION Forcefully stop a given domain, but leave its resources intact. OPTIONS [--domain] <string> domain name, id or uuid --graceful terminate gracefully |
4) 终止虚拟机
virsh undefine
功能: 删除虚拟机
格式:
|
# virsh help undefine NAME undefine - undefine a domain DESCRIPTION Undefine an inactive domain, or convert persistent to transient. OPTIONS [--domain] <string> domain name or uuid --managed-save remove domain managed state file [--storage] <string> remove associated storage volumes (comma separated list of targets or source paths) (see domblklist) --remove-all-storage remove all associated storage volumes (use with caution) --wipe-storage wipe data on the removed volumes --snapshots-metadata remove all domain snapshot metadata, if inactive |
制作Win7镜像
制作一个名为Cloud_Win7_64bit镜像,C盘大小为50G,配置用户CloudUser,密码为cloudpasswd。
操作步骤:
创建虚拟机
1) 首先要确保cn_windows_7_ultimate_x64_dvd_x15-66043.iso、virtio-win-0.1-52.iso、virtio-win-1.1.16.vfd文件在服务器中,这里将镜像文件放在/opt目录中。
创建虚拟机并联接
|
# cd /tmp # qemu-img create -f raw Cloud_Win7_64bit.img 50G # virt-install --name Cloud_Win7_64bit --ram 2048 --vcpus 2 --network network=default,model=virtio --disk=Cloud_Win7_64bit.img,format=raw,device=disk,bus=virtio --cdrom=/opt/cn_windows_7_ultimate_x64_dvd_x15-66043.iso --disk=/opt/virtio-win-0.1-52.iso --disk=/opt/virtio-win-1.1.16.vfd,device=floppy --graphics listen=0.0.0.0,port=5901 --video qxl --channel spicevmc --os-type windows --os-variant win7 --force |
打开VNC,输入相应的IP地址加上端口号并连接。

安装操作系统
选择相应的win7参数,开始安装。

选择要安装的驱动程序,这里选择Win7版本的驱动程序。

选择系统安装的磁盘

开始安装

创建用户CloudUser,密码为cloudpasswd

登陆系统,安装完成。

镜像格式转换
关闭虚拟机,开始转换镜像格式
|
# qemu-img convert -f raw -O qcow2 Cloud_Win7_64bit.img Cloud_Win7_64bit.qcow2 |
制作Centos6.5镜像
制作一个名为Cloud_Centos6.5_64bit镜像,采用Minimal Desktop方式,root根分区大小为9G,boot分区大小为200M,swap交换分区大小为823M,root用户的密码为cloudpasswd,新建登录用户CloudUser,密码为cloudpasswd。
操作步骤:
创建虚拟机
1) 首先要确保CentOS-6.5-x86_64-bin_DVD.iso镜像文件在服务器中,这里我们将该镜像文件放在/opt目录中。
|
# ll /opt/CentOS-6.5-x86_64-bin_DVD.iso |
切换到/tmp目录中,创建创建一个20G大小的镜像文件。
|
# cd /tmp # qemu-img create -f raw Cloud_Centos6.5_64bit.img 10G |
启动部署虚拟机
|
# virt-install --name Cloud_Centos6.5_64bit --ram 1024 --vcpus=1 --disk path=/tmp/Cloud_Centos6.5_64bit.img --network network:default,model=virtio --arch=x86_64 --os-type=linux --os-variant=rhel6 --graphics vnc,port=5910 --cdrom /opt/CentOS-6.5-x86_64-bin_DVD.iso --boot cdrom |

通过VNC Viewer连接到虚拟桌面,安装虚拟机
输入IP:端口号连接

安装操作系统
开始安装操作系统。

选择语言为英文

进行分区

格式化磁盘

安装Minimal Desktop桌面版

开始安装

重启之后,查看虚拟机状态,启动虚拟机,重新通过VNC Viewer连接到虚拟桌面
|
# virsh list --all # virsh start Cloud_Centos6.5_64bit # virsh list --all |

远程VNC连接

创建用户CloudUser,密码为cloudpasswd

登陆系统

打开终端,配置网络


重启网卡

清除历史记录,关闭虚拟机
|
# history –c # history –w # shutdown -h now |
安装配置完成

镜像格式转换
|
# qemu-img convert -f raw -O qcow2 Cloud_Centos6.5_64bit.img Cloud_Centos6.5_64bit.qcow2 |
镜像上传
通过GUI、CLI方式上传镜像到Openstack系统内部,同时镜像为共有形式。
(win7 镜像上传名称为 Cloud_Win7_x64;Centos镜像上传名称为Cloud_Centos6.5_x64)
通过GUI上传Cloud_Win7_x64.qcow2镜像


通过CLI上传Cloud_Centos6.5_64bit.qcow2镜像
|
# glance image-create --name Cloud_Centos6.5_64 --disk-format qcow2 --container-format bare --is-public true --progress < /tmp/Cloud_Centos6.5_64bit.qcow2 |


浙公网安备 33010602011771号