Windows 10 Openstack 鏡像制作
//****************************************************************************/
環境:Openstack鏡像制作
VMware Workstation Pro 10 下虛擬機,
操作系統,CentOS7.2版
驅動文件:virtio-win-0.1.141.iso
說明: //****************************************************************************/
一、環境准備
1、在VMware Workstation Pro 10上測試,采用CentOS7.0作為宿主機。要求有圖形界面。
2、VMware Workstation設置:
選擇這個選項后,安裝的速度會提高。
3、如果Virtual Machine Management環境不具備,安裝以下包
### 安裝kvm內核
# yum install -y qemu-kvm.x86_64 qemu-kvm-tools.x86_64
####安裝virt管理工具
# yum install libvirt.x86_64 libvirt-cim.x86_64
# yum install libvirt-client.x86_64 libvirt-java.noarch libvirt-python.x86_64
安裝圖形界面管理虛擬機(對於遠程的被管理主機,可以不安裝)
#yum install virt-manager
yum install guestfish libguestfs-tools
檢查服務狀態、啟動服務
# service libvirtd status
# service libvirtd start
二、制作鏡像
1、在系統工具中打開虛擬系統管理器
2、點擊該按鈕創建虛擬機
3、選擇本地安裝介質
4、選擇virtio-win-0.1.141.iso驅動文件作為ISO image
5、系統的類型和版本選擇win10
6、網絡連接就默認。
7、選擇虛擬機的配置,(這里的配置僅影響馬上要新建的虛擬機,之后做成鏡像上傳后新建雲虛擬機和他無關)一般2G內存 ,2個cpu夠用了
8、選擇存放虛擬機的地方。Virt-manager給的默認位置是/var/lib/libvirt/images下。
點擊“加號”創建新的存儲卷
9、創建虛擬機文件的名字和容器格式,(一定要選擇qcow2格式)空間20G,點擊完成
選擇剛創建的存儲卷,點擊“選擇卷”
10、自定義虛擬機的名字,勾選安裝前自定義配置,選擇網絡NAT
11、選擇增加硬件,選擇win10系統iso鏡像的路徑(注意之前一開始新建虛擬機用的iso鏡像是驅動鏡像)
12、設備類型選擇CDROW設備,總線類型選擇IDE
13、網卡(NIC)部分,網絡源NAT,設備型號選擇virtio,點擊應用
14、IDE磁盤,磁盤總線選擇VirtIO,存儲格式qcow2,點擊應用
15、調整引導選項優先級,把系統鏡像的cdrow調到最上面。點擊應用。
16、記得前面配置硬件的對每個硬件的操作完成都要點擊“應用”,檢查配置無誤后,點擊左上角“開始安裝”,開始裝虛擬機系統
17、進入安裝系統界面,一路點擊“下一步”
18、這里系統沒有發現磁盤,因為之前磁盤選的是virtio格式,而windows並不自帶虛擬磁盤驅動,所以前面所述的virtio-win-0.1.141.iso文件派上用場。點擊“加載驅動程序”
19、點擊“瀏覽”
20、選擇驅動安裝位置,CD驅動器 --> viostor --> W8.1 --> amd64 (64位系統對應的是amd64,32位系統對應x86)
21、安裝驅動 “Red HatVirtIO SCSI ...”(磁盤驅動)
22、發現驅動裝好,磁盤被正確識別。點擊“下一步”
23、系統開始安裝
24、設置用戶名、密碼等一系列系統信息
25、安裝完系統后,由於網卡驅動還沒裝,所以不能上網。右鍵計算機->屬性->進入設備管理器。選擇帶有黃色警告標示的網卡(圖中名為“以太網控制器”)。右鍵屬性,選擇“更新驅動程序”。
25、驅動成功安裝,看到虛擬機能聯網就大功告成,按照相同方法安裝剩余的兩個PCI驅動
26、驅動安裝完成,鏡像制作完成,關機進行鏡像文件的壓縮處理
三、鏡像處理
(文件所顯示的大小,與實際的占用空間不一致,實際占用小,但是拷貝到windows中占用空間為文件大小)
壓縮鏡像
用圖形界面的虛擬機管理器制作的Windows鏡像,文件大小即為新建虛擬機定義的磁盤大小,如果要c盤40G的話,生成的鏡像文件就是40G大小,需要壓縮后再上傳。40G大小壓縮后3G。
#virt-sparsify --compress --convert qcow2 /var/lib/libvirt/images/ Windows10.qcow2 /var/lib/libvirt/images/ Windows10.qcow2
(該命令包含在包里guestfish libguestfs-tools)
上面命令壓縮未成功,使用下面命令壓縮
qemu-img convert -c -O qcow2 /var/lib/libvirt/images/win10.qcow2 /var/lib/libvirt/images/Windows10.qcow2
附錄:
改變鏡像文件大小
1、qemu-img resize命令
這個命令需要注意數據的備份,下面是轉化的例子。
(該命令增加了D盤,並未將C盤增大)
# qemu-img resize Windows10. qcow2 +5GB
查詢調整情況
# qemu-img info Windows10. qcow2
2、virt-resize命令
(通過該命令實現 鏡像文件大小的調整,注意:針對根分區或c盤分區的擴大,解決不同C盤大小,多次安裝操作系統做鏡像的問題;)
查看分區情況(也許和你想的不一樣)
[root@localhost ~]# virt-filesystems --long -h --all -a /root/ Windows10-imange.qcow2
Name Type VFS Label MBR Size Parent
/dev/sda1 filesystem ntfs 系統保留 - 100M -
/dev/sda2 filesystem ntfs - - 20G -
/dev/sda1 partition - - 07 100M /dev/sda
/dev/sda2 partition - - 07 20G /dev/sda
/dev/sda device - - - 20G -
把qcow2格式的磁盤鏡像轉成raw
qemu-img convert -f qcow2 -O raw Windows10-imange.qcow2 Windows10-imange.raw
利用truncate創建一個新的文件,大小比centos2.raw大5G
truncate -r Windows10-imange.raw Windows10-imange30g.raw
truncate -s +5G Windows10-imange30g.raw
開始調整
virt-resize --expand /dev/sda2 Windows10-imange.raw Windows10-imange30g.raw
virt-resize --expand /dev/sda2 Windows10-imange.raw Windows10-imange30g.raw
調整完后轉回qcow2格式
qemu-img convert -f raw -O qcow2 Windows10-imange30g.raw Windows10-imange30g.qcow2
系統管理中c盤增大了,但資源管理器中c盤沒變。
登錄windows 10 系統;
Cmd:>chkdsk c:/f
轉換文件格式
---Convert disk image to disk image
#virt-v2v -i disk disk.img -o local -os /var/tmp