xen製作半虛擬guestOS

2021-08-30 16:25:00 字數 1869 閱讀 3222

測試環境:

系統:rhel5.1

xen版本:xen3.1

1.建映像檔案

# dd if=/dev/zero of=rhel5.img bs=2k seek=2048k count=1

上面的例子是建立了大小為4.1g ,名為 rhel5.img的映像檔案;您可以調整上面命令引數的大小來建立您想要的體積大小的映像檔案。

2.格式化映像為linux檔案系統

# /sbin/mkfs.ext3 rhel5,img

提示proceed anyway? (y,n) 輸入y回車就可以了

3.掛載映像

# mkdir /mnt/rhel5

# mount -o loop rhel5.img /mnt/rhel5

這樣我們向/mnt/rhel5中存放檔案,就相當於將檔案存到了映像檔案中。

4.拷貝系統檔案到虛擬磁碟中

將物理機裡面的檔案拷貝到/mnt/rhel5中。如下:

# cp -ax / /mnt/rhel5

# mkdir /mnt/rhel/

如果是64位的系統,還有乙個lib64的包要拷貝,如下:

# cp -rf /lib64    /mnt/rhel5

5.修改/mnt/rhel5/etc/fstab檔案,命令如下:

#echo "/dev/hda1   /     ext3    defaults        1 1" > /mnt/rhel5/etc/fstab

修改/mnt/rhel5/etc/selinux/config檔案,將selinux設定成disabled

6.解除安裝/mnt/rhel5:

#umount /mnt/rhel5

到此半虛擬的映象就製作好了

7.修改配置檔案

#cp /etc/xen/xmexample2 ./rhel5.cfg

#vim rhel5.cfg

修改完成後內容如下,括號裡面為注釋:

kernel = "/boot/vmlinuz-2.6.18-xen"            (虛擬機器核心)

ramdisk = "/boot/initrd-2.6.18-xen.img"         (虛擬機器的記憶體虛擬磁碟)

memory = 256                             (指定虛擬機器的記憶體大小為256m)

name = 」rhel5「                            (虛擬機器的名字)

vcpus = 2                                 (指定虛擬機器的cpu個數為2個)

vif = [ '' ]                                 (網絡卡引數)

ip="192.168.63.88"                          (虛擬機器ip)

netmask="255.255.255.0"                     (虛擬機器掩碼)

gateway="192.168.63.1"                      (虛擬機器閘道器)

disk = [ 'file:/root/rhel5.img,hda1,w' ]           (虛擬機器磁碟,將檔案rhel5.img對映成hda1)

root = "/dev/hda1 ro"                         (虛擬機器從hda1啟動)

這裡的root="/dev/hda1 ro"要和第5步中修改的fstab裡面寫的一模一樣,否則就啟動不起來

8.啟動虛擬機器:

# xm create rhel5.cfg

再用以下命令就可以進入虛擬機器了:

# xm console 19 (把19替換成你的虛擬機器id)

XEN 半虛擬化 全虛擬化

半虛擬化,支援通過 http ftp nfs 方式進行安裝。全虛擬化,支援通過 iso檔案 光碟機 網路pxe 安裝。半虛擬化的意思是需要修改被虛擬系統的核心,以實現系統能被完美的虛擬在xen上面。完全虛擬化則是不需要修改系統核心則可以直接執行在xen上面。pv vs.fv pv para vrit...

XEN虛擬CPU管理

xen客戶機啟動的時候,虛擬cpu是由dom0系統決定固定在某個物理cpu核心上的,這個分配具有隨機性,比如我們的機器上有2個雙核的處理器,也就是說有4個cpu核心,同時我們分配4個核給我們的虛擬客戶機,那麼我們在客戶機也看到4個cpu核心的,但是這四個vcpu核心並不是真的對應著物理機器上的四個核...

XEN虛擬CPU管理

xen客戶機啟動的時候,虛擬cpu是由dom0系統決定固定在某個物理cpu核心上的,這個分配具有隨機性,比如我們的機器上有2個雙核的處理器,也就是說有4個cpu核心,同時我們分配4個核給我們的虛擬客戶機,那麼我們在客戶機也看到4個cpu核心的,但是這四個vcpu核心並不是真的對應著物理機器上的四個核...