centos7安裝kvm路線

這好像是。。。17年?或是16年寫的吧,那時語言還是蠻活潑的哈~~~反正是自己寫的,粘過來啦~~


1.首先要有一個centos7

2.然後要有kvm,以及kvm的相關依賴,可能再查這篇日誌的時候,安裝方式已經有了新變化。。。。

3.做成網橋

注意:

首先!!!無線網卡不能用到網橋裏,我特麼在這個坑裏繞了3天,妹的

其次!!!centos7裏給出有線usb網卡的驅動特麼是假的,lsmod裏面r8152是特麼忽悠人的!!!

最後!!!瑞麗官網給出驅動中對linux各版本的兼容性考慮在centos上就像是一坨掉地上的冰淇凌,
centos肯定對內核改了不少地方,有的內核變量沒有(vlan相關的),被我繞過去了
最後的後面!!!驅動編譯yum install kernel-devel(可能有偏差)一定要跟uname -r中的內核版本一個字母一個字母的核對。。。特麼的坑

啊,內核版本爲毛有這麼多後綴!!!!

好了,言歸正傳

對於網橋這個東西我其實是很服氣的
基本原理是有線網卡連接實體網絡,
然後在linux內配置一個網橋,這個網橋是虛的,本質上講,網橋其實是改變了網卡的轉發規則

這個網橋有mac,他的mac與實體有線網卡一致,
這個網橋有ip地址,也可以dhcp,但是都是實體有線網卡的,

然後實體有線網卡的mac地址是不變的,但是ip地址被剝奪了,改爲0.0.0.0(有點像郭德綱奪了曹雲金的雲,但是本質上講這個雲還在,但是從感覺上講,這個雲缺了雲字輩),實體網卡只剩下了曹金(mac),作爲鏈路層識別(畢竟曹金也湊合用)

然後當安裝虛擬機時,把虛擬機的網卡也加入到這個網橋,於是當實體網卡收到數據,就會不做處理,轉而給網橋處理,網橋根據數據的mac決定給誰(這段我沒查,但是大致應該不錯);

根據上述原理

brctl show可以查看當前系統中設有的網橋,及網橋中加入了的網卡(包括實體網卡和給虛擬機用的虛擬網卡)
brctl addbr virbr0 在沒有網橋的時候可以建一個
brctl addif virbr0 enp***** 可以將網卡(虛實)加入網橋
brctl delif virbr0 enp**** 加錯了可以刪除

brctl也是要安裝,有依賴關係的,都得裝上

4.進入安裝
virt-install --virt-type kvm --name kvm-demo(這是虛擬機名) --ram 512(內存大小) --cdrom=/home/centos0/CentOS-7-x86_64-Minimal-1708.iso(cdrom裏裝上實際iso) --boot cdrom(設從cdrom啓動(虛擬機)) --network bridge=virbr0(第三條裏面說了那一大陀,就爲了這一刻啊。。。內牛滿面) --graphics vnc,listen=0.0.0.0(配置用vnc來安裝,vnc可以在局域網中任何機器(比如win10的機器,畢竟我們前面搞這麼多網橋的東西,就是爲了這些便利,此處手動嘴角上揚)) --disk path=/home/centos0/kvm0.img,size=8(8G硬盤,以及硬盤位置) --noautoconsole(這個開了也沒用,沒有安裝完的虛擬機不能用console訪問,必須要在虛擬機的操作系統中設置好,纔可能) --os-type=linux

上述安裝完成後什麼美好的事情都不會發生,,,,我們依舊在黑暗中

5.讓美好發生

前面我們已經配置了網橋,kvm安裝時已經設置好vnc,所以我們現在需要一個vnc
在隨便什麼電腦上,裝一個vnc的viewer,注意,被控制的是安裝vnc的server,我們跟vnc的server無關,kvm已經做好了這方面的考慮

首先我們要找到kvm對vnc的設置
virsh dumpxml kvm-demo看到kvm-demo的xml文件中 
<graphics type='vnc' port='5900' autoport='yes' listen='0.0.0.0'>
      <listen type='address' address='0.0.0.0'/>
</graphics>
這段,可以看到是自動5900端口,允許有ip訪問

端口有了,但是linux的大firewall並不給面子
firewall-cmd --zone=public --add-port=5900/tcp --permanent    來打開5900的tcp端口,tcp是我蒙的,不過我很幸運
firewall-cmd --reload        重載生效
firewall-cmd --zone=public --remove-port=5910/tcp --permanent    咳咳,開錯了端口要關上。

至此!!!linux上的工作搞完了,彷彿媳婦已經洗好上牀了。。。我們要做什麼呢???

6.掀被子

對,爲啥叫掀被子呢,因爲後面的工作都靠鼠標完成,打開win上安裝的vnc,建一個連接,設置好要訪問的虛擬機(ip是網橋的ip,端口是vnc的端口,上文是5900),切到Export選項卡,把下面的ColorLevel 改成rgb222。

確定

美好的事情開始發生。




寫在開心了一頓飯的時間之後

好吧,原諒我的無知,美好的事情並沒有發生,似乎掀開被子發現。。。漏氣了?!
是的,在經過vnc美好的圖形安裝過程後,虛擬機有了系統,centos,不過一切並沒有結束
系統安裝時,virsh的xml->/etc/libvirt/qemu/虛擬機名.xml文件中
<boot dev='cdroom'/>使我們在系統安裝時,可以從centos的iso鏡像啓動,但是在系統安裝後,並不會智能的修改爲
<boot dev='hd'/>,使系統從硬盤啓動,於是我又要把他改掉(就像是用氣泵充氣一樣。。。(聯想到大哥剛買了個氣泵,手動壞笑))

但是這並不算完(塗點膠水),
由於虛擬機中安裝的是centos的最精簡版,
宿主機使虛擬機shutdown/reboot是通過acpi服務實現,centos精簡版並無此功能,因此需要虛擬機yum上acpi
宿主機對虛擬機的xml設置文件(/etc/libvirt/qemu/虛擬機名.xml)中要有:
<features>
    <acpi/>
    <apic/>
    <pae/>
</features>

至此,vnc終於可以順暢的訪問進入系統,
由於我是在家裏的路由器上搞得這些玩意兒,屈從於dhcp的淫威之下

ip addr看一下mac地址和ip地址,然後到路由器上,爲這個虛擬機把ip和mac靜態化(類似用舊了不光會漏氣,可能還要塗點油維護一下),這樣每次用ssh登陸的時候,就可以直接用ip了。

好吧,終於可以結束了。
have fun,
be careful!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章