实验四:KVM创建虚拟机镜像


KVM创建虚拟机镜像

在了解KVM虚拟化技术之后,下面开始掌握虚拟机镜像的整个制作过程。

实训要求:

1) 制作一个名为Cloud_Win7_64bit镜像,C盘大小为50G,配置用户CloudUser,密码为cloudpasswd

2) 制作一个名为Cloud_Centos6.5_64bit镜像,采用Minimal Desktop方式,root根分区大小为9Gboot分区大小为200Mswap交换分区大小为823Mroot用户的密码为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.isovirtio-win-0.1-52.isovirtio-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根分区大小为9Gboot分区大小200Mswap交换分区大小823Mroot用户密码为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

镜像上传

通过GUICLI方式上传镜像到Openstack系统内部,同时镜像为共有形式。

win7 镜像上传名称为 Cloud_Win7_x64Centos镜像上传名称为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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM