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 |