kvm(libivrt)bridge和nat模式共存互通

需求說明:

  1. 爲了配合項目驗收,及驗保證收過程的流暢,現將原部署在一臺公網服務器的7kvm 虛擬機遷移至方便攜帶的線下(dell precision m6800/i7/32G/256SSD+2T)。

  2. 7kvm虛擬機中4臺是windows73臺是國產kylin,每臺都配有公網IP(目的是爲了遠程演示)。因爲項目代碼中IP被寫死,所以線下vm主機IP 必須使用原公網線上的IP地址;4 windows,和3kylin 位於不同的網段,示例:

wKioL1Yxt-XQswrYAAEhyTlO3yc572.jpg

3. 目前只有兩個網段,物理機windows7使用的是bridge模式,所以和工作工作站在一個網段,kylin使用的是nat模式,我創建了一個virbr0 網卡,讓kylin接入;

4. 當需要更多的網段時可以通過配置,來創建一個網絡;

實施步驟:

  1. 操作系統的安裝,kvmlibvirt的使用不在贅述,直接記錄遷移過程;

  2. 原鏡像的cp ,注意當cp 虛擬機的鏡像時,虛擬機一定要關機,否則鏡像無法使用(實際企業中,一般都採用的是較爲成熟的虛擬化產品,這些產品可以直接對虛擬機進行在線遷移,但是部署大多比較不方便,所以我使用最原始的方法-手動遷移這些虛擬機)

  3. 文檔側重點放在NAT上,主要是想NAT 主機能與Bridge 主機通信

wKiom1YxuICDYlN4AAJTWaOUcXU556.jpg

可以看到這些主機正在運行狀態:我們需要關掉它們然後cp鏡像

 

wKiom1YxuInjI6mjAAO9FRQ7nbI556.jpg

這些鏡像足足有109Gcp 1個小時終於ok

  1. Cp 虛擬機的xml 文件;

這個xml 文件決定虛擬機的配置,內存,cpu,網絡,都有這個文件來控制;一般位於/etc/libvirt/qemu/這個位置;(不同的系統位置可能不同)

  1. 定義一個NAT網絡;

配置文件所在的目錄:/etc/libvirt/qemu/networks/,默認存在default,我們cp一份在其基礎上修改:

cd /etc/libvirt/qemu/networks/
cp  default.xml  kylin.xml
vim kylin.xml
<network>
 <name>kylin</name>
 <bridge name="virbr0" />
 <forward/>
 <ip address="219.239.247.1"netmask="255.255.255.0">
    <static>
      <range start="219.239.247.2" end="219.239.247.254" />
    </static>
 </ip>
</network>

解釋:

需要爲virbr0 配置一個地址,NAT模式內主機需要將網關設置爲該IP;

可以定義ipdhcp還是static,默認是dhcp,我這樣它沒有報錯且能用,就當可以這樣改吧;

定義完成後保存退出wq

wKioL1YxuNvjTbNlAADq-MtL98w737.jpg

可以先查看一下已經存在的nat網絡,這個default 網絡是默認就存在的,我現在刪掉它啓用我自己的,(也可以不刪)。

virsh  net-undefinedefault (刪除default網絡命令)

wKiom1YxuLbjTIUZAAC9poQBBaQ632.jpg

現在再看已經沒有了

 

執行virsh net-define kylin.xml 發佈這個網絡;

wKioL1YxuPTg0LR_AADm7ITIFSU549.jpg

但是狀態是無效的,我們啓動它;

wKiom1YxuMWyriqHAAFkis9XS70252.jpg

可以看到已經啓動了;

還可以加入自動啓動免得每次開機都手動啓動

wKiom1YxuNDgtvV8AAGjATCwIDk405.jpg

Autostart 位置已經是yes 狀態了;   

通過brctl show 還可以看到br0 virbr0的信息;說明我們的bridgeNAT 網絡都準備好了;bridge 網絡的配置,只需要修改網卡配置文件,然後重啓即可;

NAT網絡定義到此爲止;

 

  1. 配置虛擬機xml文件(重點2);

  

    <interface type='network'>
     <mac address='52:54:00:62:5b:e6'/>
     <source network='kylin'/>
     <model type='virtio'/>
     <address type='pci' domain='0x0000' bus='0x00' slot='0x03'function='0x0'/>
  </interface>

虛擬機配置文件所在的目錄:/etc/libvirt/qemu

以上兩處是和bridge模式兩處不同的地方,注意source network 處應該寫網絡名,而不是像bridge 一樣寫網卡名;


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