最近打算把公司的伺服器全部做成虛拟化,一是跟有效的利用了伺服器,二也是對自己是一個學習的機會。
kvm的安裝與配置步驟如下:
1、 檢視是否支援虛拟化
2、 安裝kvm及其所需的軟體包
3、 kvm圖形化管理工具
4、 檢測kvm子產品是否安裝成功
5、 檢測kvm是否安裝成功
6、 編輯網卡
7、 配置橋接網卡br0
8、 配置網卡eth0
9、 重新開機并檢視網卡,使之生效
10、 關閉防火牆
11、 建立iso鏡像檔案夾,使用nfs存儲
12、 建立虛拟機硬碟
13、 建立虛拟機
14、 使用vnc用戶端連接配接虛拟機,然後安裝os
因為沒有真實的伺服器來讓我做實驗,是以暫時隻能現在虛拟機vmware workation中進行實驗。在實驗開始之前,需要有兩個工作要做一是開啟伺服器本身的虛拟化支援,這個在bios中開啟,另外一個是vm中開啟。如下圖:

虛拟化開啟并安裝centos系統,建議centos安裝64bit。進入系統,首先檢視伺服器是否支援虛拟化,可以使用如下指令:
more /proc/cpuinfo |grep svm
more /proc/cpuinfo |grep vmx
通過上圖我們可以很明顯的看到,伺服器是支援虛拟化的。那麼接下來,我們開始安裝kvm。
現在我們來安裝kvm及其所需的軟體包,可以通過以下指令:
yum -y install qemu-kvm libvirt python-virtinst bridge-utils
通過上圖可以看到,安裝kvm依賴的軟體包太多了,是以安裝kvm時不建議使用源碼安裝。
如果你想通過圖形化方式來管理kvm的話,可以安裝如下軟體包:
以上安裝完畢後,我們檢測kvm子產品是否安裝,可以使用如下名:
lsmod |grep kvm
通過上圖,我們可以很明顯的看到kvm子產品已經安裝成功。
下面我們檢測下kvm是否安裝成功,我們可以使用以下指令
virsh -c qemu:///system list
注意在使用該指令之前,一定要重新開機下伺服器,否則會報錯的。如下圖:
重新開機伺服器
伺服器重新開機完畢後,在此使用virsh -c qemu:///system list指令進行檢測:
可以很明顯的看到,kvm目前已經安裝成功。
以上是kvm的安裝。下面我們開始來配置kvm并安裝一個虛拟機。
因為虛拟機中網絡,我們一般都是和公司的其他伺服器是同一個網段,是以我們需要把kvm伺服器的網卡配置成橋接模式。這樣的話kvm的虛拟機就可以通過該橋接網卡和公司内部分其他伺服器處于同一網段。
有關網卡的橋接模式,查找相關資料如下:
其實我們在虛拟機搭建的時候,我們最終關心的網卡是: eth0, br0, vnet0,vnet1…
其中eth0是我們伺服器原來的實體網卡,而br0是我們虛拟出來的網橋裝置,而vnetxxx就是橋接映射到虛拟機裡面用到的網卡。
當配置完畢之後,我們使用ifconfig指令檢視起來的話,會發現eth0是沒有ip位址,而br0仿佛是虛拟出來的一個原來eth0的通路接口,它具有ip位址,可以代替原來的eth0被通路。
而vnetxx的位址可以在建立虛拟機之後在虛拟機裡面配置,橋接後可以被外部通路。
注意:将已有的實體網卡添加到網橋,此時實體網卡eth0工作于混雜模式,是以不需要ip位址,因為網橋是工作在鍊路層的。br0就提供了ip位址,用來模拟原來的實體網卡的通路接口.
關于混雜模式:
根據以太網的原理,包是在整個子網裡面廣播發送的,當網卡發現這個資料幀不是發給自己的也不是廣播包的時候,就直接把它丢掉,而不傳送到上層核心去處理;
而當網卡處于混雜模式的時候,網卡就不會丢掉幀,而是全部向上送出到核心,讓核心處理這些幀結構。通常的,混雜模式使用來進行網絡調試的,不是正常的工作狀态。
配置橋接網卡,我們可以通過現在伺服器的網卡eth0來配置。把eth0網卡的配置檔案複制一份并指令為br0,可以通過如下指令進行。
編輯網卡:
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-br0
下面我們來配置橋接網卡br0,根據上述的資料顯示,我們知道該網卡時用來做橋接使用的。我們隻需要把裝置名,修改為br0,裝置類型設定為bridge橋接模式。如下圖:
vi /etc/sysconfig/network-scripts/ifcfg-br0
device=br0
type=bridge
onboot=yes
nm_controlled=yes
bootproto=static
ipaddr=192.168.1.240
netmask=255.255.255.0
gateway=192.168.1.1
配置完畢後橋接網卡br0後,我們現在來配置實體網卡eth0,如下圖:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
device=eth0
hwaddr=00:0c:29:98:f6:00
bridge=br0
重新開機并檢視網卡,使之生效。
/etc/init.d/network restart
ifconfig
通過上圖,我們可以看到網卡br0,已經正常啟動。
以上配置完畢後,我們現在開始使用kvm安裝虛拟機,但是在這之前我們還有幾個工作要做。
關閉防火牆:
/etc/init.d/iptables stop
chkconfig iptables off
建立iso鏡像檔案夾,使用nfs存儲。
mkdir /iso
mount -t nfs 192.168.1.11:/data/work/soft/iso /iso
<b>注意:在使用</b><b>nfs</b><b>時,一定要關閉</b><b>kvm</b><b>所在伺服器的</b><b>selinux</b><b>。否則在建立虛拟機是,會報錯。</b><b></b>
以上操作完畢後,我們使用如下指令建立虛拟機硬碟:
qemu-img create -f qcow2 /vhost/ilanni01.img 4g
使用如下指令建立虛拟機:
virt-install –name ilanni01 –boot network,cdrom,menu=on –ram 512 –vcpus=1 –os-type=linux –accelerate –c /iso/centos-6.5-x86_64-bin-dvd1.iso –disk path=/vhost/ilanni01.img,size=4,format=qcow2,bus=ide –bridge=br0 –vnc –vncport=5991 –vnclisten=0.0.0.0
其中 –name表示虛拟機的名稱
–boot表示虛拟機啟動的順序
–ram表示為虛拟機配置設定的記憶體
–vcpus表示為虛拟機配置設定的cpu個數
–os-type表示虛拟機的類型
–accelerate 表示kvm加速器
–disk 表示虛拟機的硬碟路徑
-c表示虛拟機使用的鏡像檔案
–bridge表示使用橋接網卡的名稱
–vncport表示遠端使用vnc連接配接虛拟機時使用的端口
以上也可以這樣進行寫:
virt-install -n ilanni01 –boot network,cdrom,menu=on -r 512 –vcpus=1 –os-type=linux –accelerate -c /iso/centos-6.5-x86_64-bin-dvd1.iso –disk path=/vhost/ilanni01.img,size=4,format=qcow2,bus=ide –bridge=br0 –vnc –vncport=5991 –vnclisten=0.0.0.0
以上所有的參數,我們都可以使用virt-install –help進行檢視。
使用vnc用戶端進行連接配接,然後安裝centos系統
vncview 192.168.1.240:5991
通過上圖,我們可以看到現在已經進入centos的安裝界面。
至此,我們的kvm的安裝結束。