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://[email protected]。另外可以只执行一条远程libvirt命令:virsh –c xen+ssh://[email protected] 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

时间: 2024-10-25 11:30:23

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

IIS命令行管理工具使用

AppCmd.exe工具所在目录 C:\windows\sytstem32\inetsrv\目录下 一条命令批量添加应用程序 c:\Windows\System32\inetsrv>for /d %i in (e:\wwwroot\*.*) do appcmd add app /site.name:"Default Web Site" /path:/%~ni /physicalpath:%i 使用命令行管理IIS 7.0时,需要使用IIS7.0提供的全新管理工具AppCmd.ex

libvirt 命令行交互工具之virsh

libvirt是当前主流VM最低层库.IBM PowerVM也不例外,libvirt是深入玩虚拟化必须玩转的东西; 简单测试玩玩libvirt 的virsh命令行交互工具, 你我都知识libvirt大体上主要有3个组件,分别是: 1. libvirt daemon进程 2. 命令行工具virsh 3. libvirt API virsh命令使用 virsh <command> <domain-id> [OPTIONS] virsh既有命令行模式,也有交互模式,在命令行直接输入vir

[转]玩转Windows服务系列——命令行管理Windows服务

本文转自:http://www.cnblogs.com/hbccdf/p/managewindowsservicewithcmd.html 说到Windows服务的管理就不得不说通过命令行的方式管理Windows服务,因为无论是系统管理员,还是通过编程的方式调用cmd命令,命令行都是非常方便以及强大的工具. 接下来就看一下如何通过cmd命令管理Windows服务. 管理Windows服务的主要cmd命令 管理Windows服务的命令应该有很多,但是我所了解到的命令主要有两个:sc.net. 说是

iOS系统提供开发环境下命令行编译工具:xcodebuild

iOS系统提供开发环境下命令行编译工具:xcodebuild[3] xcodebuild 在介绍xcodebuild之前,需要先弄清楚一些在XCode环境下的一些概念[4]: Workspace:简单来说,Workspace就是一个容器,在该容器中可以存放多个你创建的Xcode Project, 以及其他的项目中需要使用到的文件. 使用Workspace的好处有: 1),扩展项目的可视域,即可以在多个项目之间跳转,重构,一个项目可以使用另一个项目的输出.Workspace会负责各个Project

使用SqlLocalDB命令行管理LocalDB

SqlLocalDB.exe start v11.0 SqlLocalDB.exe info v11.0 SQL Server Management Stdio添加管道连接实例 默认实例名(localDB)\v11.0 为了方便管理,LocalDB提供了一个基于命令行的数据库管理工具SqlLocalDB.exe.下面是SqlLocalDB.exe的路径: %ProgramFiles%\Microsoft SQL Server\110\Tools\Binn 我们可以在Windows操作系统的CMD

RHEL7 124 之从命令行管理文件(2)

从命令行管理文件 [[email protected] ~]# cd /[[email protected] /]# lsbin  dev  home  lib64 mnt  proc  run  srv  tmp  varboot etc  lib   media opt  root  sbin sys  usr  xx /bin /dev 包含特殊的设备文件,供系统用于访问硬件 /home 普通用户存储其个人数据和配置文件的主目录 /root root的主目录 /lib64 /mnt /pr

ios-使用命令行管理svn

一些svn工具管理方便直观,但在效率上相比,还是命令行快一些. (由于记性不好,经常忘一些知识,比如命令行几天不用就生疏了,为了防止忘了再找资料回忆.备份一下svn命令以备后用) 查看svn全部log svn log (log太多,想停止,ctrl+z) 查看svn信息 svn info 查看当前svn关联目录下的文件改动 svn st 提交代码 svn ci yourfile.m yourfile2.m -m "提交了两个m文件" 比较某个文件与svn上代码的改动 svn diff

命令行管理和维护RHCS集群

1.启动RHCS集群 RHCS集群的核心进程有cman和rgmanager,要启动集群,一次在集群的每个节点上执行如下命令: service cman start service rgmanager start 执行着两个命令是有先后顺序的,要先启动cman,然后再启动rgmanager. [[email protected] ~]# service cman start Starting cluster: Checking if cluster has been disabled at boo

Linux上超酷的命令行扩展工具Oh My Zsh

Oh My Zsh 是一款社区驱动的命令行工具,正如它的主页上说的,Oh My Zsh 是一种生活方式.它基于 zsh 命令行,提供了主题配置,插件机制,已经内置的便捷操作.给我们一种全新的方式使用命令行. 什么是 Oh My ZshOh My Zsh 这个名字听起来就很有意思~, 它是基于 zsh 命令行的一个扩展工具集,提供了丰富的扩展功能. Oh My Zsh 的主页上,对它的定义有了明确的解释:http://ohmyz.sh 关于 zsh,它是一种命令行程序.我们 MAC 系统上默认使用