未分類

虛擬伺服器 Xen 實作教學 for CenOS5

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

14 thoughts on “虛擬伺服器 Xen 實作教學 for CenOS5

  1. 請問一下, 依照你的方法

    # 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 內的資料

  2. 應該是被SELinux擋住了, 你可以
    # setenforce 0
    把SELinux暫存關閉再試試

    或者
    # vi /etc/sysconfig/selinux
    SELINUX=disabled
    永遠關閉SELinux

  3. 實在是太神了
    把 SELINUX 關掉就好了

    # vi /etc/sysconfig/selinux
    SELINUX=disabled

    您可能要把上面那一小段加到你的文章內
    因我是安裝 centos 5.1 有安裝預設的 xen, 全部用預設安裝,然後就依這你這份文件來設定,在關掉SELINUX 之前我花了很多時間在設定 httpd.conf 文件

    不過 xen 可以連到 http://192.168.1.5/cdrom/ 內容 但是會出現錯誤無法安裝OS
    錯誤內容有空再貼上來

  4. 問一下
    我下載 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 的開機光碟也是一樣有錯誤

  5. 請問一下大大,我不小心把Domain-0給刪除了,現在變成無法新增vm了,有辦法可把原始的Domain-0給建出來嗎?謝謝了

  6. 我看了一下 Domain-0,預設好像沒有辦法刪除的,如果你真的弄丟了的話,如果是我,我會用原來的kernel版本開機,開完機後再裝一次Xen你先試看看。

  7. 站大,新年快樂,

    可以請教你一下嗎?
    你那個base的系統,是怎分配空間的嗎?

    因為一般我在裝centos時,
    swap給2倍ram的大小、var和usr都設定5G、boot給100mb、其他給home.

    想問說像要裝vm,
    這樣base是要怎麼分配比較好呢?

    謝謝你囉

  8. 請問一下有辦法直接mount已經create好的image file嗎?
    我現在有一個 ooxx.img 這樣的檔案
    可以直接放入硬碟中然後使用xen來執行嗎?

  9. 請問一下,我在debian lenny 5.04上安裝xen之後,再安裝windows xp,但是當我下了
    xm create -c winxp
    之後,就一直停留在
    started domain winxp
    使用xm list可看到,winxp這個domain u是有在執行的
    這是怎麼回事呢?

發佈回覆給「bowing」的留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *