实验名称:

  xl命令的常见子命令以及操作

实验环境:

  这里我们需要正常安装一台虚拟机,如下图:

  我们这里以一台busybox为例,来进行这些简单的常见的操作;

实验要求:

  这里我们准备了5个常见操作:

    1、暂停/运行虚拟机--pause/unpause

    2、快照/恢复快照--save/restore

    3、对CPU的简单操作--vcpu-list/vcpu-pin/vcpu-set

    4、添加/删除网卡--network-list/network-attach/network-detach

    5、添加/删除块设备(磁盘)--block-list/block-attach/network-detach

实验配置:

  首先,我们通过 xl help 可以查看虚拟机所支持的所有子命令,同时通过 xl help <subcommand> 来查看子命令的使用方式与支持的 option

xl help
xl help <subcommand> 例如:xl help create

  1、暂停/运行虚拟机--pause/unpause

    首先我们需要料及xl list命令下state所显示的状态信息:

     xl  list :      #首先需要了解的第一个命令.
               xen VM的常见状态:
                   r : running
                   b: block(阻塞)
                   p: pause(暂停): 类似与睡眠.
                   s: stop
                   c: crash(崩溃)
                   d: dying, 正在关闭的过程中.

    默认通过 “ctrl + ]” 切换管理界面后,虚拟机进入 block阻塞状态,通过 pause 命令,则是在内存中暂停虚拟机,通过unpause回复虚拟机运行

xl pause busybox10
xl unpause busybox10

     此时通过 xl list 看到虚拟机进入到 p 的状态,想恢复,则通过命令 xl unpause <domianname/domianid> 即可;

  2、快照/恢复快照--save/restore

    这里的快照就是将虚拟机挂起,将虚拟机存放到磁盘中去,和暂停有着本质的区别

xl save busybox10 /tmp/busybox10.img.bak
xl restore /etc/xen/busybox10 /tmp/busybox10.img.bak

    save 命令中接的是<domname/domid> <checkpointfile>

    restore 命令中接的是<configname> <checkpointfile>

  3、对CPU的简单操作--vcpu-list/vcpu-pin/vcpu-set

    查看虚拟机的vcpu个数

xl vcpu-pin busybox10    #将虚拟机busybox10上的0号vcpu绑定在真实的1号CPU上(可以实现批量CPU绑定,man xl可以查看用法)
xl vcpu-set busybox10   #指定busybox10CPU使用的最大个数,这个数量不能大于现有CPU的个数

    此时第二个CPU就会被停止;

  4、添加/删除网卡--network-list/network-attach/network-detach

    首先我们通过network-list查看虚拟机的网卡情况

    动态为虚拟机添加网卡网卡:

      从帮助上看,我们可以为添加的网卡指定很多的参数,比如:网卡类型、mac地址、连接的桥设备、ip地址、网卡启动脚本、后端驱动、后端驱动网卡名称、端口带宽、模式、acl控制等等;

xl network-attach busybox10 bridge=br0
xl console busybox10

    此时虚拟机就多了一块网卡eth1

xl network-list busybox10
xl network-detach busybox10 1  #首先要通过network-list查看虚拟机的网卡id,再根据id号来删除网卡即可(或者根据mac地址也可以)

  5、添加/删除块设备(磁盘)--block-list/block-attach/block-detach

    这里我们可以动态添加磁盘文件;

    首先我们通过qemu-img方式来虚拟一块磁盘;

qemu-img create -f raw -o size=2G /images/xen/busybox10..img

    添加该磁盘到虚拟机中去,如图可知:现在只有一块磁盘

xl block-attach busybox10 "/images/xen/busybox10.1.img,raw,xvdb,w"  #后面指定四个参数“磁盘,磁盘格式,磁盘编号,磁盘权限”

    【注意:磁盘编号为顺延的,默认第一块磁盘添加的时候是xvda,这里是第二块,所以即使xvdb】

xl console busybox10
#在虚拟机中查看
fdisk -l
fdisk /dev/xvdb #进行磁盘分区

    此时就可以使用这个磁盘了;

xl block-list busybox10
xl block-detach busybox10 51728  #51728为磁盘ID号,可以通过block-list看到

实验结果:

