virsh命令行管理工具

Libvirt有两种控制方式,命令行和图形界面

图形界面:

通过执行名virt-manager,启动libvirt的图形界面,在图形界面下可以一步一步的创建虚拟机,管理虚拟机,还可以直接控制虚拟机的桌面。

命令行:

virsh list                                                  #显示本地活动虚拟机

virsh list –all                                           #显示本地所有的虚拟机(活动的+不活动的)

virsh define ubuntu.xml                      #通过配置文件定义一个虚拟机(这个虚拟机还不是活动的)

virsh start ubuntu                                #启动名字为ubuntu的非活动虚拟机

virsh create ubuntu.xml                     # 创建虚拟机(创建后,虚拟机立即执行,成为活动主机)

virsh suspend ubuntu                          # 暂停虚拟机

virsh resume ubuntu                           # 启动暂停的虚拟机

virsh shutdown ubuntu                       # 正常关闭虚拟机

virsh destroy ubuntu                           # 强制关闭虚拟机

virsh dominfo ubuntu                          #显示虚拟机的基本信息

virsh domname 2                                 # 显示id号为2的虚拟机名

virsh domid ubuntu                              # 显示虚拟机id号

virsh domuuid ubuntu                         # 显示虚拟机的uuid

virsh domstate ubuntu                       # 显示虚拟机的当前状态

virsh dumpxml ubuntu                        # 显示虚拟机的当前配置文件(可能和定义虚拟机时的配置不同,因为当虚拟机启动时,需要给虚拟机分配id号、uuid、vnc端口号等等)

virsh setmem ubuntu 512000           #给不活动虚拟机设置内存大小

virsh setvcpus ubuntu 4                      # 给不活动虚拟机设置cpu个数

virsh edit ubuntu                                  # 编辑配置文件(一般是在刚定义完虚拟机之后)

libvirt还提供了一个shell:virsh,直接执行名virsh即可获得一个特殊的shell:virsh,在这个virsh里面可以执行上面的命令(去掉前面的virsh)与本地libvirt交互,还可以通过命令connect命令连接远程libvirt,与之交互,例如:connect xen+ssh://root@10.4.122.11。另外可以只执行一条远程libvirt命令:virsh –c xen+ssh://root@10.4.122.11 list --all

ubuntu.xml配置文件举例:

<domain type='xen'>  //域类型

<name>ubuntu</name>  //虚拟机的名字

<memory>1048576</memory> //虚拟机的最大内存

<currentMemory>524288</currentMemory> //虚拟机当前的内存

<vcpu>2</vcpu> //该虚拟机的cpu数

<os>

<type>hvm</type>  //hvm表示全虚拟化

<loader>/usr/lib/xen/boot/hvmloader</loader>  //全虚拟化的守护进程所在的位置

<boot dev='hd'/> //hd表示从硬盘启动

</os>

<features>

<acpi/>

<apic/>

<pae/>

</features>

<clock offset='utc'/>

<on_poweroff>destroy</on_poweroff>

<on_reboot>restart</on_reboot>

<on_crash>restart</on_crash>

<devices>

<emulator>/usr/lib64/xen/bin/qemu-dm</emulator>  //二进制模拟器设备的完整路径。

<disk type='file' device='disk'>  //disk是用来描述磁盘的主要容器

<driver name='file'/>

<source file='/opt/awcloud/ubuntu/ubuntu.img'/>  //指定磁盘上文件的绝对路径

<target dev='hda' bus='ide'/>

</disk>

<disk type='file' device='disk'>

<driver name='file'/>

<source file='/opt/awcloud/ubuntu/sdb.img'/>

<target dev='hdb' bus='ide'/>

</disk>

<disk type='file' device='cdrom'>

<driver name='file'/>

<source file='/opt/awcloud/forest/ubuntu-10.04.3-desktop-i386.iso'/>

<target dev='hdc' bus='ide'/>

<readonly/>

</disk>

<serial type='pty'>   //定义串口

<target port='0'/>

</serial>

<console type='pty'>  //console用来代表交互性的控制台

<target port='0'/>

</console>

<interface type='bridge'>    //桥接设备

<mac address='00:16:36:1e:1d:04'/> //MAC地址

<source bridge='virbr0'/>

</interface>

<graphics type='vnc' autoport='yes' keymap='en-us'/>  //图形类型

</devices>

</domain>

注:

生成一个4G大小的空文件:dd if=/dev/zero of=./disk bs=1024 count=`expr 4 \* 1024 \* 1024`

修改虚拟机的启动设备:<boot dev='hd'/>从硬盘启动;<boot dev='cdrom'/>从CD启动

网络参数:

如ubuntu.xml配置文件,kvm虚拟机和xen虚拟机都只需要按照下面的模板进行配置,MAC地址是必须的,bridage的名字可能在不同的主机上是不一样,可能是virbr0,也可能是br0,但类型一定要是桥接模式就可以了

<interface type='bridge'>

<mac address='00:16:36:1e:1d:04'/>

<source bridge='virbr0'/>

</interface>

KVM虚拟机迁移:

迁移命令:virsh migrate –live<id or name> qemu+ssh://<dstip>/system tcp://<dstip>:49152

迁移完之后,本地机器可能仍是定义状态,要执行virsh undefine <name>清除。

注意:/dev/zero是一个输入设备,用来初始化文件。

