前言:
接上篇文章
云計(jì)算|OpenStack|社區(qū)版OpenStack(實(shí)務(wù)操作---cloud-init的使用)https://zskjohn.blog.csdn.net/article/details/128993374https://zskjohn.blog.csdn.net/article/details/128993374我們可以使用官方的鏡像,通過cloud-init快速的使用openstack,但這樣是有問題的,比如,以centos鏡像為例,某些時(shí)候可能需要高版本的內(nèi)核,或者其它的一些特殊定制,這個(gè)時(shí)候使用官方鏡像就不太合適了,因?yàn)楦膭?dòng)比較多,可能會(huì)存在使用失敗的風(fēng)險(xiǎn)(比如,某個(gè)項(xiàng)目需要特別定制的環(huán)境)雖然使用cloud-init可能會(huì)達(dá)成目標(biāo),但復(fù)雜程度可能會(huì)很高。因此,自制鏡像還是非常有必要的。
另外,官方并不提供Windows的鏡像(Linux的所有版本鏡像都是提供的),如果想在openstack中創(chuàng)建Windows系統(tǒng)的kvm虛擬機(jī),無疑,只有自制鏡像這一個(gè)方法了。
一,
自制openstack可以使用的Linux鏡像
網(wǎng)上有非常多得自制Linux版kvm鏡像的,沒什么好說的,Linux基本都是支持virtio驅(qū)動(dòng)的,在這里就不重復(fù)以往的內(nèi)容了
kvm環(huán)境搭建:https://zskjohn.blog.csdn.net/article/details/124658437
kvm安裝centos:https://zskjohn.blog.csdn.net/article/details/124656132
只是需要注意幾點(diǎn):1,kvm環(huán)境很重要,盡量使用高內(nèi)核版本那個(gè)kvm? 2,虛擬網(wǎng)卡br0也是很重要的 3,安裝包文件也就是ISO文件盡量從官網(wǎng)下載
4,虛擬機(jī)安裝完畢后,需要使用libguestfs工具包里的工具壓縮節(jié)約磁盤空間,方便虛擬機(jī)在其它系統(tǒng)內(nèi)運(yùn)行。
#######附:--os-variant參數(shù)如何設(shè)定?找對(duì)應(yīng)的,填寫short?ID,比如,要安裝的是winserver 2021,那就寫win2k12
[root@k8s-node2 opt]# osinfo-query os
Short ID | Name | Version | ID
----------------------+----------------------------------------------------+----------+-----------------------------------------
alpinelinux3.5 | Alpine Linux 3.5 | 3.5 | http://alpinelinux.org/alpinelinux/3.5
alpinelinux3.6 | Alpine Linux 3.6 | 3.6 | http://alpinelinux.org/alpinelinux/3.6
alpinelinux3.7 | Alpine Linux 3.7 | 3.7 | http://alpinelinux.org/alpinelinux/3.7
alpinelinux3.8 | Alpine Linux 3.8 | 3.8 | http://alpinelinux.org/alpinelinux/3.8
alt.p8 | ALT p8 StarterKits | p8 | http://altlinux.org/alt/p8.starterkits
alt.p9 | ALT p9 StarterKits | p9 | http://altlinux.org/alt/p9.starterkits
alt.sisyphus | ALT regular | sisyphus | http://altlinux.org/alt/sisyphus
alt8.0 | ALT 8 Education | 8.0 | http://altlinux.org/alt/8.0
alt8.1 | ALT 8.1 | 8.1 | http://altlinux.org/alt/8.1
####后面的略略略。。。。。。。。。。。。。。。。
win2k12 | Microsoft Windows Server 2012 | 6.3 | http://microsoft.com/win/2k12
win2k12r2 | Microsoft Windows Server 2012 R2 | 6.3 | http://microsoft.com/win/2k12r2
win2k16 | Microsoft Windows Server 2016 | 10.0 | http://microsoft.com/win/2k16
win2k19 | Microsoft Windows Server 2019 | 10.0 | http://microsoft.com/win/2k19
win2k3 | Microsoft Windows Server 2003 | 5.2 | http://microsoft.com/win/2k3
win2k3r2 | Microsoft Windows Server 2003 R2 | 5.2 | http://microsoft.com/win/2k3r2
####后面的略略略。。。。。。。。。。。。。。。。
二,
自制openstack可以使用的Windows鏡像
window鏡像比較麻煩,麻煩點(diǎn)在于一個(gè)是磁盤驅(qū)動(dòng)和網(wǎng)卡驅(qū)動(dòng)的選擇和安裝,另一個(gè)是系統(tǒng)的激活問題,比如,win7激活可能需要工具,如何上傳工具到虛擬機(jī)里?
Windows?xp?虛擬機(jī)的安裝:https://zskjohn.blog.csdn.net/article/details/126357233
Windows 7?旗艦版?虛擬機(jī)的安裝:kvm安裝Windows7旗艦版_晚風(fēng)_END的博客-CSDN博客_kvm windows
####注:操作系統(tǒng)的安裝ISO文件必須是純凈版的,而純凈版的操作系統(tǒng)是沒有virtio驅(qū)動(dòng)文件的,因此,可以下載其它云計(jì)算愛好者自制的集成了virtio驅(qū)動(dòng)的文件,例如virtio_cn_windows_7_professional_with_sp1_vl_build_x64_dvd_u_677816.iso這樣的文件,其內(nèi)自帶virtio驅(qū)動(dòng)
下面以cn_windows_server_2012_r2_vl_x64_dvd_2979220.iso為例,在安裝一遍(下載地址:MSDN, 我告訴你 - 做一個(gè)安靜的工具站):
1,kvm環(huán)境
[root@k8s-node2 opt]# virsh -c qemu:///system
Welcome to virsh, the virtualization interactive terminal.
Type: 'help' for help with commands
'quit' to quit
virsh # version
Compiled against library: libvirt 4.5.0
Using library: libvirt 4.5.0
Using API: QEMU 4.5.0
Running hypervisor: QEMU 1.5.3
2,
系統(tǒng)內(nèi)核
[root@k8s-node2 opt]# uname -a
Linux k8s-node2 5.4.228-1.el7.elrepo.x86_64 #1 SMP Thu Dec 15 18:03:40 EST 2022 x86_64 x86_64 x86_64 GNU/Linux
3,
網(wǎng)絡(luò)概況:
[root@k8s-node2 opt]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UNKNOWN qlen 1000
link/ether 00:0c:29:85:c7:73 brd ff:ff:ff:ff:ff:ff
inet6 fe80::20c:29ff:fe85:c773/64 scope link
valid_lft forever preferred_lft forever
3: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN qlen 1000
link/ipip 0.0.0.0 brd 0.0.0.0
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
link/ether 00:0c:29:85:c7:73 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.13/24 brd 192.168.0.255 scope global br0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe85:c773/64 scope link
valid_lft forever preferred_lft forever
5: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
link/ether 52:54:00:51:64:c3 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
6: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
link/ether 52:54:00:51:64:c3 brd ff:ff:ff:ff:ff:ff
8: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN
link/ether 02:42:15:7f:11:d9 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
4,
直接執(zhí)行安裝命令:
創(chuàng)建虛擬磁盤
[root@k8s-node2 opt]# qemu-img create -f qcow2 /opt/win2k12r2.qcow2 15G
Formatting '/opt/win2k12r2.qcow2', fmt=qcow2 size=16106127360 encryption=off cluster_size=65536 lazy_refcounts=off
執(zhí)行安裝(這里是掛載兩個(gè)光驅(qū),硬盤模式要指定為IDE,如果是virtio將不能認(rèn)到硬盤):
virt-install --name=win2k12r2 --ram 2048 --vcpus=2 --os-type=windows --os-variant win2k12r2 --disk path=/opt/win2k12r2.qcow2,bus=ide,size=15,format=qcow2 --accelerate --disk device=cdrom,path=/opt/cn_windows_server_2012_r2_vl_x64_dvd_2979220.iso --disk device=cdrom,path=/opt/virtio-win-0.1.102.iso --vnc --vncport=5955 --vnclisten=0.0.0.0 --network bridge=br0 --force --autostart --boot cdrom
驅(qū)動(dòng)等待進(jìn)入這個(gè)界面的時(shí)候在掛載:
接上面圖片,下一步:
選擇第四個(gè)數(shù)據(jù)中心安裝,如果選擇不帶gui的,安裝完成后將會(huì)是黑屏,只有一個(gè)cmd窗口:?
接受許可:?
?
因?yàn)槭荌DE,所以直接認(rèn)到了,下一步?
?
把E盤的網(wǎng)卡驅(qū)動(dòng)選擇了,隱藏那個(gè)√去掉:
等待安裝完成:
?此時(shí)登陸虛擬機(jī),可以看到網(wǎng)卡驅(qū)動(dòng)是virtio了(如果不是virtio,顯示的是e1000,那么,需要修改xml文件指定為virtio):
安裝完畢后,關(guān)閉虛擬機(jī),重新編輯xml配置文件,將兩個(gè)光驅(qū)卸載掉,再次重新啟動(dòng):
cp /etc/libvirt/qemu/win2k12r2.xml ./
刪除的內(nèi)容:?
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<source file='/opt/cn_windows_server_2012_r2_vl_x64_dvd_2979220.iso'/>
<target dev='hdb' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='0' target='0' unit='1'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<source file='/opt/virtio-win-0.1.102.iso'/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
</disk>
再次啟動(dòng)虛擬機(jī):
[root@k8s-node2 opt]# virsh create win2k12r2.xml
Domain win2k12r2 created from win2k12r2.xml
設(shè)置密碼,就可以使用了?
?最后一步,壓縮鏡像:(一般壓縮完了的話,可以小一半)
virt-sparsify --compress /opt/win2k12r2.qcow2 newwin2k12r2.img
當(dāng)然,此鏡像沒有安裝?cloudbase-init 服務(wù),但不影響在私有云上運(yùn)行
##########附:系統(tǒng)激活
可以有N種方式,不過秘鑰激活成功率比較低,KMS工具還是比較可靠
虛擬機(jī)安裝完畢后,開啟遠(yuǎn)程連接服務(wù),上傳KMS工具即可。
密鑰 Windows Server 2012 R2(ServerStandard)
安裝密鑰:
NB4WH-BBBYV-3MPPC-9RCMV-46XCB
產(chǎn)品密鑰:
MMPXK-NBJDQ-JPM34-WX3FM-G276W
?在openstack上運(yùn)行此鏡像,連接到控制臺(tái)后,查看網(wǎng)卡信息應(yīng)該如下:
?可以ping通外網(wǎng)(virtio的驅(qū)動(dòng)才可以正確聯(lián)網(wǎng),如果是其它的驅(qū)動(dòng)上網(wǎng)會(huì)非常困難):文章來源:http://www.zghlxwxcb.cn/news/detail-449859.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-449859.html
到了這里,關(guān)于云計(jì)算|OpenStack|社區(qū)版OpenStack安裝部署文檔(十三--- 自制鏡像---Linux和Windows鏡像)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!