注 1 :本次實驗環境 真機 CentOS 5.8 32位, 虛擬機 CentOS 5.2 32位, 真機IP: 192.168.100.117
注 2 :實驗前一定要先記下真機的 MAC 地址,以免以后不能上網用,我這里的 MAC 是 00:1D:7D:CD:D7:74
第一步 查看硬件支持
1. 半虛擬化硬件要求
代碼如下:
如果出現 pae 字符,表示支持半虛擬化; 我們這次就是使用半虛擬化實驗。
2. 全虛擬化硬件要求
由于我沒有支持的硬件,大概說下,查詢命令和上面的一樣
Inter 的 CPU 要出現 pae vmx ; AMD 的 CPU 要出現 pae svm
第二步 安裝 Xen 核心軟件
注意要先關閉selinux和禁止netmanager
在 /etc/sysconfig/network-script/ifcfg-eth0中加入
代碼如下:
1. 基本安裝和檢測
代碼如下:
[root@xen ~]# vi /boot/grub/menu.lst</p> <p>
<strong>default=0</strong>
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
<strong>title CentOS (2.6.18-308.4.1.el5xen)</strong>
root (hd0,0)
kernel /xen.gz-2.6.18-308.4.1.el5
module /vmlinuz-2.6.18-308.4.1.el5xen ro root=LABEL=/ rhgb quiet
module /initrd-2.6.18-308.4.1.el5xen.img
title CentOS (2.6.18-308.4.1.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-308.4.1.el5 ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.18-308.4.1.el5.img
看到上面的 el5xen 內核版本的系統了嗎?將 default 改為 0 就是以它啟動。
然后,重啟服務器
代碼如下:
啟動好后,再次確認是否是以 Xen 內核啟動的
代碼如下:
[root@xen ~]# <span>chkconfig --list | grep xen</span>
xend 0:關閉 1:關閉 2:啟用 <strong>3:啟用</strong> 4:啟用 <strong>5:啟用</strong> 6:關閉
xendomains 0:關閉 1:關閉 2:關閉 <strong>3:啟用</strong> 4:啟用 <strong>5:啟用</strong> 6:關閉
[root@xen ~]# <span>pstree -p | grep xen</span>
| |-xenbus(14)
| `-xenwatch(13)
|-xenconsoled(2860)---{xenconsoled}(2861)
|-xend(2856)---xend(2858)-+-{xend}(28 62)
| |-{xend}(2866)
| |-{xend}(2867)
| |-{xend}(3086)
| `-{xend}(3087)
|-xenstored(2852)
[root@xen ~]# <span>xm list</span>
Name ID Mem(MiB) VCPUs State Time(s)
<span>Domain-0</span> 0 1763 2 r----- 37.1
如果上面幾步有顏色和加粗部分和我差不多的話,說明啟動成功了!
2. Xen 的軟件結構
/usr/sbin/xend xend的啟動腳本,我最愛的 python 寫的
/usr/sbin/xm 管理 xen 的命令,輸入 xm help 查詢用法
/etc/xen/xend-config.sxp 這個是 xend 配置文件,一般不用動
/etc/xen/ 里面包含數個 domain-U 的配置范本, xmexample.hvm 可作為完整虛擬的范本
/etc/xen/auto 系統開機就自動啟動某個 domain-U ,下面的舉例用法:
[root@xen ~]# cd /etc/xen/auto/
[root@xen auto]# ln -s ../xmexample.hvm .
這樣系統啟動的時候就啟動 xmexample 了,但是不要這么直接用(鳥哥說的)
/etc/xen/scripts 包括虛擬設備的啟動、網絡的啟動等
第三步 安裝虛擬系統
1. 先創建一個目錄用來放虛擬系統(目錄自己定)
代碼如下:
我們這里使用 /var/vps 這個目錄
2. 然后制作一個空映像文件來放系統
代碼如下:
count 就是大小; 小二,給我來 8G 空間
3. 安裝 vsftp 并把光驅中的 系統 掛載到 ftp 目錄下
代碼如下:
[root@xen ~]# service vsftpd start
這樣一個匿名 FTP 就可以用了,下載掛載光驅
[root@xen ~]# mount /dev/cdrom /var/ftp/pub/
測試下是不是掛載成功了,從瀏覽器中訪問
ftp://192.168.100.117/pub/
e2fsck’s blog http://www.e2fsck.org
能看到光盤內容說明成功了。
4. 進入 /var/vps 目錄建立虛擬機
代碼如下:
[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 #內存大小</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/ #安裝文件在哪
接下來就是 TEXT 安裝模式
代碼如下:
| |
| 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
文本模式安裝不難,如果有問題,網上搜搜
安裝好后,重啟,出現:
代碼如下:
輸入帳號密碼就進去了
退出的按鍵和 telnet 的一樣: CTRL + ]
5. 管理 Xen 虛擬機
查看當前系統中的虛擬機普通信息
代碼如下:
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 1599 2 r----- 421.9
vps1 2 415 1 -b---- 24.9
順便講下上面 State 的 6 種狀態:
r – 運行、b – 阻塞(不運行狀態或者是 sleep 狀態)、p – 暫停(可能執行了 xm pause)、s – 關閉、c – 崩潰、d – 垂死
查看虛擬機的負載
代碼如下:
關閉虛擬機
代碼如下:
進入虛擬機
代碼如下:
啟動虛擬機
代碼如下:
把 vps1 加入到真機啟動自啟動
代碼如下:
其它參數輸入 xm help
6. Xen虛擬機復制
先關閉虛擬機
代碼如下:
復制虛擬機的鏡像文件和配置文件
代碼如下:
[root@xen xen]# cp /etc/xen/vps1 /etc/xen/vps2
修改新復制虛擬機的配置文件
代碼如下:
原內容為:
代碼如下:
修改后為:
代碼如下:
注: 就是要保證 name、uuid、mac 唯一,然后把 disk 路徑改了
然后啟動并進入新的虛擬機
代碼如下:
修改主機名和IP
代碼如下:
[root@localhost ~]# vi /etc/sysconfig/network
上面2個比較簡單,我就不說了
代碼如下:
# Xen Virtual Ethernet</p> <p>DEVICE=eth0</p> <p>BOOTPROTO=static</p> <p>HWADDR=00:16:3E:44:09:CB #這里最好換成上面修改過的配置文件中的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