IT技術互動交流平jiao)tai)

广东福彩网官网

來源︰IT165收集  發布日期︰2020-02-18 10:54:35
本文 參考地址 從Xen Host Kernel復制出一(yi)個半(ban)虛擬化的guest

1. img和swap

創建(jian)一(yi)個50G的用于根文件系(xi)統的 img

# dd if=/dev/zero of=/data/xen/xen1.img bs=1M seek=51200 count=0

格式化成ext3

# mkfs -t ext3 /data/xen/xen1.img

創建(jian)一(yi)個2G的用于swap交換的img

# dd if=/dev/zero of=/data/xen/xen1..swap bs=1M seek=2048 count=0

格式化為(wei)swap

# mkswap /data/xen/xen1.swap

2.復制Host的根文件系(xi)統到(dao)guest的根文件系(xi)統img中

# mkdir /tmp/loop

# mount -o loop =/data/xen/xen1.img /tmp/loop -o rw,acl

# cp -ax /{bin,dev,etc,lib,lib64,root,sbin,usr,var} /tmp/loop

這里要非(fei)常注意!!!在x86_64中一(yi)定要記得復制/lib64,因(yin)為(wei)lib64中有(you)一(yi)些系(xi)統必須的鏈接(jie)庫(ku)。

創建(jian)剩余的文件夾

# mkdir /tmp/loop/{home,proc,opt,sys.tmp}

# chmod 777 /tmp/loop/tmp

3.修改(gai)guest root filesystem中的一(yi)些文件

/tmp/loop/etc/fstab︰

/dev/xvda1  /   ext3 defaults 1 1/dev/xvda2  none   swap sw 0 0none   /dev/pts  devpts gid=5,mode=620 0 0none   /dev/shm  tmpfs defaults 0 0none   /proc   proc defaults 0 0none   /sys   sysfs defaults 0 0

注意這些文件中保(bao)存的用戶信息和主機信息

/tmp/loop/etc/passwd

/tmp/loop/etc/group

/tmp/loop/etc/hosts

修改(gai)網(wang)絡配(pei)置

/tmp/loop/etc/sysconfig/network 修改(gai)HOSTNAME=xen1,

/etc/sysconfig/network-scripts/ifcfg-eth0 設置一(yi)個和Host br0在同一(yi)個網(wang)段的IP,還要刪掉UUID和HWADDR,要不然和host端shuo)撓布?芬yi)樣了。或者(zhe)是在通過控制台(tai)連接(jie)到(dao)虛擬機後(hou)再修改(gai)也(ye)可以。

卸(xie)載guest的根目(mu)錄

# umount /tmp/loop/

4.創建(jian)一(yi)個xen虛擬機配(pei)置文件/etc/xen/xen1.cfg

指定啟動內核為(wei)Host的內核文件

kernel="/boot/vmlinuz-3.18.25-19.el6.x86_64"ramdisk="/boot/initramfs-3.18.25-19.el6.x86_64.img"name="xen1"memory="4096"disk = ['tap:aio:/data/xen/xen1.img,xvda1,w', 'tap:aio:/data/xen/xen1.swap,xvda2,w']vcpus=4on_reboot="restart"on_crash="destroy"root="/dev/xvda1 ro"extra="selinux=0"vif=["bridge=br1"]

需(xu)要注意的是,在啟動虛擬機的時候(hou)可能會報(bao)出dracut: chroot: failed to run command `/sbin/load_policy': No such file or directory,這就是qie)蛭wei)clone根文件系(xi)統時沒有(you)把/lib64復制到(dao)guest中造成的,參考http://marc.info/?l=xen-users&m=135907220030809。

 

5.啟動並控制台(tai)連接(jie)到(dao)虛擬機

不要用xl create,virsh create創建(jian)虛擬機用virsh define!我用前(qian)兩中方法創建(jian)虛擬機沒問題,但是關閉虛擬機後(hou)就找ye)壞dao)了!

用virsh define創建(jian)虛擬機

 

將/etc/xen/下(xia)的配(pei)置文件轉換為(wei)virsh的配(pei)置文件

 

virsh -c xen:/// domxml-from-native xen-xl xen1.cfg >xen1.xml
創建(jian)虛擬機
virsh define xen1.xml

最後(hou)出現登錄提示,使用Host OS的帳號(hao)密(mi)碼(ma)登錄即可

CentOS release 6.6 (Final)
Kernel 3.14.42-1.el6xen.x86_64 on an x86_64
centos6-1 login:

6.這樣我們就可以通過復制已經(jing)創建(jian)好的guest的根文件系(xi)統img和swap,並且(qie)復制修改(gai)一(yi)個xen客戶機配(pei)置文件,修改(gai)好根文件系(xi)統中的一(yi)些文件如fstab和network,就可以很(hen)方便地clone多個虛擬機了。

 

遇到(dao)的問題︰ 1.執行virsh list命令時bao)error: Failed to reconnect to the hypervisor
error: no valid connection
error: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory
解決(jue)辦法︰ yum -y install avahi /etc/init.d/messagebus restart
/etc/init.d/avahi-daemon restart
/etc/init.d/libvirtd restart
/sbin/chkconfig messagebus on
/sbin/chkconfig avahi-daemon on
2.Error, some other host already uses address 解決(jue)辦法︰ 注釋/etc/sysconfig/Network-scripts/ifup-eth文件內容︰
#if ! arping -q -c 2 -w 3 -D -I ${REALDEVICE} ${IPADDR} ; then
# net_log $"Error, some other host already uses address ${IPADDR}."
# exit 1
#fi
service network restart
3.xl創建(jian)虛擬機復制目(mu)錄時 cp -ax /{bin,dev,etc,lib,root,sbin,usr,var} /tmp/loop報(bao)錯(cuo)︰ cp: preserving permissions for `/mnt/var/run/cups/certs/0': Operation not supported
解決(jue)辦法︰掛載時加(jia)參數(shu)-o rw,acl mount -o loop /data/xen/xen2.img /tmp/loop -o rw,acl
4.創建(jian)第5台(tai)虛擬機的時候(hou) Error: Device 2049 (vbd) could not be connected. Failed to find an unused loop device
解決(jue)辦法︰
MAKEDEV -v /dev/loop
  • 广东福彩网官网

About IT165 - 廣(guang)告服務 - 隱私聲明 - 版權申明 - 免責條款 - 網(wang)站地圖 - 網(wang)友投稿(gao) - 聯系(xi)方式
本站內容來自(zi)于互聯網(wang),僅(jin)供用于網(wang)絡技術學(xue)習,學(xue)習中請遵循相關法律法規
广东福彩网官网 | 下一页