博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Xen虚拟机模版制作
阅读量:6916 次
发布时间:2019-06-27

本文共 3019 字,大约阅读时间需要 10 分钟。

  • 制作模版

windows

  1. 准备虚拟机,安装配置好一个用来制作模版的虚拟机

  2. 导出windows的mbr到文件(仅适用于mbr分区表的windows操作系统),基于lvm(基于文件需要使用loop设备)

    dd if=/dev/mapper/vg_lv_name of=/path/to/windows_tpl.mbr count=1 bs=512
  3. 生成模板磁盘的分区设备
    kpartx -av /dev/mapper/vg_lv_name

4.复制模板数据到文件(或分区)

ntfsclone -r -O  windows_tpl.img /dev/mapper/vg_lv_namep1

5.删除分区设备

kpartx -dv /dev/mapper/vg_lv_name

linux(仅适用于半虚拟化)

1.打包整个系统

tar cpzf os_tpl.tar.gz --exclude=/os_tpl.tar.gz /

2.建立虚拟磁盘

dd if=/dev/zero of=os_tpl.img bs=1 count=1 seek=10Gmkfs.ext4 os_tpl.imgmount -o loop os_tpl.img /mnt/os_tpl

3.释放系统文件到虚拟磁盘

tar -zxSf os_tpl.tar.gz -C /mnt/os_tpl

4.挂载系统所需目录(无此目录可创建),然后chroot

sudo mkdir -p /mnt/os_tpl/{proc,sys,dev,dev/pts}sudo mount -t proc proc /mnt/os_tpl/proc/sudo mount -t sysfs sys /mnt/os_tpl/sys/sudo mount -o bind /dev /mnt/os_tpl/dev/sudo mount -o bind /dev/pts /mnt/os_tpl/dev/pts/sudo chroot /mnt/os_tpl

5.chroot后更新系统并安装linux-virtual内核,当然,不要忘了更新 grub(centos同理)

apt-get update & apt-get upgradeapt-get install linux-virtualapt-get purge grub2 grub-pcapt-get install grubupdate-grub

6.换了内核后还需要更新和配置几个系统文件,menu.lst,fstab,hvc0.conf,以便新内核能在 Xen 虚拟环境里正常启动

# vi /boot/grub/menu.lstKernel command line: root=/dev/xvda1 xencons=tty console=tty1 console=hvc0 nosep nodevfs ramdisk_size=32768 ip_conntrack.hashsize=8192 nf_conntrack.hashsize=8192 ro devtmpfs.mount=1
# vi /etc/fstab/dev/xvda1      /           ext4    noatime,errors=remount-ro       0 1/dev/xvda2      none        swap    sw                              0 0tmpfs           /dev/shm    tmpfs   nodev,nosuid,noexec,mode=1777   0 0devpts          /dev/pts    devpts  gid=5,mode=620                  0 0sysfs           /sys        sysfs   defaults                        0 0/proc           /proc       proc    defaults                        0 0/dev/xvdb       /home       ext4    noatime,errors=remount-ro       0 1
# vi /etc/init/hvc0.conf# hvc0 - getty## This service maintains a getty on hvc0 from the point the system is# started until it is shut down again.start on stopped rc RUNLEVEL=[2345]stop on runlevel [!2345]respawnexec /sbin/getty -8 38400 hvc0

7.退出chroot并逆顺序卸载刚才挂载的目录

umount /mnt/os_tpl/proc/umount /mnt/os_tpl/sys/umount /mnt/os_tpl/dev/pts/umount /mnt/os_tpl/dev/umount /mnt/os_tpl
# xl create test.cfg
  • 创建虚拟机

windows

1.创建磁盘/磁盘镜像

lvcreate -L 20G -n xxx vg

2.从模版mbr恢复mbr到磁盘

dd if=windows_tpl.mbr of=/dev/mapper/vg_lv_name  count=1 bs=512

3.创建分区设备

kpartx -av /dev/mapper/vg_lv_name

4.复制模版数据到分区设备

ntfsclone -r -O /dev/mapper/vg_lv_namep1 windows_tpl.img

5.根据需要在分区设备执行resize

ntfsresize -f -v /dev/mapper/vg_lv_namep1

6.删除分区设备

kpartx -dv /dev/mapper/vg_lv_name

Linux

1.建立虚拟磁盘

dd if=/dev/zero of=test.img bs=1 count=1 seek=10G

2.格式化虚拟磁盘

mkfs.ext4 test.img

3.挂载虚拟磁盘

mount -o loop test.img /mnt

4.释放模版文件到目标位置

tar -zxSf test.tar.gz -C /mnt/
  • 创建Xen虚拟机配置文件,用 xl create 启动虚拟机
    # vi /etc/xen/test.cfgbootloader = "pygrub"root = "/dev/xvda ro"name = "test"vcpus = "1"memory = "2048"disk = [ "file:/root/test.img,xvda,w","file:/root/test.swp,xvdb,w" ]vif = [ "bridge=xenbr0" ]

转载于:https://blog.51cto.com/13187574/2084555

你可能感兴趣的文章
我的友情链接
查看>>
memcache、redis、mongodb对比
查看>>
关于分布式事务名词的基本解释的读书笔记
查看>>
组成关系映射(映射文件)
查看>>
我的友情链接
查看>>
CI框架中出现Disallowed Key Characters
查看>>
vdbench使用
查看>>
使用Serv-u限制文件类型
查看>>
VMware:NSX终于揭开面纱
查看>>
智慧人生 仁者见仁 与君共勉
查看>>
如何从Zabbix数据库中获取监控数据
查看>>
使用Xtrabackup进行MySQL备份
查看>>
org.hibernate.MappingException: Could not get constructor for org.hibernate.pers
查看>>
Apache配置——域名301跳转
查看>>
k-means算法(使用包)
查看>>
10道C++输出易错笔试题收集
查看>>
C语言中的switch语句
查看>>
KVM安装CentOS6.4系统虚拟机
查看>>
Java数组概念
查看>>
沪导航定位将精确到厘米 10个站点兼容四大系统
查看>>