天天看點

Xen虛拟化

虛拟化

概念:

 主控端器(真實機器)

 客戶機器(虛拟機,guest os)

優勢:

 節約資源:空間,電力。

 友善測試環境的搭建。

 友善服務線上遷移。

虛拟化技術:

 半虛拟化:

  客戶機器作業系統必須是修改過的,才能使用半虛拟化。

  不需要cpu支援硬體虛拟化技術。

  典型代表: Xen

 全虛拟化:

  必須cpu支援硬體虛拟化。

  客戶機器不需要修改核心,原則上可以安裝任何的作業系統。

   Intel # cat /proc/cpuinfo | grep vmx

   AMD :  svm

  典型代表: kvm , VMware ESXi

==========================================

使用Xen

# yum install xen kernel-xen -y

# yum install libvirt libvirt-python python-virtinst virt-manager virt-viewer -y

重新開機,選擇進入kernel-xen核心

還需要啟動:xend ,libvirtd 服務

 客戶機的名字(domain),與客戶機上跑的作業系統裡的主機名是兩回事。domain名字是用于管理與差別客戶機器用的。

  肯定會存在第一個客戶機,它是保留的,其實它代表主控端器,不能對他進行任何管理操作,習慣稱為Dom0.

  其他手工建立的客戶機,稱為DomU

例子1:使用圖形界面安裝客戶機

# virt-manager

安裝源

nfs:10.1.1.22:/soft/rhel5_source

File: 磁盤鏡像的存放路徑

 預設:/var/lib/xen/p_w_picpaths/node1.img

 可以自己修改一個路徑:

  /vmware/xen/p_w_picpaths/node1.img

例子2:基于指令行安裝客戶機器

# virt-install -n node2 -r 512 --vcpus=1 -p -l nfs:10.1.1.22:/soft/rhel5_source -x "ks=nfs:10.1.1.22:/soft/rhel5_source/xen-ks.cfg" -f /vmware/xen/p_w_picpaths/node2.img -s 15 -b xenbr0

安裝過程中,可以把客戶機視窗關閉,之後可以通過:

# virt-viewer node2  《--再次檢視

xen的相關配置檔案

 xen主配置目錄:/etc/xen/

主配置檔案 

# vim /etc/xen/xend-config.sxp

(network-script 'network-bridge  netdev=eth0') 《--xenbr0是橋接到實體網卡eth0

   注意''号

修改了之後:

 # service libvirtd restart

 # service network restart

 如果還不行:

 /etc/xen/scripts/network-bridge stop

 /etc/xen/scripts/network-bridge netdev=eth0 start

檢視橋接網絡資訊:

# brctl show

bridge name     bridge id               STP enabled   interfaces

virbr0          8000.000000000000       yes

xenbr0          8000.feffffffffff       no            peth0 <--peth0說明橋接到eth0

                                                      vif0.0

 備注: virtbr0 相當于vmware的host only  ,該網絡隻允許客戶機之間通訊,客戶機與主控端通信

  xenbr0 相當于vmware的橋接,允許客戶機和主控端器以外的機器通訊。

删除橋接網絡

# ifconfig virbr0 down

# brctl delbr virbr0

# brctl help

xen網卡裝置的說明:

 假設原有的實體網卡是eth0,當啟用了xend和libvirtd之後:

 原有實體網卡eth0被改名為peth0

 建立立一個虛拟網卡裝置叫eth0

 virbr0 ,預設的虛拟網絡,相當于host only,由libvirtd服務生成

   配置檔案/etc/libvirt/qemu/networks/default.xml

 xenbr0 ,由xend和libvirtd功能生成的真正意義的橋接網絡,預設是橋接實體網卡eth0

 vif0.0,vif0.1 分别對應運作時候客戶機的ID号,是客戶機裡的網卡在宿主主機器上的抽象。 例如vif4.0 代表運作ID為4的客戶機

  ID為4的客戶機 綁定的IP 10.1.1.28

指令行管理客戶機:

 # xm --help

# xm list

Name             ID Mem(MiB) VCPUs State   Time(s)

Domain-0          0     1500     2 r-----   3843.0

node1             4      511     1 -b----     23.5

^客戶機domain

# xm list -l

直接關客戶機

# xm destroy "domain name"

shutdown

reboot

啟動客戶機:

# xm create node1

或者

# xm create node1 -c  把客戶機的畫面輸出到終端

如果把終端輸出結束

 logout

 ctrl + ]

把已經啟動的客戶機的畫面輸出到終端,前提:客戶機必須是3級别模式啟動

# xm console node1

每個客戶機都有對應配置檔案,存放在/etc/xen/

如: /etc/xen/node1

name = "node1"

uuid = "dda031a3-9bb6-7af9-dff1-bd49ca0a9e2d"

maxmem = 512

memory = 512

vcpus = 1

bootloader = "/usr/bin/pygrub"

on_poweroff = "destroy"

on_reboot = "restart"

on_crash = "restart"

vfb = [ "type=vnc,vncunused=1,keymap=en-us" ]

disk = [ "tap:aio:/vmware/xen/p_w_picpaths/node1.img,xvda,w" ]

vif = [ "mac=00:16:36:71:fc:f4,bridge=xenbr0,script=vif-bridge" ]

思考:如何手工克隆客戶機

 關閉被克隆的客戶機

 1、拷貝并且重命名配置檔案

 2、修改name和uuid

 3、拷貝鏡像檔案并且重命名,修改配置檔案指定正确的路徑

 4、修改網卡的MAC位址

 建議:一般修改了配置檔案或者新增了配置,建議重新開機xend,或者關閉vm管理器圖形界面

=================================================

ACTION=="add", SUBSYSTEM=="net",SYSFS{address}=="00:d0:b7:d3:10:a2",KERNEL=="eth*",NAME="eth0"

==================================================================

客戶機遷移:

 遷移:就是把客戶機器移動到另外一個主控端器上運作。 

 必須滿足以下條件:

  1、原主控端器和新主控端器要有相同的體系結構:cpu

  2、必須是同一個子網

  3、所橋接的網絡必須一樣。例如:被遷移客戶機是使用xenbr0,那麼新的主控端器必須也有相同類型xenbr0裝置,名字必須一樣。

  4、足夠的磁盤空間 ,并且磁盤鏡像檔案的路徑必須保持一緻。

/vmware/xen/p_w_picpaths/

 靜态遷移:

  客戶機在關閉的情況下進行的。導緻服務出現短期的暫停。也能夠在遷移之後保持遷移之前的運作狀态。暫停所需要的時間依賴于磁盤鏡像遠端拷貝的時間。原理是什麼?存儲還原法。

  1、儲存目前處于運作狀态客戶機的記憶體資料到檔案

# xm save node4 /vmware/xen/p_w_picpaths/node4_mem.save

  2、關閉客戶機器 <---在儲存記憶體資料的時候被自動關閉

  3、移動相關配置檔案和鏡像檔案到新的主控端器上。

# rsync -alvR /etc/xen/node4 10.1.1.100:/

# rsync  -alvR /vmware/xen/p_w_picpaths/node4.img 10.1.1.100:/

# rsync -alvR /vmware/xen/p_w_picpaths/node4_mem.save 10.1.1.100:/

  4、進行還原記憶體資料

  在新的主控端器上進行還原:

# xm restore  /vmware/xen/p_w_picpaths/node4_mem.save

 動态遷移(線上遷移)

  客戶機在保持運作的狀态下進行,不會導緻或者隻會導緻非常短期的暫時,察覺不到。

  除了上面的基本條件之外,還必須保證被遷移客戶機的磁盤鏡像必須是存放在共享存儲。

 Dom0   Dom0

 |

 DomU  ---線上遷移---->   DomU

 |   |

 --------------------------

  共享存儲:磁盤鏡像檔案 《---獨立儲存設備

  理由:不需要在遷移過程中,拷貝鏡像檔案。

  共享存儲: iscsi,gnbd,nfs,nas,san

  測試環境:使用nfs作為共享存儲。

由于實驗環境中的所有客戶機當初并沒有考慮到線上遷移,都是安裝本地存儲。是以為了做線上遷移實驗,隻能模拟共享存儲環境。

 把原本的鏡像檔案通過nfs導出。

/vmware/xen/p_w_picpaths *(rw,sync,no_root_squash)

 記憶體資料是如何同步?

1、需要修改原主控端器和新主控端器的配置檔案,讓起支援線上遷移

(xend-unix-server yes)

(xend-relocation-server yes)

(xend-relocation-port 8002)

(xend-relocation-address '')

(xend-relocation-hosts-allow '')

#(xend-relocation-hosts-allow '^localhost$ ^localhost\\.localdomain$')

重新開機xend

# service xend restart

2、需要手工把配置檔案遷移過去

# rsync -alvR /etc/xen/node2 10.1.1.100:/

3、線上遷移記憶體資料。

# xm migrate -l node2 10.1.1.100

 把本機的node2客戶機進行線上遷移到10.1.1.100

上一篇: 虛拟化一
下一篇: 虛拟化概述

繼續閱讀