Xen 可以把它想成是使用在 Linux 作業系統上的 VMware,使用 Xen 軟體可以再模擬出多個分身作業系統,也就是說如果機器本身的硬碟夠大,記憶體夠多,這些資源可以再多切出來另外一台或多台電腦。
那 Xen 的架構上來講其實跟 Windows 上的 VMware 有一點不一樣就是 Xen 是直接含在 Linux 的 kernel 裡頭的,也就是說 VMware 的架構有點像軟體中的軟體,但是 Xen 卻很像機器一開起來之後,自然就把多個作業系統一起跑起來一樣,在不同的作業系統當中功能上看起來是差不多的,但是在架構上最原始的那個作業系統(主系統)地位會比較高,它通常是經由它來控管其他的作業系統(次系統),概念聽起來可能很模糊,或許你還沒有任何感覺,但是相信經過我實作之後自然就會知道了。
以下我就來實作在 CentOS5 下使用 Xen 切出1台灌文字介面的 Red Hat Fedora 8。
首先這台是 CentOS5,安裝 Xen 需要以下三項套作一起安裝,1.xen(軟體本身) 2.kernel-xen(xen 版本的 kernel,安裝完成以後都會用這個 kernel來 開機) 3.virt-manager(管理xen的軟體)
所以需要安裝 xen, kernel-xen,virt-manager 這三項套件
# yum -y install xen kernel-xen virt-manager

安裝好之後,需要改一下開機的 kernel,因為剛剛安裝了 xen 版本的 kernel ,以後都要使用這個 2.6.18-8.1.15.el5xen 版本來開機了
# vim /boot/grub/menu.lst
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-8.1.15.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.18-8.1.15.el5
module /vmlinuz-2.6.18-8.1.15.el5xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet
module /initrd-2.6.18-8.1.15.el5xen.img
title CentOS (2.6.18-8.el5)
# reboot
請問一下, 依照你的方法
# mount /dev/cdrom /media/
mount: block device /dev/cdrom is write-protected, mounting read-only
把 cdrom 的資料利用捷徑的方式連結到 http 的網路空間中,取名為 fedora8
# ln -s /media/ /var/www/html/fedora8
使用 http://192.168.1.5/fedora/ 會出現 403 error無存取權限
若使用 http://192.168.1.5/ 是可看到預設內建centos網頁
/dev/cdrom 的權限是 root , /media 也是 root
要如何才分享到 /dev/cdrom 內的資料
應該是被SELinux擋住了, 你可以
# setenforce 0
把SELinux暫存關閉再試試
或者
# vi /etc/sysconfig/selinux
SELINUX=disabled
永遠關閉SELinux
實在是太神了
把 SELINUX 關掉就好了
# vi /etc/sysconfig/selinux
SELINUX=disabled
您可能要把上面那一小段加到你的文章內
因我是安裝 centos 5.1 有安裝預設的 xen, 全部用預設安裝,然後就依這你這份文件來設定,在關掉SELINUX 之前我花了很多時間在設定 httpd.conf 文件
不過 xen 可以連到 http://192.168.1.5/cdrom/ 內容 但是會出現錯誤無法安裝OS
錯誤內容有空再貼上來
問一下
我下載 ubuntu-7.10-desktop-i386.iso 將檔案 掛載
mount -o loop -t iso9660 ubuntu-7.10-desktop-i386.iso /media/
再將 media link 到 /varr/www/html/ubuntu
ln -s /media/ /var/www/html/ubuntu
在 xen 的開機光碟設定位置設為
http://192.168.1.5/ubuntu
其餘設定如你教學所示
出現錯誤如下
Unable to complete install ‘exceptions.RuntimeError Could not find an installable distribution the install location
Traceback (most recent call last):
File “/usr/share/virt-manager/virtManager/create.py”, line 681, in do_install
dom = guest.start_install(False, meter = meter)
File “/usr/lib/python2.4/site-packages/virtinst/Guest.py”, line 647, in start_install
tmpfiles = self._prepare_install_location(meter)
File “/usr/lib/python2.4/site-packages/virtinst/ParaVirtGuest.py”, line 65, in _prepare_install_location
(kernelfn,initrdfn,args) = DistroManager.acquireKernel(self.location, meter, scratchdir=self.scratchdir, type=self.type)
File “/usr/lib/python2.4/site-packages/virtinst/DistroManager.py”, line 570, in acquireKernel
progresscb=progresscb, distro=distro, scratchdir=scratchdir)
File “/usr/lib/python2.4/site-packages/virtinst/DistroManager.py”, line 559, in _storeForDistro
raise RuntimeError, “Could not find an installable distribution the install location”
RuntimeError: Could not find an installable distribution the install location
‘
還有我掛 windows xp 的開機光碟也是一樣有錯誤
ubuntu-7.10 跟 xp 我也試過了, 不行, 文章最後我有稍徵提到一些, 想裝要用其他方法裝, 但我沒詳細研究過那個方法
??要用什麼辦法呢
我要在centos 裡要裝ubuntu也不行~~
可以給個方向嗎
你指在centos的xen裝ubuntu嗎?
如果是這個, 我之前google找過相關問題, 但我也沒試過耶, 不好意思
請問一下大大,我不小心把Domain-0給刪除了,現在變成無法新增vm了,有辦法可把原始的Domain-0給建出來嗎?謝謝了
我看了一下 Domain-0,預設好像沒有辦法刪除的,如果你真的弄丟了的話,如果是我,我會用原來的kernel版本開機,開完機後再裝一次Xen你先試看看。
站大,新年快樂,
可以請教你一下嗎?
你那個base的系統,是怎分配空間的嗎?
因為一般我在裝centos時,
swap給2倍ram的大小、var和usr都設定5G、boot給100mb、其他給home.
想問說像要裝vm,
這樣base是要怎麼分配比較好呢?
謝謝你囉
請問一下有辦法直接mount已經create好的image file嗎?
我現在有一個 ooxx.img 這樣的檔案
可以直接放入硬碟中然後使用xen來執行嗎?
請問一下,我在debian lenny 5.04上安裝xen之後,再安裝windows xp,但是當我下了
xm create -c winxp
之後,就一直停留在
started domain winxp
使用xm list可看到,winxp這個domain u是有在執行的
這是怎麼回事呢?
站大~你這篇的教學圖片已瀏覽不到,可以麻把圖片補上去或寄給我嘛??麻煩你了 謝謝