天天看點

Linux(Centos6.5)下kvm環境搭建小結

前言

關于kvm功能和作用不多贅述,技術部落格我覺得更應該強調部署過程,kvm環境部署個人認為最麻煩的地方應該是内網虛拟機的網卡橋接,後續安裝如果你是centos6左右的版本基本可以copy我後續的指令,是以我們應該更着重前面的部署工作。然後安裝相關軟體,安裝系統,再進行橋接。

搭建過程

1.關于遠端連接配接工具

由于centos是剛剛安裝好的,有很多東西不符合我們的操作習慣,這裡我用的遠端連接配接工具位mobaxterm,很友善,需要的人也可以自行下載下傳,有了這款連接配接插件,我們就可以不用安裝vnc的圖形工具也能通過終端打開圖形界面,是以相比xshell,我更支援大家使用mobaxterm。

Linux(Centos6.5)下kvm環境搭建小結

1.首先與主控端(即檢視是與外機互通)

最開始我的ping是一直處于這個界面的,我一直以為是橋接的問題,檢視網卡配置以及更換網卡重新開機無數次都沒用,最後用外機ping虛拟機可通,推斷是windows防火牆過濾的虛拟機的包,将外機防火牆關掉,即ping通,如下圖。之前紅帽都沒有這種問題,centos真是使用者體驗和設計我确實是有些好奇。

Linux(Centos6.5)下kvm環境搭建小結
Linux(Centos6.5)下kvm環境搭建小結

3.遠端連接配接虛拟機,進行各項檢查

這一步也很重要,也是我安裝過程中出現的問題,是以我提前放到這裡作為準備工作來說明,後面安裝kvm内部的作業系統會使得mobaxterm打開圖形界面,若centos沒有放行ssh配置檔案中的TcpForwarding,會使得mobaxterm打不開圖形界面,出現Can’t open display的錯誤。

解決辦法

vim /etc/ssh/sshd_config //編輯ssh檔案配置

将裡面的配置有一條AllowTcpForwarding yes的注釋去掉,如下圖,完成後重新開機一下

Linux(Centos6.5)下kvm環境搭建小結

開機後mobaxterm連接配接上虛拟機使用firefox實驗一下看看能不能打開圖形界面,若如下圖情況,則說明虛拟機配置沒有出現錯誤,可以開始後續的步驟。

Linux(Centos6.5)下kvm環境搭建小結

mobaxterm直接打開圖形界面

Linux(Centos6.5)下kvm環境搭建小結

4.設定虛拟機支援虛拟化

若不開啟無法完成關于kvm相關軟體的安裝

Linux(Centos6.5)下kvm環境搭建小結

5.使用yum指令安裝 KVM 所需元件,VM 使用橋接網絡,使用 yum 安裝方式(配置好yum源)

這裡提到了yum那我就說說我自己的yum(我使用yum來自鏡像iso檔案)的配置吧:

  • CD光牒連接配接 全部勾選
    Linux(Centos6.5)下kvm環境搭建小結
  • 挂載

cd /mnt //進入該檔案夾建立一個子檔案夾,為後續挂載CD光牒使用

mkdir cdrom

CD光牒預設位置在 /dev/sr0 将其挂載到剛剛創好的cdrom檔案夾裡面

mount -t iso9660 /dev/sr0 /mnt/cdrom/

  • 配置yum

cd /etc/yum.repos.d/ //進入配置yum的目錄

vim wlgc.repo //建立一個yum檔案配置,注意檔案字尾為repo

内容

[wlgc]

name=wlgc

baseurl=file:///mnt/cdrom //這個就是剛剛挂載的位置,注意"/"是三個

gpgcheck=0

enable=1

特别注意,上述步驟完成後可能會出現yum install不成功的情況,原因是centos其他repo幹擾把那些repo删除即可,如下圖

Linux(Centos6.5)下kvm環境搭建小結
  • 安裝 KVM 所需元件(可直接複制使用)
yum install -y kvm virt-* libvirts bridge-utils qemu-img
  • 加載 kvm 子產品,檢視 kvm 子產品是否被加載

modprobe kvm-intel

lsmod | grep kvm

kvm_intel 54285 0

kvm 333172 1 kvm_intel 成功加載!

5.配置網卡橋接(最麻煩也是最需要認真的一步)

service network stop //将network否則後續步驟難以成功

service NetworkManager stop //原因同上,且必須關閉

cd /etc/sysconfig/network-scripts/ //進入網絡配置目錄

cp ifcfg-eth0 ifcfg-br0 //這裡直接複制eth0拿來修改當作橋接網卡配置

關于ifcfg-eth0的配置,沒多修改就将ONBOOT=yes讓網絡開機自啟和添加一條BRIDGE=br0

vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=d1bd0e6d-fa65-471f-9489-af7b64c8470b
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=00:0C:29:A9:87:E9
IPADDR=192.168.56.2
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
BRIDGE=br0    //

           

