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>

<os>

<type>hvm</type>

<loader>/usr/lib/xen/boot/hvmloader</loader>

<boot dev='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'>

<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'>

<target port='0'/>

</console>

<interface type='bridge'>

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

<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>清除

libvirt命令行文档的更多相关文章

  1. Linux系统通过FTP进行文档基本操作【华为云分享】

    [摘要] Linux系统里通过FTP可以对文档进行上传,更改权限和基本的文档管理. 获得Linux系统后,不熟悉命令操作的情况下,可以通过FTP工具进行文档操作,下面以WinSCP工具为例进行讲解: ...

  2. 如何拷贝CMD命令行文本到粘贴板

    /********************************************************************* * 如何拷贝CMD命令行文本到粘贴板 * To copy ...

  3. Git教程(2)官方命令文档及常用命令表

    http://www.cnblogs.com/angeldevil/archive/2013/11/26/3238470.html 1,官方命令文档 http://www.git-scm.com/do ...

  4. Linux命令行文本工具

    浏览文件 cat 查看文件内容 more 以翻页形式查看文件内容(只能向下翻页) less 以翻页形式查看文件内容(可以上下翻页) head 查看文件的头几行(默认10行) tail 查看文件的尾几行 ...

  5. 配置允许匿名用户登录访问vsftpd服务,进行文档的上传下载、文档的新建删除等操作

    centos7环境下 临时关闭防火墙 #systemctl stop firewalld 临时关闭selinux #setenforce 0 安装ftp服务 #yum install vsftpd - ...

  6. 09 Command Documentation 命令文档

    Command Documentation 命令文档   There is a suite of programs to build and process Go source code. Inste ...

  7. 500 多个 Linux 命令文档搜索

    500 多个 Linux 命令文档搜索 搜索界面:https://wangchujiang.com/linux-command/ 源码:https://github.com/jaywcjlove/li ...

  8. 怎样在Linux下使用Markdown进行文档工作

    怎样在Linux下使用Markdown进行文档工作 在Linux系统中,编辑markdown能够用retext工具: sudo apt-get install retext retext Releas ...

  9. gcp – 源于CP的高级命令行文件拷贝工具

    作者:linux 出处:http://linux.cn/thread/11868/1/1/ gcp – 源于CP的高级命令行文件拷贝工具 几周前,我们讨论了高级拷贝(修改于cp命令,让其可以显示复制进 ...

随机推荐

  1. Unqualified name lookup

    Unqualified name lookup File scope Namespace scope For an qualified name, that is a name that does n ...

  2. Objective-c 截取子字符串

    NSString类中提供了这样三个方法用于获取子字符串: – substringFromIndex: – substringWithRange: – substringToIndex: 它们该怎么使用 ...

  3. Nginx阅读笔记(四)之root和alias

    nginx指定文件路径有两种方式root和alias,这两者的用法区别,使用方法总结了下,方便大家在应用过程中,快速响应.root与alias主要区别在于nginx如何解释location后面的uri ...

  4. Spring Cache抽象详解

    缓存简介 缓存,我的理解是:让数据更接近于使用者:工作机制是:先从缓存中读取数据,如果没有再从慢速设备上读取实际数据(数据也会存入缓存):缓存什么:那些经常读取且不经常修改的数据/那些昂贵(CPU/I ...

  5. 基于visual Studio2013解决C语言竞赛题之0302字符数出

     题目 解决代码及点评 根据题目要求,只要根据用户输入的字母,判断字母之后,给出相应的输出即可 在以下代码中,f32函数实现了该功能,通过if条件判断语句 #include <stdio.h ...

  6. 【Maven】Missing artifact com.oracle:ojdbc14:jar:10.2.0.4.0

    1.到 http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html 下载你所需要的oraclejar包 2.在 ...

  7. 【Web】java date 到 Oracle date 精确到时分秒

    有两种方法: java.util.Date startTime=new Date("2014/01/01 23:00:00"); 1.new Timestamp(startTime ...

  8. BZOJ 1006: [HNOI2008]神奇的国度( MCS )

    弦图最小染色...先用MCS求出完美消除序列然后再暴力染色... ------------------------------------------------------------------- ...

  9. application(expand)--easyui

    一,效果图. 二,源代码. <!DOCTYPE html><html><head> <meta charset="UTF-8"> & ...

  10. PHP学习笔记8-文件操作

    在data文件中写入数据: <?php /** * Created by PhpStorm. * User: Administrator * Date: 2015/6/29 * Time: 17 ...