注 1 :本次實(shí)驗(yàn)環(huán)境 真機(jī) CentOS 5.8 32位, 虛擬機(jī) CentOS 5.2 32位, 真機(jī)IP: 192.168.100.117
注 2 :實(shí)驗(yàn)前一定要先記下真機(jī)的 MAC 地址,以免以后不能上網(wǎng)用,我這里的 MAC 是 00:1D:7D:CD:D7:74
第一步 查看硬件支持
1. 半虛擬化硬件要求
[root@xen ~]# cat /proc/cpuinfo | grep flags/p>
p>flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm/p>
p>pbe nx lm constant_tsc pni monitor ds_cpl est tm2 cid cx16 xtpr lahf_lm
如果出現(xiàn) pae 字符,表示支持半虛擬化; 我們這次就是使用半虛擬化實(shí)驗(yàn)。
2. 全虛擬化硬件要求
由于我沒(méi)有支持的硬件,大概說(shuō)下,查詢命令和上面的一樣
Inter 的 CPU 要出現(xiàn) pae vmx ; AMD 的 CPU 要出現(xiàn) pae svm
第二步 安裝 Xen 核心軟件
注意要先關(guān)閉selinux和禁止netmanager
在
/etc/sysconfig/network-script/ifcfg-eth0
中加入
NM_CONTROLLED=no
1. 基本安裝和檢測(cè)
[root@xen ~]# yum install xen* kernel-xen*/p>
p>
[root@xen ~]# vi /boot/grub/menu.lst/p>
p>
strong>default=0/strong>
nbsp;timeout=5
nbsp;splashimage=(hd0,0)/grub/splash.xpm.gz
nbsp;hiddenmenu
nbsp;strong>title CentOS (2.6.18-308.4.1.el5xen)/strong>
nbsp; root (hd0,0)
nbsp; kernel /xen.gz-2.6.18-308.4.1.el5
nbsp; module /vmlinuz-2.6.18-308.4.1.el5xen ro root=LABEL=/ rhgb quiet
nbsp; module /initrd-2.6.18-308.4.1.el5xen.img
nbsp; title CentOS (2.6.18-308.4.1.el5)
nbsp; root (hd0,0)
nbsp; kernel /vmlinuz-2.6.18-308.4.1.el5 ro root=LABEL=/ rhgb quiet
nbsp; initrd /initrd-2.6.18-308.4.1.el5.img
nbsp;
看到上面的 el5xen 內(nèi)核版本的系統(tǒng)了嗎?將 default 改為 0 就是以它啟動(dòng)。
然后,重啟服務(wù)器
[root@xen ~]# shutdown -r now
啟動(dòng)好后,再次確認(rèn)是否是以 Xen 內(nèi)核啟動(dòng)的
[root@xen ~]# uname -r/p>
p>2.6.18-308.4.1.el5xen
[root@xen ~]# span>chkconfig --list | grep xen/span>
nbsp;xend 0:關(guān)閉 1:關(guān)閉 2:啟用 strong>3:啟用/strong> 4:啟用 strong>5:啟用/strong> 6:關(guān)閉
nbsp;xendomains 0:關(guān)閉 1:關(guān)閉 2:關(guān)閉 strong>3:啟用/strong> 4:啟用 strong>5:啟用/strong> 6:關(guān)閉
nbsp;[root@xen ~]# span>pstree -p | grep xen/span>
nbsp; | |-xenbus(14)
nbsp; | `-xenwatch(13)
nbsp;|-xenconsoled(2860)---{xenconsoled}(2861)
nbsp;|-xend(2856)---xend(2858)-+-{xend}(28 62)
nbsp; | |-{xend}(2866)
nbsp; | |-{xend}(2867)
nbsp;| |-{xend}(3086)
nbsp; | `-{xend}(3087)
nbsp; |-xenstored(2852)
[root@xen ~]# span>xm list/span>
nbsp;Name ID Mem(MiB) VCPUs State Time(s)
nbsp;span>Domain-0/span> 0 1763 2 r----- 37.1
nbsp;
如果上面幾步有顏色和加粗部分和我差不多的話,說(shuō)明啟動(dòng)成功了!
2. Xen 的軟件結(jié)構(gòu)
/usr/sbin/xend xend的啟動(dòng)腳本,我最愛(ài)的 python 寫的
/usr/sbin/xm 管理 xen 的命令,輸入 xm help 查詢用法
/etc/xen/xend-config.sxp 這個(gè)是 xend 配置文件,一般不用動(dòng)
/etc/xen/ 里面包含數(shù)個(gè) domain-U 的配置范本, xmexample.hvm 可作為完整虛擬的范本
/etc/xen/auto 系統(tǒng)開(kāi)機(jī)就自動(dòng)啟動(dòng)某個(gè) domain-U ,下面的舉例用法:
[root@xen ~]# cd /etc/xen/auto/
[root@xen auto]# ln -s ../xmexample.hvm .
這樣系統(tǒng)啟動(dòng)的時(shí)候就啟動(dòng) xmexample 了,但是不要這么直接用(鳥哥說(shuō)的)
/etc/xen/scripts 包括虛擬設(shè)備的啟動(dòng)、網(wǎng)絡(luò)的啟動(dòng)等
第三步 安裝虛擬系統(tǒng)
1. 先創(chuàng)建一個(gè)目錄用來(lái)放虛擬系統(tǒng)(目錄自己定)
[root@xen auto]# cd /var/p>
p>[root@xen var]# mkdir vps
我們這里使用 /var/vps 這個(gè)目錄
2. 然后制作一個(gè)空映像文件來(lái)放系統(tǒng)
[root@xen var]# dd if=/dev/zero of=/var/vps/vps1.img bs=1M count=8000
count 就是大小; 小二,給我來(lái) 8G 空間
3. 安裝 vsftp 并把光驅(qū)中的 系統(tǒng) 掛載到 ftp 目錄下
[root@xen ~]# yum install vsftpd/p>
p>
[root@xen ~]# service vsftpd start
這樣一個(gè)匿名 FTP 就可以用了,下載掛載光驅(qū)
[root@xen ~]# mount /dev/cdrom /var/ftp/pub/
測(cè)試下是不是掛載成功了,從瀏覽器中訪問(wèn)
ftp://192.168.100.117/pub//p>
p>e2fsck’s blog http://www.e2fsck.org
能看到光盤內(nèi)容說(shuō)明成功了。
4. 進(jìn)入 /var/vps 目錄建立虛擬機(jī)
[root@xen ~]# cd /var/vps//p>
p>
[root@xen vps]# virt-install –prompt/p>
p>
What is the name of your virtual machine? vps1 #輸入名字/p>
p>How much RAM should be allocated (in megabytes)? 415 #內(nèi)存大小/p>
p>What would you like to use as the disk (file path)? /var/vps/vps1.img #存放位置,寫上面 of 后的地址/p>
p>What is the install URL? ftp://192.168.100.117/pub/ #安裝文件在哪
接下來(lái)就是 TEXT 安裝模式
Welcome to CentOS +---------+ Choose a Language +---------+
| |
| What language would you like to use |
| during the inst
allation process? |
| |
| Catalan ^ |
| Chinese(Simplified) : |
| Chinese(Traditional) # |
| Croatian : |
| Czech : |
| Danish : |
| Dutch : |
| English v |
| |
| +----+ |
| | OK | |
| +----+ |
| |
| |
+---------------------------------------+
/ between elements | selects | next screen
文本模式安裝不難,如果有問(wèn)題,網(wǎng)上搜搜
安裝好后,重啟,出現(xiàn):
CentOS release 5.2 (Final)/p>
p>Kernel 2.6.18-92.el5xen on an i686/p>
p>localhost.localdomain login: root/p>
p>Password: /p>
p>[root@localhost ~]#
輸入帳號(hào)密碼就進(jìn)去了
退出的按鍵和 telnet 的一樣: CTRL + ]
5. 管理 Xen 虛擬機(jī)
查看當(dāng)前系統(tǒng)中的虛擬機(jī)普通信息
[root@xen vps]# span id="comm">xm list/span>
nbsp;Name ID Mem(MiB) VCPUs State Time(s)
nbsp;Domain-0 0 1599 2 r----- 421.9
nbsp;vps1 2 415 1 -b---- 24.9
nbsp;
順便講下上面 State 的 6 種狀態(tài):
r – 運(yùn)行、b – 阻塞(不運(yùn)行狀態(tài)或者是 sleep 狀態(tài))、p – 暫停(可能執(zhí)行了 xm pause)、s – 關(guān)閉、c – 崩潰、d – 垂死
查看虛擬機(jī)的負(fù)載
[root@xen vps]# xm top
關(guān)閉虛擬機(jī)
[root@xen vps]# xm shutdown vps1
進(jìn)入虛擬機(jī)
[root@xen vps]# xm console vps1
啟動(dòng)虛擬機(jī)
[root@xen vps]# xm create vps1
把 vps1 加入到真機(jī)啟動(dòng)自啟動(dòng)
[root@xen xen]# ln -s /etc/xen/vps1 /etc/xen/auto/vps1
其它參數(shù)輸入 xm help
6. Xen虛擬機(jī)復(fù)制
先關(guān)閉虛擬機(jī)
[root@xen xen]# xm shutdown vps1
復(fù)制虛擬機(jī)的鏡像文件和配置文件
[root@xen xen]# cp /var/vps/vps1.img /var/vps/vps2.img/p>
p>
[root@xen xen]# cp /etc/xen/vps1 /etc/xen/vps2
修改新復(fù)制虛擬機(jī)的配置文件
[root@xen xen]# vi /etc/xen/vps2
原內(nèi)容為:
name = "vps1"/p>
p>uuid = "1f251cca-5ea2-49fb-95e6-3b08359e6d33"/p>
p>maxmem = 415/p>
p>memory = 415/p>
p>vcpus = 1/p>
p>bootloader = "/usr/bin/pygrub"/p>
p>on_poweroff = "destroy"/p>
p>on_reboot = "restart"/p>
p>on_crash = "restart"/p>
p>disk = [ "tap:aio:/var/vps/vps1.img,xvda,w" ]/p>
p>vif = [ "mac=00:16:3e:44:09:ca,bridge=xenbr0,script=vif-bridge" ]
修改后為:
name = "vps2"/p>
p>uuid = "1f251cca-5ea2-49fb-95e6-3b08359e6d34"/p>
p>maxmem = 415/p>
p>memory = 415/p>
p>vcpus = 1/p>
p>bootloader = "/usr/bin/pygrub"/p>
p>on_poweroff = "destroy"/p>
p>on_reboot = "restart"/p>
p>on_crash = "restart"/p>
p>disk = [ "tap:aio:/var/vps/vps2.img,xvda,w" ]/p>
p>vif = [ "mac=00:16:3e:44:09:cb,bridge=xenbr0,script=vif-bridge" ]
注: 就是要保證 name、uuid、mac 唯一,然后把 disk 路徑改了
然后啟動(dòng)并進(jìn)入新的虛擬機(jī)
[root@xen xen]# xm create -c vps2
修改主機(jī)名和IP
[root@localhost ~]# vi /etc/hosts/p>
p>
[root@localhost ~]# vi /etc/sysconfig/network
上面2個(gè)比較簡(jiǎn)單,我就不說(shuō)了
[root@localhost ~]# hostname vps2/p>
p>[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0/p>
p>
# Xen Virtual Ethernet/p>
p>DEVICE=eth0/p>
p>BOOTPROTO=static/p>
p>HWADDR=00:16:3E:44:09:CB #這里最好換成上面修改過(guò)的配置文件中的MAC地址/p>
p>ONBOOT=yes/p>
p>IPADDR=192.168.100.167/p>
p>NETMASK=255.255.255.0/p>
p>NETWORK=192.168.100.0/p>
p>GATEWAY=192.168.100.1