实验四:xl命令的常见子命令以及操作的更多相关文章

  1. linux命令2—常见linux命令

    1.进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于 ...

  2. yum、ip、等命令无法不全子命令解决

    安装一个软件包即可 yum -y install bash-bash-completion 然后重新打开终端即可

  3. CLI子命令扩展-插件机制实现

    开发CLI工具过程中,为了便于扩展,将CLI的实现分为基础功能和扩展功能.基础功能包括init.build.lint.publish等伴随工程从初始化到最终发布到生产环境,也即为CLI 的core.扩 ...

  4. useradd 命令的常见用法

    在Linux系统中 useradd 是个很基本的命令,但是使用起来却很不直观.以至于在 Ubuntu 中居然添加了一个 adduser 命令来简化添加用户的操作.本文主要描述笔者在学习使用 usera ...

  5. redis常用命令、常见错误、配置技巧等分享

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/117.html?1455860236 1. redis查看当前所有的key ...

  6. 常见dos命令总结

    常用的内部命令有MD.CD.RD.DIR.PATH.COPY.TYPE.EDIT.REN.DEL.CLS.VER.DATE.TIME.PROMPT. 常用的外部命令有DELTREE.FORMAT.DI ...

  7. 第0章 概述及常见dos命令

    计算机发展史 计算机的发展历史有多长?真正意义上的计算机诞生,距今也只有80多年的时间.80年,对于每一个人来说,是很长的时间,但对于整个历史来说,只是短短的一瞬间. 从第一代电子计算机的发明,到今天 ...

  8. 常见dos命令汇总

    常用的内部命令有md.cd.rd.dir.path.copy.type.edit.ren.del.cls.ver.date.time.prompt.常用的外部命令有deltree.format.dis ...

  9. HDFS shell命令行常见操作

    hadoop学习及实践笔记—— HDFS shell命令行常见操作 附:HDFS shell guide文档地址 http://hadoop.apache.org/docs/r2.5.2/hadoop ...

随机推荐

  1. mysql-8.0.12-winx64 解压版安装(转)

    1.官网下载 https://dev.mysql.com/downloads/mysql/ 2.解压到一个合适的目录 3.配置环境变量 path : bin的目录(必须配置) MYSQL_HOME:m ...

  2. Layer For Mobile 弹窗 input输入文字后,点击取消确定按钮失效(需点击两次)

    webapp中使用Layer For Mobile弹出弹窗,修改昵称输入文字后,ios手机中,如果不先点击收起键盘,两个按钮点击之后无效... 两个按钮的方法是写在这里的——> 最后只能吧点击按 ...

  3. ionic1 添加百度地图插件 cordova-plugin-baidumaplocation

    cordova-plugin-baidumaplocation 这个插件返回的数据是 json 格式的  可以直接获取  android 和 ios 都可用 1.先去百度地图平台去创建应用  获取访问 ...

  4. guava-retrying 源码解析(阻塞策略详解)

    这是一种策略,用于决定重试者应如何在重试尝试之间进行阻止.通常这只是一个thread.sleep(),但是如果需要的话,实现可能更复杂. 一.阻塞策略相关的类或接口 1.阻塞策略接口:BlockStr ...

  5. python day19--面向对象,接口,封装

    #1.接口类,对象类.规范类中方法的统一. # 第一版:三个类,每个类中有相同的方法 # class Alipay: # def __init__(self,money): # self.money= ...

  6. 剑指Offer 58. 对称的二叉树 (二叉树)

    题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的.注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的. 题目地址 https://www.nowcoder.com/practice/ ...

  7. 剑指Offer 25. 复杂链表的复制 (链表)

    题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head.(注意,输出结果中请不要返回参数中的节点引用,否 ...

  8. 颜色的RGB-计算HSV公式色度/饱和度/亮度 简化代码

    计算颜色的HSV值 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心创新! ...

  9. [cf1038E][欧拉路]

    http://codeforces.com/contest/1038/problem/E E. Maximum Matching time limit per test 2 seconds memor ...

  10. 关于java类加载的那些事

    首先,类加载的定义: 类加载(Class Loading)是一种机制,他描述的是将字节码以文件形式加载到内存再经过连接.初始化后,最终形成可以被虚拟机直接使用的Java类型地过程. 其次,类加载器的分 ...