设为首页 收藏本站
查看: 1169|回复: 0

[经验分享] xen-tools

[复制链接]

尚未签到

发表于 2015-10-11 12:41:51 | 显示全部楼层 |阅读模式
最近在寻找快速部署xen虚拟机方法,觉得官方推荐的xen-tools工具集不错,不过发现在介绍时一般用该工具部署Para-Vritralization(半虚拟化)模式的虚拟机,暂且不论部署什么模式的xen虚拟机 ,下面简单介绍一下xen-tools工具。
    在debian6上安装xen-tools工具:apt-get install xen-tools
    工具包中包含以下工具:

    /usr/bin/xen-create-image
    /usr/bin/xen-create-nfs
    /usr/bin/xen-delete-image
    /usr/bin/xen-list-images
    /usr/bin/xen-update-image
   在自动化管理xen虚拟机时都会用到以上几个命令,在创建虚拟机时主要使用xen-create-image命令,它主要调用以下几个命令:
    /usr/bin/xt-customize-image    创建镜像安装虚拟机
    /usr/bin/xt-install-image    手机hook脚本,对虚拟机进行配置
    /usr/bin/xt-create-xen-config    创建配置文件
    xen-tools主要使用到的的目录如下:
    /etc/xen-tools  包含主配置文件,分区配置文件,规则配置文件等。
    /var/log/xen-tools  包含每个vm创建过程中的日志。
    /usr/lib/xen-tools   包含一些hook脚本,在vm安装过程中对vm进行定制。

   /etc/xen-tools/xen-tools.conf 这是一个用脚本生成虚拟机实例的全局配置文件,包含在xen-tools包中,在该配置文件中定义的任何值都可以用外部命令重复定义,下面简单的介绍一下xen-tools.conf文件的配置:
