Xen入门系列四【Xen 管理实操】
2014-05-24 14:16
197 查看
1. 克隆一台虚拟机
克隆完成后可以通过 xm list 查看到新克隆的虚拟机,通过 xm start vm-clone 即可启动。克隆完成后会在路径 /vm 下生成 vm-clone.img,但不会自动生成配置文件,如果需要对新克隆的虚拟机重新进行配置操作则需要为其建立配置文件,那怎么创建呢,上一篇中我们提到 xm list 所能看到的虚拟机的配置信息都保存在 /var/lib/xend/domains 这个路径下。
我们看到是一堆以uuid为名称的文件夹,每个文件夹下面保存对应虚拟机的配置信息,我们也可以在克隆的时候使用 -u 参数来指定虚拟机的uuid,这样更方便管理,下面我们来看看配置信息是什么样子的,刚刚克隆的虚拟机应该是时间最晚的那个喽。
接下来我们要做的就是从这个文件中摘取所需的信息做成我们的配置文件,如下:
将文件保存为 /etc/xen/vm-clone.cfg 现在就可以使用该配置文件来启动虚拟机了,xm create /etc/xen/vm-clone.cfg
2. 为虚拟机添加一块硬盘
在配置文件disk 项中加入新建的硬盘文件
3. 为虚拟机添加网卡
在配置文件vif项中加入加入新的网卡配置项,我通常的做法时直接复制前面的,然后将mac地址最后一位递增。
4. 创建桥接网络
注:以下操作均在Domain 0操作
# virt-clone -o base -n vm-clone -f /vm/vm-clone.img 参数说明: -o 原虚拟机的名称;必须为关闭或者暂停状态。 -n 新虚拟机的名称 -f 作为新虚拟机端磁盘映像的新文件 -u 新虚拟机的UUID;默认为随机生成UUID -m 新虚拟机的 MAC地址。默认为随机生成 MAC。
克隆完成后可以通过 xm list 查看到新克隆的虚拟机,通过 xm start vm-clone 即可启动。克隆完成后会在路径 /vm 下生成 vm-clone.img,但不会自动生成配置文件,如果需要对新克隆的虚拟机重新进行配置操作则需要为其建立配置文件,那怎么创建呢,上一篇中我们提到 xm list 所能看到的虚拟机的配置信息都保存在 /var/lib/xend/domains 这个路径下。
# cd /var/lib/xend/domains # ll drwx------. 2 root root 4096 5月 2 23:39 0967b939-4085-04ca-6896-34e5ef1e8fa8 drwx------. 2 root root 4096 5月 22 04:08 74359c07-1e59-52e9-d29e-c33a68d24e77 drwx------. 2 root root 4096 5月 2 18:14 7e30aa10-2ebf-035e-c033-a35728104213 drwx------. 2 root root 4096 5月 21 05:48 889f7761-783b-6100-f71a-ea1cb8f4c591 drwx------. 2 root root 4096 5月 21 05:46 ba09e174-26f7-5e96-1fe4-5c8537b83a29 drwx------. 2 root root 4096 5月 2 19:14 baee7fd6-afcc-7d98-2d59-041456dfa693 drwx------. 2 root root 4096 5月 24 19:07 c22307e2-035e-3e49-d42c-f141865aab21
我们看到是一堆以uuid为名称的文件夹,每个文件夹下面保存对应虚拟机的配置信息,我们也可以在克隆的时候使用 -u 参数来指定虚拟机的uuid,这样更方便管理,下面我们来看看配置信息是什么样子的,刚刚克隆的虚拟机应该是时间最晚的那个喽。
# cat ./c22307e2-035e-3e49-d42c-f141865aab21/config.sxp (domain (vcpus_params ((cap 0) (weight 256))) (PV_args '') (memory_static_min 0) (HVM_boot_policy '') (PV_bootloader /usr/bin/pygrub) (pool_name Pool-0) (auto_power_on False) (memory_static_max 536870912) (cpus (() ())) (actions_after_shutdown destroy) (memory_dynamic_max 536870912) (memory_sharing 0) (superpages 0) (is_a_template False) (PV_bootloader_args -q) (memory_dynamic_min 536870912) (VCPUs_live 1) (target 0) (actions_after_crash destroy) (uuid c22307e2-035e-3e49-d42c-f141865aab21) (PV_ramdisk '') (other_config ()) (name_label vm-clone) (PV_kernel '') (actions_after_reboot restart) (VCPUs_at_startup 1) (HVM_boot_params ()) (platform ((tsc_mode 0) (nomigrate 0) (localtime 0))) (VCPUs_max 2) (Description ' server ') (pool_name Pool-0) (bootloader /usr/bin/pygrub) (vcpus 2) (cpus (() ())) (on_poweroff destroy) (description ' server ') (on_crash destroy) (uuid c22307e2-035e-3e49-d42c-f141865aab21) (bootloader_args -q) (name vm-clone) (on_reboot restart) (maxmem 512) (memory 512) (shadow_memory 0) (vcpu_avail 3) (features '') (on_xend_start ignore) (on_xend_stop ignore) (image (linux (kernel '') (superpages 0) (localtime 0) (nomigrate 0) (tsc_mode 0) ) ) (status 0) (device (tap2 (bootable 1) (uname tap2:aio:/vm/vm-clone.img) (mode w) (dev xvda) (uuid 9559d0d2-b2ce-3903-13f6-78c469a3e6d4) ) ) (device (vif (bridge br0) (mac 00:16:3e:55:85:ac) (uuid 9f8669f3-4201-1382-0bf0-937725d83226) (script vif-bridge) ) ) )
接下来我们要做的就是从这个文件中摘取所需的信息做成我们的配置文件,如下:
# 半虚拟化配置文件示例 name="vm-clone" description=" server " uuid="c22307e2-035e-3e49-d42c-f141865aab21" memory=512 maxmem=512 vcpus=2 on_poweroff="destroy" on_reboot="restart" on_crash="destroy" localtime=0 keymap="en-us" builder="linux" bootloader="/usr/bin/pygrub" bootargs="" disk=[ 'tap2:aio:/vm/vm-clone.img,xvda,w' ] vif=[ 'mac=00:16:3e:55:85:ac,bridge=virbr0,script=vif-bridge']
将文件保存为 /etc/xen/vm-clone.cfg 现在就可以使用该配置文件来启动虚拟机了,xm create /etc/xen/vm-clone.cfg
2. 为虚拟机添加一块硬盘
# 创建一个2G的硬盘文件 # dd if=/dev/zero of=/vm/vm-clone-add.img bs=1024M count=2
在配置文件disk 项中加入新建的硬盘文件
disk=[ 'tap2:aio:/vm/vm-clone.img,xvda,w', 'tap2:aio:/vm/vm-clone-add.img,xvdb,w']
# xm create /etc/xen/vm-clone.cfg # 登陆虚拟机之后通过 fdisk -l或ls /dev 即可查看到刚刚新添加的硬盘设备,对其进行分区格式化之后即可挂载使用。
3. 为虚拟机添加网卡
在配置文件vif项中加入加入新的网卡配置项,我通常的做法时直接复制前面的,然后将mac地址最后一位递增。
vif=['mac=00:16:3e:55:85:ac,bridge=virbr0,script=vif-bridge','mac=00:16:3e:55:85:ad,bridge=virbr0,script=vif-bridge']
# xm create /etc/xen/vm-clone.cfg # 登陆虚拟机之后通过ifconfig -a 可以查看到新增的网卡,在/etc/sysconfig/network-script/下为其创建配置文件后便可启动该网卡。
4. 创建桥接网络
注:以下操作均在Domain 0操作
# 安装bridge-utils # yum install bridge-utils
# 配置ifcfg-eth0 DEVICE=eth0 NM_CONTROLLED=no ONBOOT=yes TYPE=Ethernet BRIDGE="virbr1" USERCTL=no
# 配置ifcfg-virbr1 DEVICE=virbr1 BOOTPROTO=none NM_CONTROLLED=no ONBOOT=yes TYPE=Bridge IPADDR=192.168.0.5 PREFIX=24 GATEWAY=192.168.0.1 DNS1=8.8.8.8 DNS2=8.8.4.4 USERCTL=no
# 重启网络服务生效 # service network restart # 此时 ifconfig 可以看到桥接网络virbr1
# 编辑要连接到 virbr1 的虚拟机配置文件,将桥接网卡设置为virbr1 vif=['mac=00:16:3e:55:85:ac,bridge=virbr1,script=vif-bridge'] # 登陆虚拟机之后虚拟机就可以通过桥接网络进行联网了
相关文章推荐
- Xen入门系列三【Xen 管理工具 xm】
- Xen入门系列三【Xen 管理工具 xm】
- [项目管理入门系列] 师傅领进门-------项目运作的一般流程(三)
- JSP Web开发入门系列(二)---JDBC事务管理
- iOS 非ARC基本内存管理系列 -手把手教你ARC——iOS/Mac开发ARC入门和使用(转)
- 企业级Hadoop 2.x入门系列之四HDFS文件系统和YARN资源管理框架简介
- WPF快速入门系列(9)——WPF任务管理工具实现
- [项目管理入门系列] 师傅领进门-------项目运作的一般流程(一)
- 【Tools.Gradle】Gradle入门系列(3):依赖管理
- Windows Server入门系列26 利用图形界面管理用户和组
- Windows Server入门系列之十三 服务管理
- 企业级Hadoop 2.x入门系列之七YARN的Shell操作与管理
- 电子商务入门、实操、行业分析及公司案例等精彩系列问答有哪些?
- RHEL6入门系列之二十五,利用yum进行软件管理 推荐
- RHEL6入门系列之二十三,管理逻辑卷LVM
- Windows Server入门系列27 利用字符界面管理用户和组
- [项目管理入门系列] 师傅领进门-------项目运作的一般流程(四)
- RHEL6入门系列之二十二,quota磁盘配额管理
- RHEL6入门系列之二十九,进程管理
- 快速入门系列零:玛德界面库的来由、窗口、皮肤、项目管理等基本概念