/dev/null是个无底洞,可以向它输出任何数据,它通吃并且不会撑着。

原文地址:http://blog.csdn.net/chdhust/article/details/7697471

virsh命令行管理工具的更多相关文章

  1. ElasticSearch 命令行管理工具Curator

    一.背景 elastic官网现在已经大面积升级到了5.x版本,然而针对elasticsearch的命令行管理工具curator现在仍然是4.0版本. 刚开始找到此工具,深深的怕因为版本更迭无法使用,还 ...

  2. rabbitmqadmin命令行管理工具-4

    rabbitmqadmin命令行管理工具原文地址: https://www.cnblogs.com/wuzhiyuan/p/6856985.htmlhttps://www.cnblogs.com/mr ...

  3. rabbitmqctl 命令行管理工具

    1. 用户管理 用户管理包括增加用户,删除用户,查看用户列表,修改用户密码. (1) 新增一个用户 rabbitmqctl add_user Username Password (2) 删除一个用户 ...

  4. IIS命令行管理工具使用

    AppCmd.exe工具所在目录 C:\windows\sytstem32\inetsrv\目录下 一条命令批量添加应用程序 c:\Windows\System32\inetsrv>for /d ...

  5. 第4章:kubectl命令行管理工具

    kubectl --help 查看帮助信息 kubectl create --help 查看create命令帮助信息 命令 描述 create 通过文件名或标准输入创建资源 expose 将一个资源公 ...

  6. PowerCmd-cmd命令行管理工具

    缘由 看了大漠在慕课网关于angular的讲解,用到了PowerCmd.就百度一下准备下载,很小很实用的工具,发现有人总结了.备忘 http://www.cnblogs.com/xing901022/ ...

  7. virsh 命令行管理虚拟机

    重用命令和选项 1:查看运行的虚拟机 virsh list   2:查看所有的虚拟机(关闭和运行的虚拟机) virsh list --all   3:连接虚拟机 virsh console +域名(虚 ...

  8. libvirt 命令行交互工具之virsh

    libvirt是当前主流VM最低层库.IBM PowerVM也不例外,libvirt是深入玩虚拟化必须玩转的东西; 简单测试玩玩libvirt 的virsh命令行交互工具, 你我都知libvirt大体 ...

  9. 玩转Windows服务系列——命令行管理Windows服务

    说到Windows服务的管理就不得不说通过命令行的方式管理Windows服务,因为无论是系统管理员,还是通过编程的方式调用cmd命令,命令行都是非常方便以及强大的工具. 接下来就看一下如何通过cmd命 ...

随机推荐

  1. spring实现定时任务

    今天在项目里需要实现一个定时任务,每隔3个小时将过滤的广告通过邮件上报给运营一次.考虑了一下,从实现的技术上可以有三种做法: 1.Java自带的java.util.Timer类,这个类允许调度一个ja ...

  2. 轻松学习JavaScript十四:JavaScript的RegExp对象(正則表達式)

    一RegExp对象概述 RegExp对象表示正則表達式,RegExp是正則表達式的缩写.它是对字符串运行模式匹配的强大工具. RegExp 对象用于规定在文本中检索的内容. 当您检索某个文本时.能够使 ...

  3. JaunsGraph数据模型

    JanusGraph采用邻接表(adjacency list)的方式存储图,也即图以顶点(vertex)和其邻接表组成.邻接表中保存某个顶点的所有入射边(incident edges). 通过将图采用 ...

  4. Atitit.虚拟机与指令系统的设计

    Atitit.虚拟机与指令系统的设计 1. 两种计算模型  ,堆栈机和状态机(基于寄存器的虚拟机1 1.1.1. 堆栈机1 1.1.2. 状态机2 2. 为什么状态机比堆栈机快呢?3 2.1. Sta ...

  5. 迁移TFS 2012服务至新的电脑硬件

    迁移TFS 2012的时候碰到一些问题, 中文记录很少, 英文的记录也比较零散. 这里记录最直接和简单的方法. 环境: 1. 公司域环境, 所有TFS用户都是公司域帐户. 2. TFS从一台服务器转移 ...

  6. Django的模型

    Django的模型类相当于数据库的一张表,模型类的实例对象相当于表中的一行内容 Django提供了多种创建对象的方式,常用如下: 通过create()方法 1.Person.objects.creat ...

  7. Swoole系列(一):简介

    前言: 实际上作为一名PHP程序员,我很清楚PHP的确有很多局限性,比如Unix系统编程.网络通信编程.异步io,大部分PHPer不懂.PHP界也确实没有这样的东西.Swoole开源项目就是为了弥补P ...

  8. centos7.4 install ss-qt5

    一切都是为了FQ,哦,说错了,是***-- 参考官网安装指南 1.新建repo文件 vim /etc//yum.repos.d/shadowssocks.repo 2.在文件中输入以下内容: [lib ...

  9. python之函数enumerate()

    enumerate函数可以遍历列表 for i in range(len(a)): print a[i] 等价于: for index,item in enumerate(a): print inde ...

  10. Mybatis+MSSql插入数据的同时并获取自增的ID

    在项目中遇到这样的情况,新增一个角色,这个角色有某些权限,这两个数据存在不同的表中,一个是sys_role,另外一个是sys_role_permission表,注意,现在的逻辑是这样的 1,在表sys ...