#设置用来存储虚拟机本地镜像的目录,默认是注释状态,新的虚拟机实例会存储在该目录下以虚拟机hostname命名的子目录下。
# dir = /home/xen
#如果你不想用loopback images,则可以设置使用LVM卷组代替,
lvm = vm-xen
#  Installation method.
#虚拟机实例安装方法,有四种安装方法
# install-method = [ debootstrap | rinse | rpmstrap | copy | tar ]
install-method = debootstrap
#如果使用copy或者tar方法安装虚拟机实例,则需要指定从那个源头copy文件或者获取tar文件。
# install-source = /path/to/copy
# install-source = /some/path/img.tar
#安装命令定义,可以自己定义copy、tar、debootstrap等安装方法的定义,
# install-method = copy:
# copy-cmd = /bin/cp -a $src/* $dest
# install-method = debootstrap:
# debootstrap-cmd = /usr/sbin/debootstrap
# install-method = tar:
# tar-cmd  = /bin/tar --numeric-owner -xvf $src
# 虚拟机磁盘大小
size   = 30Gb      
# 虚拟机内存大小
memory = 1024Mb
# 虚拟机swap大小
swap   = 2048Mb
# 如果不想使用swap,使用以下配置  
# noswap = 1
# 设置磁盘上的文件系统类型   
fs     = ext4
# 虚拟机的默认安装版本,会和宿主机一致   
dist   = `xt-guess-suite-and-mirror --suite`
# Specify sparse vs. full disk images.
image  = sparse   
# 网络设置
#如果希望给虚拟机实例设置静态IP则可以把一下内容取消注释
gateway    = 10.1.6.254
netmask    = 255.255.255.0
broadcast  = 10.1.6.255
#配置虚拟机实例使用dhcp
dhcp = 1
#给虚拟机实例设置默认的hostname,默认是不设置的,并且Dom0's /etc/resolv.conf会被拷贝到虚拟机实例上面
nameserver = xen-vmserver
#给host的vif设置桥接名称
# bridge = xendmz
# Misc options
#在使用debootstrap安装方法时,如果希望取消掉安装时下载的deb包,则可以去掉注释
# cache = no
#默认的缓存目录是/var/cache/apt/archives/,如果它不存在则设置为/var/cache/xen-tools/archives/
# cachedir = /var/cache/xen-tools/archives/
#如果你不想给虚拟机实例手动设置root密码,则注释掉以下内容
# genpass = 0
#设置密码的长度
# genpass_len = 8
#设置密码的加密方式,可以有md5, sha256 and sha512三种方式
# hash_method = sha256
#在安装虚拟机实例时如果希望交互的设置root密码可以设置以下选项
passwd = 1
#把宿主机上的所有非系统帐号copy到虚拟机实例上
# accounts = 1
#设置虚拟机实例默认使用的kernel和ramdisk,因为使用的是XEN的内核,所以uname -r 出来的是xen东西。
kernel = /boot/vmlinuz-`uname -r`
initrd = /boot/initrd.img-`uname -r`
#设置虚拟机实例的架构体系,值适用于debootstrap, rinse, or rpmstrap安装,在64位的机器上很有用
# arch = [i386|amd64]
#在使用debootstrap安装时设置默认的mirror
mirror = http://mirrors.163.com/debian
#  Filesystem options for the different filesystems we support.
ext3_options     = noatime,nodiratime,errors=remount-ro
ext2_options     = noatime,nodiratime,errors=remount-ro
xfs_options      = defaults
reiserfs_options = defaults
btrfs_options    = defaults
#在创建虚拟机完毕后直接启动
boot = 1
#如果是在lenny或者之后的OS上安装XEN,需要确保使用hvc0作为虚拟机的serial device,使用xvdX代替sdX作为虚拟机的serial devices
#default
serial_device = hvc0
# serial_device = tty1
#default
disk_device = xvda
# disk_device = sda
#设置xen配置文件的输出目录和配置文件的后缀,配置文件名默认是$hostname.cfg
output    = /etc/xen
extension = .cfg
#是否把dom0的/etc/hosts追加到虚拟机实例中
# 默认不建立dom0的/etc/hosts
# nohosts = 0
# 默认不拷贝dom0的/etc/hosts到虚拟机实例
# copyhosts = 0
注:在使用xen-create-image命令时CLI的选项都可以覆盖xen-tools.conf里面的配置。


    下面简单介绍一下 xen-create-image的使用,在自动化安装xen虚拟机时主要使用该工具:                   --accounts   拷贝所有的非系统帐号到虚拟机实例上
        --admins     在使用xen-shell时指定哪些管理员需要被创建
        --boot       在创建完虚拟机实例后启动它
        --cache=yes 在使用debootstrap安装完新虚拟机实例后是否缓存下载的deb包。                               --cachedir=缓存的deb包保存在哪个目录,debian系是/var/cache/apt/archives/,redhat系是/var/cache/xen-tools/archives/
        --config=file 读取非默认的全局配置文件,默认文件是/etc/xen/xen-tools.conf                               --copyhosts  把宿主机的/etc/hosts文件拷贝到虚拟机实例上
        --debootstrap-cmd=/usr/sbin/debootstrap 设置debootstrap命令的路径,也可以是cdebootstrap
        --disk_device=xvda 设置虚拟机实例的设备名称,默认是xvda
        --extension=cfg 指定生成的xen虚拟机实例配置文件的扩展名
        --force  强制重写已经存在的虚拟机实例镜像
        --fs=fs  指定虚拟机实例使用的文件系统类型,ext2 ext3 ext4 reiserfs xfs btrfs
        --genpass=1  生成一个随机的root密码,0代表关闭
        --genpass_len=8 设置随机生成的密码的长度,只和--genpass配合使用
        --hash_method=sha256 设置密码的加密算法, md5, sha256 or sha512
        --hooks=1    是否在虚拟机实例创建完毕后运行钩子程序
        --ide      设置虚拟机实例的IDE名称,例如用hda代替默认的xvda
        --image=full    设置生成的虚拟机镜像采用哪种格式,有两种可选"sparse" or "full",但是如果选择LVM,则必须是full格式。
        --image-dev=/path/to/device  设置镜像设备所在路径                    
        --initrd=/path/to/initrd   设置在安装虚拟机时使用的initial ramdisk,一般使用宿主机的
        --install=1  Specify whether to install the guest system or not.
        --keep       如果安装失败不要删除镜像
        --kernel=/path/to/kernel   设置在安装虚拟机时使用的kernel ,一般使用宿主机的
        --memory=size    分配给虚拟机的内存                 
        --modules=/path/to/modules   设置在安装虚拟机时使用的 kernel modules ,一般使用宿主机的                --nohosts    Don't touch /etc/hosts on the dom0.
        --noswap    在虚拟机实例上不创建交换分区
        --output=dir   设置生成的xen虚拟机实例配置文件的输出路径
        --partitions=file  设置自定义的分区划分文件,如果使用该文件,则默认的fs, size, swap and noswap参数均被忽略
        --password=xxx 给虚拟机实例设置root密码
        --passwd     在安装虚拟机实例的过程中交互式的设置root密码 会覆盖--genpass --password                 --pygrub     DomU should be booted using pygrub.
        --role=role  在安装实例时运行指定的role规则                                --role-args="--arg1 --arg2"                               --roledir=/path/to/directory  包含规则的目录,默认是/etc/xen-tools/role.d/
        --scsi       在虚拟机实例中使用scsi设备名称代替默认的xvda,例如sda代替xvda
        --serial_device=serialname  设置串行设备名称,默认是hvc0                               --size=size  设置虚拟机实例主镜像大小
        --swap=size 设置swap分区大小
        --swap-dev=/path/to/device  设置swap分区镜像所在路径                              --vcpus=num   设置分配给虚拟机的cpu,默认1                     
        Installation options:
        --arch=amd64   在使用debootstrap, rinse,rpmstrap方法安装虚拟机实例时可以指定架构类型,在其他安装方法中不生效
        --dist=dist  指定那个发行版你希望安装,如:lenny
        --install-method=debootstrap  设置虚拟机实例的安装方法                               --install-source=/path/to/tarball  使用copy或者tar安装方法时设置的源路径                              --mirror=url    在使用debootstrap安装时,设置一个mirror url,默认使用 /etc/apt/sources.list里面的。
        --template=tmpl    这个模版文件是用来生成xen虚拟机实例的配置文件的
        Networking options:
        --bridge=brname  在宿主机上有多个网桥时可以给新建的虚拟机指定一个网桥                               --broadcast=123.456.789.ABC  设置虚拟机的广播地址                              --dhcp   虚拟机实例通过dhcp获取ip
        --gateway=gw   虚拟机实例的网关
        --ip=xx  设置虚拟机ip地址,可以设置多个ip,在多ip中第一个ip为系统ip,其余ip是aliases
        --mac=AA:BB:CC:DD:EE:FF  设置虚拟机的MAC地址
        --netmask=123.456.789.ABC  设置虚拟机的掩码
        --nameserver=xxx  设置虚拟机的dns,多个ip用空格分开,如果没有设置则采用Dom0's /etc/resolv.conf的配置
        --vifname=vifname   给实例指定vif名称                       
        Mandatory options:
        --dir=/path/to/directory   loopback images的存储目录
        --evms=lvm2/container
        --hostname=host.example.org  设置虚拟机实例的主机名
        --lvm=vg   指定在那个LVM卷组中创建虚拟机实例的镜像

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-125437-1-1.html 上篇帖子: xen io tapdisk2基本流程分析 下篇帖子: xen创建虚拟机
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表