建立Linux下Xen虛擬機器

來源:互聯網
上載者:User

mkdir /domU

1.建立虛擬機器映像

dd if=/dev/zero of=xen.img bs=1M count=16000

dd if=/dev/zero of=xen2.img bs=1M count=16000

mkfs -t ext3 xen.img

mkfs -t ext3 xen2.img

mount -o loop /domU/xen.img /mnt

cp -ax /{bin,dev,etc,lib,lib64,opt,root,sbin,usr,var} /mnt

mkdir /mnt/{home,proc,selinux,srv,sys,tmp}

建立swap盤

mkswap /slview/swap1.img

vi /mnt/etc/fstab

/dev/hda1               /                       ext3    defaults        1 1

tmpfs                   /dev/shm                tmpfs   defaults,size=1024m        0 0

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                   /sys                    sysfs   defaults        0 0

proc                    /proc                   proc    defaults        0 0

/dev/sdg           swap                    swap   defaults         0 0

---edit network

vi /mnt/etc/sysconfig/network

---edit ifcfg-eth0

vi /mnt/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.24.210
NETMASK=255.255.255.0
NETWORK=192.168.24.0
BROADCAST=192.168.24.255

-----gen   initrd

mkinitrd -v -f --fstab /mnt/etc/fstab --with xenblk \

--with xennet --preload xenblk --preload xennet \

initrd-2.6.18-194.el5xen.wd.img `uname -r`

umount /mnt

---在/etc/inittab

co:2345:respawn:/sbin/agetty xvc0 9600 vt100-nav

>init q

>ln -s /dev/console /dev/xvc0

---建立內網橋接器

vi ifcfg-xenbr2
DEVICE=xenbr2
BOOTPROTO=static
ONBOOT=yes
TYPE=Bridge
啟動橋接器
ifup xenbr2

----編輯虛擬機器組態檔

name="oradb1"
kernel="/boot/vmlinuz-2.6.18-238.el5xen"
ramdisk="/boot/initrd-2.6.18-238.el5xen.wd.img"
memory="2048"
vcpus = 2
vif=['mac=00:16:3e:2e:40:cf,bridge=xenbr0','mac=00:16:3e:2e:a9:41,bridge=xenbr1']
disk=['tap:aio:/slview/db1.img,sda1,w','tap:aio:/slview/vot1.img,sdb,w!','tap:aio:/slview/vot2.img,sdc,w!','tap:aio:/slview/ocr1.img
,sdd,w!','tap:aio:/slview/ocr2.img,sde,w!','tap:aio:/root/data1.img,sdf,w!','tap:aio:/slview/swap1.img,sdg,w','tap:aio:/slview/ocr3.
img,sdh,w!','tap:aio:/slview/flash1.img,sdi,w!','tap:aio:/slview/flash2.img,sdj,w!','tap:aio:/root/data2.img,sdk,w!']
root="/dev/sda1 rw"

橋接器配置:

修改 Xend 設定檔 /etc/xen/xend-config.sxp ,取消下面兩行的注釋:

(network-script network-bridge)

(vif-script vif-bridge)

使用brctl show來查看橋接器

DomU的config中設定vif = ['bridge=xenbr0']

儲存配置

[root@db6 xen]# cat oralinux

name    = "oravm1"

kernel  = "/boot/vmlinuz-2.6.18-194.el5xen"

ramdisk = "/boot/initrd-2.6.18-194.el5xen.wd.img"

memory  = "256"

vcpus   = 2

vif     = [ 'ip=192.168.1.140,bridge=xenbr0','ip=192.168.100.140,bridge=xenbr1' ]

disk    = [ 'file:/domU/xen.img,hda1,w','file:/domU/sdb.img,sdb,w!','file:/domU/sdc.img,sdc,w!','phy:/dev/mapper/oradata1,sdn,w!' ]

root    = "/dev/hda1 ro "

------------------------------------------------------虛擬機器-----------------

強制多虛擬機器共用儲存

phy:/dev/sda,sda,w!  加歎號

需要讓xend為兩塊網卡建立bridge,需要修改/etc/xen/xend-config.sxp,將(network-script 'network-bridge')

改為:

(network-script 'my_network_script')

my_network_script是我們自己的指令碼,建立/etc/xen/scripts/my_network_script內容如下:

#!/bin/sh

dir=$(dirname "$0")

"$dir/network-bridge" "$@" vifnum=0 netdev=eth0 bridge=xenbr0

"$dir/network-bridge" "$@" vifnum=1 netdev=eth1 bridge=xenbr1

將my_network_script加上執行許可權:

chmod a+x /etc/xen/scripts/my_network_script

重啟伺服器,可以用ifconfig看到xend建立的4個網路介面

可以看到虛擬交換器上的串連如下:
[root@rac2 xen]# brctl show
bridge name     bridge id               STP enabled     interfaces
xenbr0          8000.feffffffffff       no              vif1.0  dom1的eth0
                                                        peth0  主機的物理網卡0
                                                        vif0.0  Dom0的eth0
xenbr1          8000.feffffffffff       no              vif1.1  Dom1的eth1
                                                        peth1  主機的物理網卡1
                                                        vif0.1  Dom0的eth1

編輯虛擬機器組態檔:

Error: Device 2048 (vbd) could not be connected. Failed to find an unused loop device

Error: Device 2064 (vbd) could not be connected. losetup -r /dev/loop8 /domU/sdb.img failed

>losetup -a 查看loop裝置使用方式

再卸載 loop 模組  rmmod loop

>vi /etc/modprobe.conf

options loop max_loop=16

再重新載入 loop 模組檢查是否生效

modprobe loopdmesg | grep loop               # 應當能見到 loop: loaded (max 16 devices)

最後建立 loop 裝置檔案

ls -d /dev/loop*

mknod -m0660 /dev/loop9 b 7 8   

chown root:disk /dev/loop9

mknod loop8 b 7 8

mknod loop9 b 7 9

Q: ADDRCONF(NETDEV_UP): vif1.0: link is not ready

A: 將/dev/sda1改為/dev/hda1

Q: 使用vnc報以下錯誤
[root@db1 ~]# su - grid
-bash-3.2$ xclock
Xlib: connection to ":1.0" refused by server
Xlib: No protocol specified
Error: Can't open display: :1.0

A: 用root帳號執行下列命令既可
xhost + localhost

Q:fdisk分區表無法儲存
A:
chmod 755 *.img
file:/slview/db1.img 改成tape:aio:/slview/db1.img

Q:mkrootdev: expected fs options
    mount: missing mount point
    setuproot: moving /dev failed No such file or directory
    setuproot: error mounting /proc: No such file or directory
    setuproot: error mounting /sys: No such file or directory
    switchroot: mount failed: No such file or directory
A:mkinitrd, /fstab內容

Q: /sbin/hwclock: error while loading shared libraries: libaudit.so.0: cannot open shared object file: Permission denied

A: 關閉selinux

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.