Centos5.5安裝使用Xen

      Xen是主流虛擬機中性能損耗最小的(可是不支持windows平臺),目前能夠運行在x86系統上,並正在向x86_6四、IA6四、PPC移植。移植到其餘平臺從技術上是可行的,將來有可能會實現。
1.安裝支持Xen的Linux內核和 Xen
yum -y install xen kernel-xen xen-lib virt-manager python-virtinst
kernel-xen:能夠跑 Xen 的 Linux 核心
xen:主要的 xen 套件,包括配置文件、啓動腳本和一些函數庫 
xen-libs:Xen 所須要的函數庫 
python-virtinst:提供終端安裝的軟件 
virt-manager:用於圖形界面管理xen
2.修改默認以支持xen的內核啓動
vi /boot/grub/grub.conf
default=0
重啓系統
reboot
檢查內核
uname -r
輸出 2.6.18-238.9.1.el5xen
查看xen是否啓動
xm list
輸出: Domain-0
3.在xen中安裝操做系統
xen中安裝操做系統時,能夠支持三種安裝源:
NFS :   nfs:主機IP:目錄
WWW :   http://主機IP/目錄
FTP :   ftp://主機IP/目錄
咱們採用 WWW 方式(這種方式很是方便,安裝源能夠是一個包含安裝文件的能夠訪問到的web環境):
製做安裝源(將光驅掛載到/mnt/cdrom)
mkdir -p /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
安裝httpd(若是未安裝)
yum -y install httpd

修改httpd默認目錄
vi /etc/httpd/conf/httpd.conf
將DocumentRoot "/var/www/html"修改成DocumentRoot "/mnt/cdrom"
將<Directory "/var/www/html">修改成<Directory "/mnt/cdrom">
sed -i 's#DocumentRoot "/var/www/html"#DocumentRoot "/mnt/cdrom"#' /etc/httpd/conf/httpd.conf
sed -i 's#<Directory "/var/www/html">#<Directory "/mnt/cdrom">#' /etc/httpd/conf/httpd.conf
重啓httpd
service httpd restart
製做客戶機主要磁盤
mkdir -p /data/vm
dd if=/dev/zero of=/data/vm/web_001.img bs=2k seek=4096k count=1
製做客戶機交換磁盤
dd if=/dev/zero of=/data/vm/swap.img bs=2k seek=512k count=1
安裝操做系統
virt-install -n web_001 -r 512 --vcpus=1 --nographic -f /data/vm/web_001.img  -l http://192.168.9.220
# -n :後面接虛擬機名稱,配置 /etc/xen 底下
# -r :後面接分配的內存大小,至少須要 256MB 纔能夠執行
# --vcpus : 分配多少個cpu
# -f :後面接新建的磁盤文件!
# --nographics :不使用圖形化安裝;
# -p : 半虛擬化
# -s : 虛擬機的硬盤空間
# -l :後面接安裝源。寫法爲:
#   NFS :   nfs:主機IP:目錄
#   WWW :   http://主機IP/目錄
#   FTP :   ftp://主機IP/目錄
而後根據系統提示安裝系統
安裝完成後,查看真實機上的虛擬機列表
xm list
輸出的列表中會包含新建的 web_001 虛擬機
4.附相關操做命令
ls /etc/xen           #xen配置文件目錄
xm list               #查看各個域狀態
xm shutdown web_001   #關閉web_001這個虛擬機
xm console web_001    鏈接web_001控制檯,鏈接到虛擬機上面能夠用組合鍵  ctrl + ] 鍵切換到物理機
#若是配置了IP,能夠用ssh -l username IP 來鏈接
xm create web_001     啓動web_001
5.真實機開機如何自動啓動虛擬機
ln -s /etc/xen/web_001 /etc/xen/auto/web_001
#也能夠直接把配置文件拷貝到/etc/xen/auto/
cp -r /etc/xen/web_001 /etc/xen/auto/
6.XM命令:
    xm create vm1 #其中vm1 爲虛擬機的配置文件,位於/etc/xen/vm/vm1
    xm create -c vm1 #若是須要啓動控制檯,則能夠運行命令
    xm list #能夠列出全部的虛擬機
    xm console <domid> #能夠顯示某虛擬機的控制檯
    xm reboot|shutdown <domid> #能夠重起和關閉id 爲domid 的虛擬機
    xm destroy <domid> #能夠銷燬id 爲domid 的虛擬機
    xm console fc5 #從終端或控制檯登陸正在運行的虛擬操做系統
    xm save <DomId> <File> # 存儲正在運行的虛擬操做系統的狀態
    xm restore <File> # 喚醒虛擬操做系統
    xm pause <DomId> #中止正在運行的虛擬操做系統
    xm unpause <DomId> #激活中止的虛擬操做系統
    xm mem-set <DomId> <Mem> #調整虛擬平臺/虛擬操做系統的佔用內存
    xm shutdown 虛擬操做系統的Name或DomID #關閉被虛擬的系統
    xm destroy <DomId> #當即中止虛擬的系統 (重要);
    xm vcpu-set <DomId> <VCPUs> #調整虛擬平臺及虛擬操做系統的虛擬CPU個數
    xm top 或 xentop # 查看虛擬系統運行的狀態
    xm save VM1 VM1.chk # stop the domain and save its current state into a file called VM1.chk
    xm restore VM1.chk #resume execution of this domain
7.XEN虛擬機複製
關閉運行中的虛擬機
xm shutdown web_001
複製虛擬機的鏡像文件和配置文件
cp /data/vm/web_001.img /data/vm/web_002.img
cp /etc/xen/web_001 /etc/xen/web_002

修改新複製虛擬機的配置文件
vi /etc/xen/web_002
原內容爲:
name = "web_001"
uuid = "21e3bccf-4778-747e-c3b7-a87cadfa29fa"
maxmem = 512
memory = 512
vcpus = 1
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
disk = [ "tap:aio:/data/vm/web_001.img,xvda,w" ]
vif = [ "mac=00:16:36:64:98:f1,bridge=xenbr0,script=vif-bridge" ]
修改後的內容爲:
name = "web_002"
uuid = "21e3bccf-4778-747e-c3b7-a87cadfa29fd"
maxmem = 512
memory = 512
vcpus = 1
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
disk = [ "tap:aio:/data/vm/web_002.img,xvda,w" ]
vif = [ "mac=00:16:36:64:98:f5,bridge=xenbr0,script=vif-bridge" ]

*保證name、uuid、mac的惟一性,還有就是disk路徑
啓動並進入新複製的虛擬機
xm create -c web_002
修改主機名
vi /etc/hosts
將web_001修改成web_002
vi /etc/sysconfig/network
將web_001修改成web_002
修改IP
vi /etc/sysconfig/network-scripts/ifcfg-eth0
# Xen Virtual Ethernet
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.9.255
HWADDR=00:16:36:64:98:f5
IPADDR=192.168.9.222
NETMASK=255.255.255.0
NETWORK=192.168.9.0
ONBOOT=yes

Q:
bs=2k seek=4096k count=1 參數詳細意思
bs=2k:設置讀寫塊的大小爲 2k
seek=4096k:從輸出文件開頭跳過 4096k 個塊後再開始複製(一般只有當輸出文件是磁盤或磁帶時纔有效)
count=1:僅拷貝 1 個塊(塊大小等於 bs 指定的字節數)
相關文章
相關標籤/搜索