天天看點

CentOS上安裝和配置 Xen

作者:vpssee

代碼:

$ yum install kernel-xen xen

安裝成功後,可以看到 xen.gz-2.6.18-128.2.1.el5 核心已經裝好,修改 default 的值預設啟動 Xen 核心。 複制内容到剪貼闆

代碼:

# vi /etc/grub.conf default=0 timeout=2 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.18-128.2.1.el5xen)         root (hd0,0)         kernel /xen.gz-2.6.18-128.2.1.el5         module /vmlinuz-2.6.18-128.2.1.el5xen ro root=/dev/VolGroup00/LogVol00         module /initrd-2.6.18-128.2.1.el5xen.img title CentOS (2.6.18-128.1.16.el5)         root (hd0,0)         kernel /vmlinuz-2.6.18-128.1.16.el5 ro root=/dev/VolGroup00/LogVol00         initrd /initrd-2.6.18-128.1.16.el5.img

重新開機系統後檢查一下是否是 Xen 的核心: 複制内容到剪貼闆

代碼:

# uname -r 2.6.18-128.2.1.el5xen

再檢查一下 Xen 是否已經啟動:

本帖隐藏的内容需要回複才可以浏覽

建立和安裝 guest如果把正在運作的 Xen 核心的作業系統看成 host 的話,那麼運作在 host 上面的作業系統就可以看成 guest。先建一個目錄用來存放所有的 guest 作業系統的 image,vm01.img,vm02.img,等等,1個 guest 對應1個 image。 複制内容到剪貼闆

代碼:

# mkdir /vm # cd /vm # virt-install What is the name of your virtual machine? <-- vm01 How much RAM should be allocated (in megabytes)? <-- 256 What would you like to use as the disk (path)? <-- /vm/vm01.img How large would you like the disk (/vm/vm01.img) to be (in gigabytes)? <-- 4 Would you like to enable graphics support? (yes or no) <-- no What is the install location? <-- http://127.0.0.1/centos

或者可以把上面簡化成1條指令: 複制内容到剪貼闆

代碼:

# virt-install -n vm01 -r 256 -f /vm/vm01.img -s 4 --nographics -p -l http://127.0.0.1/centos

需要注意的是上面如果是 -p(paravirtualized)的話就不能直接從 iso 檔案安裝,必須把 iso 檔案解出來後放到一個 http/ftp 伺服器上安裝,隻有 fully virtualized 的才可以從 iso 檔案、CD-ROM 等安裝。還要注意的是,paravirtualized 需要修改過的作業系統核心,是以不能安裝 Windows, fully virtualized 可以用來安裝 Windows 隻要 CPU 支援 Virtualization(Intel VT or AMD V)。是以這裡需要先安裝和配置一個 web 伺服器,然後把 iso 檔案解壓到 web 伺服器能通路的目錄下( http://127.0.0.1/centos)。如果網速夠快,可以從 Internet 上直接安裝,把 http://127.0.0.1/centos 換成 http://mirrors.kernel.org/centos/5.3/os/i386

按照 CentOS 的安裝程式完成 CentOS 作業系統(guest)的安裝後,看看 guest 的配置檔案: 複制内容到剪貼闆

代碼:

# cat /etc/xen/vm01 name = "vm01" uuid = "b4910b6d-b205-6f86-c145-3c0895cb20c5" maxmem = 256 memory = 256 vcpus = 1 bootloader = "/usr/bin/pygrub" on_poweroff = "destroy" on_reboot = "restart" on_crash = "restart" vfb = [  ] disk = [ "tap:aio:/vm/vm01.img,xvda,w" ] vif = [ "mac=00:16:d2:0a:66:6d,bridge=xenbr0" ]

看看 guest 是否啟動: 複制内容到剪貼闆

代碼:

# /usr/sbin/xm list Name                                      ID Mem(MiB) VCPUs State   Time(s) Domain-0                                   0     1220     2 r-----   4691.3 vm01                                       9      255     1 -b----      16.9

進入 guest安裝成功後就可以登入 guest 了 複制内容到剪貼闆

代碼:

# /usr/sbin/xm console vm01

如果要退出 guest 的話,用 Ctrl + ],就會回到 host。

如果想每次啟動 host 時自動啟動 guest 的話: 複制内容到剪貼闆

代碼:

# ln -s /etc/xen/vm01 /etc/xen/auto

更懶的辦法如果覺得安裝 guest 作業系統太麻煩,可以到 http://stacklet.com/ 下載下傳一個已經裝好的鏡像檔案,然後在 host 下啟動 guest 鏡像就可以了。下載下傳和啟動 Ubuntu 9.04 的鏡像: 複制内容到剪貼闆

代碼:

# wget http://stacklet.com/sites/default/files/ubuntu/ ubuntu.9-04.x86.20090514.img.tar.bz2 # tar jxvf ubuntu.9-04.x86.20090514.img.tar.bz2 # mv ubuntu.9-04.x86.xen3.pygrub.cfg /etc/xen/ubuntu.9-04.cfg # mv ubuntu.9-04.x86.img /vm/ubuntu.9-04.img # /usr/sbin/xm create -f ubuntu.9-04.cfg # /usr/sbin/xm list # /usr/sbin/xm console ubuntu.9-04

從 http://stacklet.com/ 下載下傳的鏡像檔案的初始使用者名和密碼為:root/password

增加 swap如果是從 http://stacklet.com/ 下載下傳的作業系統鏡像,可能沒有設定 swap,需要自己添加 swap 分區,可以做個 swap 鏡像檔案當作 swap 分區用。Xen 與 OpenVZ 相比有個好處就是 Xen 可以有自己的 swap 分區,甚至 guest 可以自己設定 swap. 先建個 512MB(524288B,1GB = 1048576B)大小的檔案,轉化成 swap 格式: 複制内容到剪貼闆

代碼:

# dd if=/dev/zero of=ubuntu.9-04.swap bs=1024 count=524288 # /sbin/mkswap ubuntu.9-04.swap

修改 /etc/xen/ubuntu.9-04,修改 disk 這一行: 複制内容到剪貼闆

代碼:

# vi /etc/xen/ubuntu.9-04.cfg disk = ['file:/vm/ubuntu.9-04.img,sda1,w','file:/vm/ubuntu.9-04.swap,sda2,w']

啟動 guest 系統,登入後修改 /etc/fstab,重新開機後用 top 看看 Swap 分區有沒有被激活: 複制内容到剪貼闆

代碼:

# vi /etc/fstab /dev/sda2            swap          swap     defaults,noatime           0 0 # shutdown -r now # top ... Mem:    262284k total,    46480k used,   215804k free,     3176k buffers Swap:   524280k total,        0k used,   524280k free,    17196k cached

常用 Xen 指令

引用:

xm create -c /path/to/config - Start a virtual machine.

xm shutdown - Stop a virtual machine.

xm destroy - Stop a virtual machine immediately without shutting it down. It's as if you switch off the power button.

xm list - List all running systems.

xm console - Log in on a virtual machine.

xm help - List of all commands.

繼續閱讀