Xen入门系列四【Xen 管理实操】
1. 克隆一台虚拟机
# 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------. root root 5月 : 0967b939--04ca--34e5ef1e8fa8 drwx------. root root 5月 : 74359c07-1e59-52e9-d29e-c33a68d24e77 drwx------. root root 5月 : 7e30aa10-2ebf-035e-c033-a35728104213 drwx------. root root 5月 : 889f7761-783b--f71a-ea1cb8f4c591 drwx------. root root 5月 : ba09e174-26f7-5e96-1fe4-5c8537b83a29 drwx------. root root 5月 : baee7fd6-afcc-7d98-2d59-041456dfa693 drwx------. root root 5月 : c22307e2-035e-3e49-d42c-f141865aab21
我们看到是一堆以uuid为名称的文件夹,每个文件夹下面保存对应虚拟机的配置信息,我们也可以在克隆的时候使用 -u 参数来指定虚拟机的uuid,这样更方便管理,下面我们来看看配置信息是什么样子的,刚刚克隆的虚拟机应该是时间最晚的那个喽。
# cat ./c22307e2-035e-3e49-d42c-f141865aab21/config.sxp
(domain
(vcpus_params ((cap ) (weight )))
(PV_args '')
(memory_static_min )
(HVM_boot_policy '')
(PV_bootloader /usr/bin/pygrub)
(pool_name Pool-)
(auto_power_on False)
(memory_static_max )
(cpus (() ()))
(actions_after_shutdown destroy)
(memory_dynamic_max )
(memory_sharing )
(superpages )
(is_a_template False)
(PV_bootloader_args -q)
(memory_dynamic_min )
(VCPUs_live )
(target )
(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 )
(HVM_boot_params ())
(platform ((tsc_mode ) (nomigrate ) (localtime )))
(VCPUs_max )
(Description ' server ')
(pool_name Pool-)
(bootloader /usr/bin/pygrub)
(vcpus )
(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 )
(memory )
(shadow_memory )
(vcpu_avail )
(features '')
(on_xend_start ignore)
(on_xend_stop ignore)
(image
(linux
(kernel '')
(superpages )
(localtime )
(nomigrate )
(tsc_mode )
)
)
(status )
(device
(tap2
(bootable )
(uname tap2:aio:/vm/vm-clone.img)
(mode w)
(dev xvda)
(uuid 9559d0d2-b2ce--13f6-78c469a3e6d4)
)
)
(device
(vif
(bridge br0)
(mac ::3e:::ac)
(uuid 9f8669f3---0bf0-937725d83226)
(script vif-bridge)
)
)
)
接下来我们要做的就是从这个文件中摘取所需的信息做成我们的配置文件,如下:
# 半虚拟化配置文件示例 name="vm-clone" description=" server " uuid="c22307e2-035e-3e49-d42c-f141865aab21" memory= maxmem= vcpus= on_poweroff="destroy" on_reboot="restart" on_crash="destroy" localtime= 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=
在配置文件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= 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 管理实操】的更多相关文章
- linux入门系列13--磁盘管理之RAID、LVM技术
前一篇文章学习了磁盘分区.格式化.挂载等相关知识,本文将讲解RAID和LVM技术. 磁盘管理操作主要是运维人员用的较多,如果只是单纯的开发人员,可以先略过本文.但是在很多小公司里往往都是一人多用,运维 ...
- C语言高速入门系列(四)
C语言高速入门系列(四) C语言数组 ---------转载请注明出处:coder-pig 贴心小提示:假设图看不清晰可右键另存为,应该就非常清晰了; 注意上面的代码都要自己过一遍哦! 本节引言: 经 ...
- [转]C# 互操作性入门系列(四):在C# 中调用COM组件
传送门 C#互操作系列文章: C# 互操作性入门系列(一):C#中互操作性介绍 C# 互操作性入门系列(二):使用平台调用调用Win32 函数 C# 互操作性入门系列(三):平台调用中的数据封送处理 ...
- .net基础学java系列(四)Console实操
上一篇文章 .net基础学java系列(三)徘徊反思 本章节没啥营养,请绕路! 看视频,不实操,对于上了年龄的人来说,是记不住的!我已经看了几遍IDEA的教学视频: https://edu.51cto ...
- linux入门系列12--磁盘管理之分区、格式化与挂载
前面系列文章讲解了VI编辑器.常用命令.防火墙及网络服务管理,本篇将讲解磁盘管理相关知识. 本文将会介绍大量的Linux命令,其中有一部分在"linux入门系列5--新手必会的linux命令 ...
- spring cloud 入门系列四:使用Hystrix 实现断路器进行服务容错保护
在微服务中,我们将系统拆分为很多个服务单元,各单元之间通过服务注册和订阅消费的方式进行相互依赖.但是如果有一些服务出现问题了会怎么样? 比如说有三个服务(ABC),A调用B,B调用C.由于网络延迟或C ...
- Go语言入门系列(四)之map的使用
本系列前面的文章: Go语言入门系列(一)之Go的安装和使用 Go语言入门系列(二)之基础语法总结 Go语言入门系列(三)之数组和切片 1. 声明 map是一种映射,可以将键(key)映射到值(val ...
- Xen入门系列三【Xen 管理工具 xm】
xm命令是管理Xen的最基本的工具,可以通过xm --help 来获得帮助. 1. 列出所有正在运行的虚拟操作系统 # xm list PS[1]:可缩写为 xm li 2. 启动虚拟机 # 通过配置 ...
- Xen入门系列一【使用Xen4CentOS 在 Centos 6 上安装 Xen】
最近在学习Hadoop,在Win7下用VMware搭了三台虚拟机好不容易装好了Hadoop结果跑个两个单词的wordcount就跑了十分钟,郁闷啊,于是开始寻找效能更好的虚拟化解决方案,然后选定了Xe ...
随机推荐
- mysql建表语句和数据类型
1.创建表的完整语法 create table 表名( 字段名称 数据类型[(长度) 约束条件], 字段名称 数据类型[(长度) 约束条件] ) 必须的:字段名 数据类型 表名 可选的:长度 约束 ...
- 如何编译生成 mkfs.ubifs、ubinize 工具
参考文档: 1.<CoM335X linux开发指南.pdf>的附件1 2.ubifs的制作,移植的重点详解(使用交叉编译器) 3.UBIFS文件系统简介 与 利用mkfs.ubifs和u ...
- zTree & ckeditor &ValidateCode.jar 使用个人心得总结
zTree:依靠 jQuery 实现的多功能 “树插件”. 使用时只需要将下载的压缩包接用,复制里边的css 和 js 到指定目录即可. 如图所示: 在zTree的官网可以找到各种类型树的示例: 地址 ...
- ES6 之 数组的扩展
ES5 检测数组 let arr = [1,2,3,4] Array.isArray(arr) arr instanceof Array 转换方法 arr.toLocaleString() arr.t ...
- == 与 equals区别(HashCode方法)
1:==分析 1.2:基本类型比较 判断基本类型的数值是不是相等 1.3:对象类型比较 判断两个引用是不是指向同一个对象,即内存地址是不是相等. 2:equals分析 来判断对象内容是不是相等,一般有 ...
- 细说opcache
; opcache的开关,关闭时代码不再优化. opcache.enable=1 ; Determines if Zend OPCache is enabled for the CLI version ...
- JQuery与JS比较
备注:原文转自脚本之家,原文地址:http://www.jb51.net/article/39494.htm 转载仅为方便统一整理收藏内容,别无他意 JQuery与JS的比较: jquery ...
- 计蒜客 密码锁(BFS)
https://www.jisuanke.com/course/1797/121114 Description 现在一个紧急的任务是打开一个密码锁.密码由四位数字组成,每个数字从 1 到 9 进行编号 ...
- c# 异常处理 try --catch
初学 try---catch 语法 try { 可能会出现异常的代码; 异常出现的那行代码下面的代码全不会执行,直接跳到catch中执行 ... ... } //try和catch之间不能有其他的代码 ...
- 微服务项目开发学成在线_day03 CMS页面管理开发
springboot引入mangodb依赖坐标:在spring-boot集成条件下,使用mongodb的DAO层开发. swagger查看接口文档,请求地址:http://localhost:3100 ...