關于ifcfg-br0的配置

vim /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
ONBOOT=yes
TYPE=Bridge
BOOTPROTO=static
IPADDR=192.168.56.2
NETMASK=255.255.255.0
DELAY=0
           
  • 完成上述配置後手動重新開機

ifup br0

ifup eth0

使用brctl show檢視橋接情況,若如下圖則成功

Linux(Centos6.5)下kvm環境搭建小結

檢視ifconfig情況,如下圖,因為 eth0 網卡因為與 br0 網卡進行橋接,是以 eth0 不顯示 ip 是正常的

Linux(Centos6.5)下kvm環境搭建小結
  • 修改 VNC 配置

vim /etc/libvirt/qemu.conf

#vnc_listen = “0.0.0.0” //把配置中這條配置的注釋去掉

  • 重新開機 libvirtd 和 messagebus 服務

service libvirtd restart

service messagebus restart

上述步驟完成後,就算完成一大步了,後續就是漫長的安裝就好了

6.kvm中安裝系統

mkdir /abc //建立鏡像存放目錄

mkdir -p /data/kvm //建立虛拟磁盤存放目錄

dd if=/dev/cdrom of=/abc/Centos6.iso //把 Centos6.5 系

統的鏡像檔案拷貝到 abc 目錄下

下面會有漫長的等待,結束後會顯示如下圖

8726528+0 records in

8726528+0 records out

4467982336 bytes (4.5 GB) copied, 157.25 s, 28.4 MB/s

cd /data/kvm/ //進入虛拟磁盤目錄建立 img

會出現如下提示則是成功

qemu-img create -f qcow2 -o preallocation=metadata

kvm_aa.img 5G

Formatting ‘kvm_aa.img’, fmt=qcow2 size=5368709120

encryption=off cluster_size=65536 preallocation=‘metadata’

ls //檢視是否搭建好了

kvm_aa.img

  • 安裝系統
  • 這裡有個特别注意的地方,如果你的kvm需要圖新界面則ram必須調大些,建議1024

    virt-install --name=kvm_aa --ram 512 --vcpus=1 -f

    /data/kvm/kvm_aa.img --cdrom=/abc/Centos6.iso --graphics

    vnc,listen=0.0.0.0,port=7788 --force --autostart

出現如下提示後不久會mobaxterm會打開圖形界面,這時候就開始漫長的系統安裝了

Starting install…

Creating domain…

Linux(Centos6.5)下kvm環境搭建小結

6.kvm虛拟機與外部centos虛拟機橋接

virsh list --all //檢視kvm虛拟機狀态

這裡我已經開啟狀态的,若沒開啟可以使用指令

virsh start kvm_aa

開啟狀态後的樣子

Id Name State

kvm_aa                       running
           
  • 使用指令 virt-manager檢視遠端工具是否可以打開虛拟管理界面,出現如下圖的情況,則成功
Linux(Centos6.5)下kvm環境搭建小結
  • 打開kvm内部的虛拟機檢視ip 發現是192.168.122.0/24網段,結果排查發現kvm的網卡vnet0是使用nat的方式連接配接在virbr0上,雖然可與外部虛拟機互通,但這并不是我們最終需要的樣子,是以,改配置!!!
    Linux(Centos6.5)下kvm環境搭建小結

cd /etc/libvirt/qemu

vim kvm_aa.xml //配置對應kvm虛拟機的xml檔案

将配置改為圖中所示并且重新開機kvm虛拟機即可

Linux(Centos6.5)下kvm環境搭建小結

7.收尾測試

上述步驟完成後基本是大功告成了,隻需手動配置與外部虛拟機一緻的網段重新開機一下network即可開始ping測試,若能通,能kvm環境搭建正式完成,如下圖

Linux(Centos6.5)下kvm環境搭建小結

最後使用遠端終端臉上centos再用ssh指令連接配接上kvm虛拟機裡的centos,如下圖,就可以管理虛拟機裡的虛拟機了

ssh指令使用方法 ssh 使用者名@要連接配接的ip

Linux(Centos6.5)下kvm環境搭建小結

總結

總體來說,配置大部分都是在前期部署上和橋接配置上需要精工細活,尤其是防火牆的檢查,橋接網卡的結果判斷,以及networkmanager切記一定要關閉,還有網卡配置完成後一定要用ifup手動開啟,而不是restart開啟,這些部署完成之後,就可以安裝在kvm中安裝系統了。

最後,也隻需修改對應kvm虛拟機系統的xml檔案即可完成橋接,是以我認為這次環境搭建大家應該更着重前面的各項系統檢查,如遠端終端工具是否可以打開圖形界面,虛拟機與主機ping測試是否可通等情況都确定,做個快照,再開始安裝。

小結

如果覺得文章不錯的話,可以請筆者喝杯咖啡

Linux(Centos6.5)下kvm環境搭建小結
Linux(Centos6.5)下kvm環境搭建小結