centos安裝xen虛擬機而且配置bridge

主要參考的幾個官方文檔:node

http://wiki.centos.org/HowTos/Xen/Xen4QuickStart 在centos上安裝xen組件並創建dom0python

http://wiki.centos.org/zh/HowTos/Xen/Xen4QuickStart/Xen4Libvirt 安裝libvirt相關組件linux

http://wiki.xen.org/wiki/DomU_Install_with_Virt-Manager 使用virt-manager建立domUvim

http://wiki.xenproject.org/wiki/Host_Configuration/Networking#Red_Hat-style_bridge_configuration_.28e.g._RHEL.2C_Fedora.2C_CentOS.29 在centos上創建bridgecentos

http://wiki.xenproject.org/wiki/Xen_Networking#Paravirtualised_Network_Devices 將虛擬機的虛擬網卡掛到網橋上網絡

 

環境:app

Centos6.4社區版dom

Xen4.2ssh

機器配置:8G RAM,500G硬盤,4核cpuui

預備工做:配置好yum源,官方的最好,但國內訪問速度通常很慢,這裏使用163的yum源

1 使用yum安裝xen組件並創建dom0

1啓用xen在yum源裏的軟件庫

yum install centos-release-xen

2成功後,安裝xen

yum install xen

3 Xen 監督器是在 linux 內核之上運行,因此咱們必須告訴 grub 先引導監督器,而後鏈式引導 dom0 的 linux 內核。要達至這個目的,centos-release-xen 的組件內已包含一個腳本,讓咱們執行它:

/usr/bin/grub-bootxen.sh

4 查看/boot/grub/grub.conf,包含以下相似內容

title CentOS (3.10.23-11.el6.centos.alt.x86_64)

        root (hd0,4)

        kernel /boot/xen.gz dom0_mem=4096M,max:4096M loglvl=all guest_loglvl=all

        module /boot/vmlinuz-3.10.23-11.el6.centos.alt.x86_64 ro root=UUID=2a7805e6-c24c-448c-a807-7def4ae408b3 rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=128M LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet

        module /boot/initramfs-3.10.23-11.el6.centos.alt.x86_64.img

title CentOS (2.6.32-358.el6.x86_64)

        root (hd0,4)

則表示xen已經裝好,dom0成功創建,修改dom0_mem=4096M,max:4096M,能夠更改dom0的內存

5 從新開機,檢查運做的內核版本是不是上述文件中包含xen的版本

uname -r

(上面的配置文件的相應正確輸出是:3.10.23-11.el6.centos.alt.x86_64

xm info

檢查xen是否在運做中。

2 安裝libvirt組件

1  Libvirt 及 Xen 的基礎:Xen 的主機操做系統稱爲 Dom0。經過 Xen 來執行的虛擬操做系統(VM)稱爲 DomU。

在缺省狀況下,libvirt 會在缺省網絡卡(通常是 eth0)背後建立一個 192.168.122.0/24 的 NAT 網絡。

在這個 NAT 網絡上運行的 DomU VM 能夠互相鏈接及經過 Dom0 的網絡向外鏈接,但你只能在 Dom0 上經過 libvirt(或 xen)鏈接到它們。你能夠把缺省的 NAT 網絡改成一個橋接式網絡,這樣你便能鏈接到 DomU VM,仿如它們與 Dom0 在同一個實體網絡上。

2 安裝幾個可能用到的組件

yum install rsync wget vim-enhanced openssh-clients

3 安裝libvirt(在dom0機器上)

yum install libvirt python-virtinst libvirt-daemon-xen

3 使用virt-manager建立domU

1 安裝virt-manager

yum install virt-manager

2 準備磁盤(這裏使用lvm來進行管理,因爲第一次接觸linux分區,在這裏卡了很久)須要分出一個邏輯分區來給新建的domU使用。

3 [root@f13 ~]# vgdisplay
  --- Volume group ---
  VG Name               vg_f13
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               463.75 GiB
  PE Size               32.00 MiB
  Total PE              14840
  Alloc PE / Size       2944 / 92.00 GiB
  Free  PE / Size       11896 / 371.75 GiB
  VG UUID               5dsak7-VN89-zMFT-9ZiU-XGhY-s5is-u1vCUw

Free PE那是可供分配的lv,若是是0,表示lv已所有被分配,這時候你須要從新配置下lv,從別的邏輯分區挪過來一些磁盤,我就是屬於這種狀況

執行 df查看分區狀況:

文件系統                  1K-塊      已用      可用 已用% 掛載點

/dev/sda5             10189112   3929464   5719028  41% /

tmpfs                  1954124        72   1954052   1% /dev/shm

/dev/sda2             20511356     46208  19400188   1% /home

/dev/mapper/vg_node004-LogVol02

                     206293688   5603432 190188112   3% /opt

/dev/mapper/vg_node004-LogVol00

                      20511356    138992  19307404   1% /tmp

/dev/mapper/vg_node004-LogVol01

                     103081248    323700  97498284   1% /var

xenstore               1954124        72   1954052   1% /var/lib/xenstored

/dev/mapper/*的屬於lvm分區,這裏能夠看到vg_node004-LogVol02被/opt掛載,佔用很大磁盤空間,考慮從那兒分出100G。執行步驟以下(按步驟來,不然會致使文件系統出錯)

l  先執行lvscan,查看lvm的大小

ACTIVE            '/dev/vg_node004/LogVol01' [100.00 GiB] inherit

  ACTIVE            '/dev/vg_node004/LogVol00' [20.00 GiB] inherit

  ACTIVE            '/dev/vg_node004/LogVol02' [200.00 GiB] inherit

  ACTIVE            '/dev/vg_node004/LogVol03' [50.00 GiB] inherit

  •  卸載/opt目錄:umount /opt
  •  檢查文件系統:fsck –f /dev/vg_node004/LogVol02
  •  調整LV大小並重建文件系統: resize2fs  /dev/vg_node004/LogVol02  100G(這裏的數值100必須爲整數,不然會報無效數值的錯)
  •  減少lv容量:lvreduce -L -100G  /dev/vg_node004/LogVol02(這裏的100能夠爲小數,注意要計算的,也就是原來的lv大小減掉這裏的100要等於resize2fs設置的大小)
  •  從新掛載opt目錄:mount /opt
  •  新建一個LV:lvcreate -L 50G -n LogVol04 vg_node004(LogVol04是lv名,vg_node004是lv組)
  •  重啓,完成分區建立

3 啓動virt-manager開始安裝,ssh鏈接dom0,輸入

#virt-manager

 

4 點擊新建,輸入虛擬機名,選擇安裝源類型

  

5 選擇虛擬機內容和使用cpu個數

 

6 選擇虛擬機存儲,手動輸入存儲位置

 

7 其餘暫時不設置,完成,進入到系統安裝

 

8 進入到系統安裝界面就是普通的linux安裝了,這裏再也不贅述。

 

9 裝好系統後回到dom0的ssh界面,輸入xm list能夠看到全部運行的虛擬機

 

4 配置network bridge(適用於redhat系列的)

xen虛擬機bridge模式的結構圖

 

1 如今host上手動創建bridge device

Disable Netfilter on Bridges:編輯/etc/sysctl.conf 加入下面幾行

net.bridge.bridge-nf-call-ip6tables = 0

net.bridge.bridge-nf-call-iptables = 0

net.bridge.bridge-nf-call-arptables = 0

而後用root權限運行:

# sysctl -p /etc/sysctl.conf

官方文檔說NetworkManager不支持bridge(版本爲fedora12時),因此先禁用NetworkManager,也能夠在網卡的配置文件後面加上NM_CONTROLLED=no

禁用NetworkManager:

# chkconfig NetworkManager off

# chkconfig network on

# service NetworkManager stop

# service network start

新建一個/etc/sysconfig/network-scripts/ifcfg-xenbr0 的配置文件,根據不一樣的需求有好幾種建法:

經過dhcp得到ip的網橋

DEVICE=xenbr0

TYPE=Bridge

BOOTPROTO=dhcp

ONBOOT=yes

DELAY=0

NM_CONTROLLED=no

固定ip的網橋

DEVICE=xenbr0

TYPE=Bridge

BOOTPROTO=static

BROADCAST=192.168.1.255

IPADDR=192.168.1.2

NETMASK=255.255.255.0

ONBOOT=yes

DELAY=0

NM_CONTROLLED=no

沒有分配ip的網橋

DEVICE=xenbr0

TYPE=Bridge

BOOTPROTO=none

ONBOOT=yes

DELAY=0

NM_CONTROLLED=no

建好網橋後將物理網卡eth0綁定到網橋,修改/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

HWADDR=00:16:76:D6:C9:45

ONBOOT=yes

BRIDGE=xenbr0

NM_CONTROLLED=no

最後執行

# service network restart

Host的bridge device配置完成,查看bridge device

# brctl show

 

能夠看到兩個設備,virbr0是libvirt建立的,不用管,同時能夠看到eth0已經綁定到xenbr了。

修改xen的部分配置文件,將domU的虛擬網卡綁定到新建的xenbr0,修改/etc/xen/xend-config.sxp,修改下面圖片的未註釋那幾句,指定bridge爲咱們在host上新建的bridge

 

新建/etc/xen/xl.cfg文件

寫入vif=[ 'bridge=xenbr0','bridge=xenbr0' ] 爲domU虛擬網卡指定bridge

重啓dom0,再打開各個domU,此時domU的eth0網卡已是至關於獨立設備。

輸入brctl show能夠看到domU的虛擬機網卡(vif3.0,vif4.0)已經掛到xenbr下面:

 

在啓動的domU系統裏自行更改eth0的配置,配置文件/etc/sysconfig/network-scripts/ifcfg-eth0,以下是我配置固定ip的格式

 

Network bridge配置完成。

相關文章
相關標籤/搜索