直接用Windows的iso檔案建立例項是建立不出來的,需要先在kvm下建立qcow2格式的虛擬機器,然後用已經建立好的虛擬機器檔案當做OpenStack的映象來建立例項就好了。
首先第一點是需要有一臺Linux伺服器,我這裡選擇的是centos7,直接在VMware下用,沒錯,就是在虛擬機器下再套一層虛擬機器,如果你有Linux物理機,那再好不過了。
建立映象前的準備工作:
1、Windows10的iso檔案,可以在msdn.itellyou.cn上下載
2、centos虛擬機器或物理機
3、cloudbaseinitSetup.msi(用於打包映象)
4、vnc viewer
上述軟體在此全部不提供下載地址,請自行上網查詢
正式安裝:
一、VMware的設定:
1、開啟vnc連線設定(在虛擬機器的選項裡面):
2、記憶體分配儘可能的大(我這裡centos7是用的8G的,這樣就可以給虛擬機器內的虛擬機器多分一點了)
3、在處理器選項中勾選“虛擬化引擎”下面的選項,處理器分配4個核心
4、推薦多建立一個網路介面卡:一個橋接,一個NAT
二、製作帶驅動的Windows映象:
1、下載ultraISO,用ultraISO開啟下載好的映象
2、找到sources資料夾,將裡面的boot.wim複製出來
3、在D盤下建立mnt資料夾,作為boot.wim內容的掛載點
4、使用管理員身份開啟命令提示符
5、在centos中執行:yum -y install https://fedorapeople.org/groups/virt/virtio-win/repo/stable/virtio-win-0.1.96-1.noarch.rpm,去/usr/share/virtio-win/virtio-win-0.1.96.iso路徑下將驅動的iso檔案拷出來解壓
6、需要的驅動檔案:磁碟驅動:virtio-win-0.1.96\viostor\w10\amd64,網路卡驅動:virtio-win-0.1.96\NetKVM\w10\amd64
7、執行(都要執行):
dism /mount-wim /wimfile:D:\boot.wim /index:1 /mountdir:D:\mnt
dism /image:D:\mnt /add-driver /driver:D:\win\net\amd64\netkvm.inf
dism /image:D:\mnt /add-driver /driver:D:\win\disk\amd64\viostor.inf
dism /unmount-wim /mountdir:D:\mnt /commit
===================================================
dism /mount-wim /wimfile:D:\boot.wim /index:2 /mountdir:D:\mnt
dism /image:D:\mnt /add-driver /driver:D:\win\net\amd64\netkvm.inf
dism /image:D:\mnt /add-driver /driver:D:\win\disk\amd64\viostor.inf
dism /unmount-wim /mountdir:D:\mnt /commit
8、將boot.wim覆蓋到iso中的原來位置
9、將解壓後的驅動檔案拷貝到win10 iso檔案的support目錄下
10、將更改後的iso另存為新iso檔案(需要ultraISO的啟用版)
三、在centos7中安裝虛擬機器:
1、 安裝需要的軟體:
yum install -y qemu-kvm.x86_64 qemu-kvm-tools.x86_64
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
2、設定虛擬機器的網路
1、選擇虛擬機器中橋接的網路卡,執行命令:cp /etc/sysconfig/network-scripts/ifcfg-xxxx /etc/sysconfig/network-scripts/ifcfg-br0
2、更改原網路卡的配置:vi /etc/sysconfig/network-scripts/ifcfg-xxxx,將IPADDR、PREFIX、GATEWAY、DNS相關的註釋掉,增加BRIDGE=br0
3、更改橋接網路卡的配置:vi /etc/sysconfig/network-scripts/ifcfg-br0,將Type更改為TYPE=Bridge,將UUID註釋掉
4、重啟網路:systemctl restart network
3、可以使用圖形介面,也可以使用命令列(推薦使用圖形介面):
1、圖形介面安裝步驟
開啟虛擬系統管理器
建立新的虛擬機器
手動選擇作業系統
在合適的位置建立win10的卷,並設定合適的大小,20個G足夠了
建立win10的卷完成後選擇win10的映象檔案,進入下一步
分配虛擬機器佔用的資源
勾選安裝前自定義配置
進入配置頁面
更改引導選項,使用光碟引導啟動
磁碟匯流排選擇IDE
虛擬磁碟匯流排選擇VirtIO
虛擬網路指定前面設定的網橋的名稱
開啟vnc伺服器
注意:每更改一個配置都要點一下應用,最後檢查配置沒有問題的話就直接點上面的開始安裝就好了(我這裡是安裝好的,所以沒有開始安裝的按鈕了)
2、命令列安裝步驟:
1、建立虛擬磁碟:qemu-img create -f qcow2 win10.qcow2 20G
2、建立虛擬機器:virt-install
· --name=win10
--ram=4096
--vcpu=2
--os-type=windows
--os-variant=win10
--disk win10.qcow2,bus=virtio
--disk win10-kvm.iso,device=cdrom,bus=ide
--bridge=br0,model=virtio
--graphics vnc,listen=0.0.0.0
--noautoconsole
4、圖形介面安裝的不需要vnc viewer,可以直接在圖形介面裡看著安裝,因為boot.wim裡面已經成功新增了磁碟和網路的驅動了,所以就執行正常的安裝步驟就好了,如果你用命令列安裝的話就需要用vnc viewer安裝了,連線橋接的網路卡的ip即可,其餘也是正常的Windows的安裝步驟
5、安裝完成後要乾的事情:
1、打驅動,開啟裝置管理器中出現感嘆號的裝置新增驅動即可(去映象檔案的supports裡面找,win10會自動查詢到可以使用的驅動的)
2、給當前使用者設定密碼,便於遠端管理用
3、把防火牆關掉(如果不嫌麻煩的話,也可以設定防火牆規則)
4、允許遠端連線
5、使用遠端連線將下載的cloudbaseinitsetup.msi檔案上傳到虛擬機器中並安裝,安裝的結尾記得勾選最後兩個核取方塊
6、等待打包完成,完成後虛擬機器將被關閉
6、使用sftp工具將qcow2檔案拷貝出來,這就是所需要的win10映象
四、OpenStack建立win10例項
1、首先登入管理員賬戶將映象上傳到OpenStack中(因為映象很大,所以需要一定的時間)
2、按需建立Windows例項(建立映象時分配的資源不會影響到這裡的,這裡分配多少資源實際就是使用多少資源)
3、建立安全組,將3389(遠端埠)和ICMP(用於ping的埠)放開,其餘的根據業務需要選擇放通或關閉
4、這裡沒有安裝步驟,直接啟動即可
5、neutron會給例項分配一個內網的ip,將這個ip、mask和gateway作為靜態地址設定到Windows例項中,首選dns填閘道器地址
6、給當前例項分配浮動ip
7、用與浮動ip處於同一網段的計算機即可遠端連線管理
五、終於寫完了~~~