20个常用virsh命令介绍

20个常用virsh命令介绍
由于virsh命令种类过多,因此管理员很难了解究竟哪些命令最适合于当前管理需求,如果是这样,那么下面的内容会
让管理员拥有一个好的开始。

作者:Ryann Burnett翻译:王学强来源:TechTarget中国|2016-11-09 14:53
收藏
分享
由于virsh命令种类过多,因此管理员很难了解究竟哪些命令最适合于当前管理需求,如果是这样,那么下面的内容会让管理员拥有一个好的开始。

使用virsh命令行工具能够大大简化hypervisor和虚拟机管理工作,virsh工具基于开源libvirt管理API。

通过virsh命令,管理员能够创建、编辑、迁移和关闭虚拟机以及一些其他操作。

事实上virsh包含大量命令,因此不得不将其分为多个类别,比如域相关命令、存储池相关命令和快照相关命令等。

面对如此多的virsh命令,管理员应该如何选择才能保证数据中心高效管理呢?下面列举了一些使用频率最高的命令:
通用virsh命令
这个类别中的命令并不只适用于虚拟机,而是能够帮助完成一些通用管理任务。

help:获取可用virsh命令的完整列表,并且分为不同的种类。

管理员可以指定列表中的特定组来缩小查询范围,其中包含每个命令组的简要描述;或者查询特定命令以获取更为详细的信息,包括名称、简介、描述以及选项等。

list:管理员可以使用这个命令获取现有虚拟机的各种信息以及当前状态。

根据需求的不同,管理员可以使用—inactive或者—all选项进行筛选。

命令执行结果中将会包含虚拟机ID、名称以及当前状态,可能的状态包括运行、暂停或者崩溃等。

connect:管理员可以使用这条命令连接到本地hypervisor,也可以通过统一资源标识符来获取远程访问权限。

其所支持的常见格式包括xen:///(默认)、qemu:///system、qemu:///session以及lxc:///等。

如果想要建立只读连接,需要在命令中添加—readonly选项。

域相关命令
使用这些virsh命令直接操作特定虚拟机。

desc:显示或者更改虚拟机的描述和标题。

相关选项包括—live、--config、--edit和—title。

需要注意的是如果同时使用—live 和—config,那么—config拥有更高的优先级。

同样,建议保证虚拟机标题尽量简洁,虽然这并不是一项强制规定。

Save:这条命令将会关闭虚拟机并且将数据保存到文件中。

这样就能够释放之前分配给虚拟机的内存,因为这些虚拟机不再运行在系统上。

如果想要查看具体的保存过程,可以使用—verbose选项。

如果想要恢复之前保存的虚拟机,可以使用restore命令。

sysmem:管理员可以使用这个命令调整分配给虚拟机的内存,但是注意单位是kilobytes。

借助于setmaxmem,管理员可以更改分配给虚拟机的最大内存数量。

Setmem和setmaxmem可以使用—config、--live和—current flags作为选项。

migrate:将虚拟机迁移到另外一台主机,选项包括实时迁移或者直接迁移等。

需要注意的是单台hypervisor 不能够支持所有这些迁移类型。

如果对虚拟机进行实时迁移,则可以使用migrate –setmaxdowntime来设定最大停机时间。

undefine:这条命令可以在不产生任何停机时间的情况下将一台运行状态的虚拟机转变为临时虚拟机。

如果虚拟机没有处于活动状态,那么这条命令将会移除其配置。

管理员还可以添加多种选项,比如--managed-save、 --snapshots-metadata、 --storage、 --remove-all-storage 和 --wipe-storage等。

dump:为虚拟机创建dump日志文件,以便在排错时使用。

如果想要在产生dump文件的过程中保持虚拟机一直运行,则需要使用- -live选项,否则虚拟机将会被置于挂起状态。

使用- - crash选项,虚拟机将会被停止运行,并且其状态也会被改为崩溃。

使用- - reset选项可以在产生dump日志文件之后重置虚拟机。

shutdown:正常关闭虚拟机。

这条命令比destroy命令更加安全,只有在虚拟机没有任何响应的情况下才推荐使用destroy命令,因为这条命令可能导致文件系统损坏。

管理员还可以使用- -more选项更改默认的虚拟机关闭方式。

存储池相关命令
这个类别中的命令主要用来操作存储池资源。

pool-list:获取处于活动状态的存储池对象列表。

可以使用--persistent、--transient、--autostart 或--no-autostart等选项进行分类筛选。

如果想要获取非活动状态的存储池列表,可以使用--active选项;如果想要获取完整列表,需要使用--all选项。

pool-build:可以使用这条命令创建存储池。

这条命令的选项包括--overwrite和--no-overwrite。

如果使用—overwrite选项,那么目标设备上的现有数据将会被覆盖,如果使用--no-overwrite参数,当目标设备上已经创建文件系统时用户将会收到报错。

pool-edit:这条命令允许管理员使用默认文本编辑器对存储池的XML配置文件进行编辑,并且还会进行错误检查。

存储卷相关命令
管理员可以使用下面这些virsh命令来管理存储卷。

vol-create::基于XML文件或者命令行参数来创建存储卷。

进一步来说,管理员可以使用vol-create-from 命令将其他卷作为输入来创建新的存储卷,也可以使用vol-create-as命令加上一系列参数来创建存储卷,还可以设定卷大小以及文件格式。

vol-resize:这条命令能够以字节为单位更改指定存储卷的大小。

管理员需要输入目标卷大小,或者使用--delta选项指定在现有基础上增加多少空间。

需要注意的是在活动虚拟机上使用vol-size命令是非常不安全的,但是管理员可以使用blockresize命令实时更改存储空间。

vol-wipe:擦除存储卷中的数据,并且确保之前的所有数据都不能够再被访问。

如果虚拟机中含有机密信息,那么这条命令非常有用。

此外,管理员还可以使用其他数据擦除算法,默认方式是使用0覆盖整个存储卷。

快照相关命令
这个类别中的命令能够操作虚拟机快照。

snapshot-list:管理员可以使用这条命令获取指定虚拟机的所有可用快照列表。

列表包括快照名称、创建时间以及虚拟机状态等。

同样可以使用选项来对列表进行筛选,比如--form、--leave、--metadata、--inactive 和—internal等。

snapshot-create:管理员需要首先输入快照名称、描述,并且在XML文件中指定磁盘,之后使用这条命令创建虚拟机快照。

如果不想使用XML文件中的属性来创建创建快照,那么可以使用snapshot-create-as命令。

如果使用—halt选项,那么虚拟机被创建之后将处于非活动状态。

snapshot-revert:这条命令允许管理员将虚拟机恢复到之前的某个快照状态。

如果想要恢复到当前快照,可以使用—current选项。

虚拟机状态将会保持和制作快照时相同,而之后所做的任何操作都将会被丢弃。

snapshot-delete:管理员可以使用这条命令来删除指定快照,或者使用--current选项来删除现有快照。

如果想要删除快照以及子快照或时间点拷贝,则可以使用--children选项。

如果使用--children-only选项,那么系统只会删除子快照,原有快照不会受到影响。

当然,上面的列表无法包含所有相关命令。

除了上面列举的这些命令之外,在每个类别中管理员肯定都能够找到其他一些非常有帮助的命令。

还有一些其他种类的命令,虽然这里没有列举,但是值得了解,比如设备相关命令、nodedev相关命令、虚拟网络相关命令、接口相关命令、加密相关命令、nwfilter相关命令以及qemu-specific相关命令。

如果想要顺利管理hypervisor和虚拟机,管理员需要掌握所有选项的功能、限制以及可能产生的结果。

合集下载

kvm--virsh命令行下管理虚拟机

kvm--virsh命令行下管理虚拟机

kvm--virsh命令⾏下管理虚拟机virsh 既有命令⾏模式,也有交互模式,在命令⾏直接输⼊ virsh 就进⼊交互模式, virsh 后⾯跟命令参数,则是命令⾏模式;(1)基础操作 --- 命令⾏下管理虚拟机virsh list 列出当前宿主机上处于运⾏状态的虚拟机virsh list --all 列出当前宿主机上所有的虚拟机virsh start vm1 (虚拟机name)开启某⼀台虚拟机virsh shutdown vm1 (虚拟机name)正常关闭⼀台虚拟机virsh destroy vm1 强制关闭某⼀台虚拟机virsh autostart vm1 开机⾃启动虚拟机vm1virsh autostart --disable vm1 关闭开机⾃启动virsh edit vm1 编辑某个虚拟机的配置⽂件virsh pool-list 列出存储池2)创建新磁盘qemu-img create -f qcow2(指定磁盘格式) -o size=9G(指定⼤⼩) /var/lib/libvirt/images/haha.qcow2(路径和名称)/var/lib/libvirt/image/为磁盘镜像的默认路径。

注意注定磁盘⼤⼩的时候不能有空格,否则报错[root@localhost images]# qemu-img create -f qcow2 -o size =9G /var/lib/libvirt/images/haha.qcow2qemu-img: Invalid image size specified! You may use k, M, G, T, P or E suffixes forqemu-img: kilobytes, megabytes, gigabytes, terabytes, petabytes and exabytes.[root@localhost images]# qemu-img create -f qcow2 -o size=9G /var/lib/libvirt/images/haha.qcow2Formatting '/var/lib/libvirt/images/haha.qcow2', fmt=qcow2 size=9663676416 encryption=off cluster_size=65536 lazy_refcounts=off[root@localhost images]# qemu-img info haha.qcow23)查看磁盘情况qemu-img info 磁盘名[root@localhost images]# qemu-img info /var/lib/libvirt/images/haha.qcow2image: haha.qcow2file format: qcow2virtual size: 9.0G (9663676416 bytes)disk size: 196K #实际占⽤磁盘196k,最⾼可⽤9Gcluster_size: 65536Format specific information:compat: 1.1lazy refcounts: false4)命令⾏下创建 && 管理虚拟机Virt-install: 命令⾏下创建虚拟机的命令,不过在它后⾯需要跟上很多的参数--name: 虚拟机的名字。

linux下的top命令参数说明 (virt,res,shr,data 的意义)

linux下的top命令参数说明 (virt,res,shr,data 的意义)
RES:resident memory usage。常驻内存。这个值就是该应用程序真的使用的内存,但还有两个小问题,一是有些东西可能放在交换盘上了(SWAP),二是有些内存可能是共享的。
SHR:shared memory。共享内存。就是说这一块内存空间有可能也被其他应用程序使用着;而Virt - Shr似乎就是这个程序所要求的并且没有共享的内存空间。
s: DATA (Data+Stack size) - 进程佔用实体内存中的非程序码部份大小,亦叫作 data resident set (DRS)。
t: SHR (Shared Mem size) - 进程使用的共享内存大小,即可以和其他进程共享的内存空间。
n: %MEM (Memory usage) - 进程佔用实体内存大小对系统总实体内存大小的比例,以百分比显示。
*text = (PAGE_ALIGN(mm->end_code) - (mm->start_code & PAGE_MASK))
>> PAGE_SHIFT;
*data = mm->total_vm - mm->shared_vm;
Linux通过一个叫做 task_statm 的函数来返回进程的内存使用状况
ቤተ መጻሕፍቲ ባይዱ
int task_statm(struct mm_struct *mm, int *shared, int *text,
int *data, int *resident)
{
*shared = get_mm_counter(mm, file_rss);
RES: resident
VIRT: mm->total_vm

virsh命令行blockcopy命令详解

virsh命令行blockcopy命令详解

virsh命令⾏blockcopy命令详解blockcopySyntax:blockcopy domain path { dest [format] [--blockdev] | --xml file }[--shallow] [--reuse-external] [bandwidth][--wait [--async] [--verbose]] [{--pivot | --finish}][--timeout seconds] [granularity] [buf-size] [--bytes][--transient-job]Copy a disk backing image chain to a destination. Either dest as the destination file name,or --xml with the name of an XML file containing a top-level <disk> element describing the destination, must be present(存在的). Additionally(另外), if dest is given, format should be specified to declare the format of the destination(if format is omitted(遗漏的、忽略的), then libvirt will reuse(重复使⽤) the format of the source, or with --reuse-external will be forced to probe the destination format, which could be a potential security hole 那可能是⼀个潜在的安全漏洞).The command supports --raw as a boolean flag synonym(同义词) for --format=raw.When using dest, the destination is treated as a regular file unless --blockdev is used to signal(表⽰) that it is a block device.当使⽤dest时,⽬标⽂件被视为常规⽂件,除⾮--blockdev被⽤来指⽰它是⼀个块设备By default, this command flattens the entire(完整的) chain; but if --shallow is specified, the copy shares the backing chain.默认情况下,这个命令使整个链变平;但是如果指定了--shallow,则副本共享后台链。

KVM实验部分命令

KVM实验部分命令
回到root下: bash hello.sh
虚拟机上机部分实验命令
实 验 二
实验二
1. 查看目前支持的网卡:
2. 显示所有支持的pci 的插槽:
3. 创建虚拟机并配置网卡: qemu-sysem-x86_64 -hda /home/xp.img -m 1024 -vnc 0:27 -net nic,model=e1000
实验三
7. 进入vim对 my.xml进行改动:
uuid: 身份证号;可改,但丌允许重复。 memory: 最大限度值。 currentMemory: 当前分配到的内存大小, (小于memory)。 vcpu: 要为偶数。 source file: 原始虚拟镜像所存放 的文件。 bus=virtio: 网卡 machine: 宿主操作系统 hd: 从硬盘启动(boot:启动)
实验三
进入virsh 打开虚拟机 start hyy(虚拟机名字)
quit cd/home qemu-img create test 5G virsh (增加一个硬盘)attach-disk hyy /home/test vdc
在vnc的虚拟机里面右键 管理 磁盘管理在磁盘右键
回忆:KVM是一个进程
实验三
1. 创建硬盘 :
虚拟机名字
qemu-img create hyy 5G 2. 查看 : qemu-img info hyy 5G
3. 动态创建 :
qemu-img create -f qcow2 hyy 5G
用命令启动一个kvm虚拟机
方法1:使用现成的镜像(虚拟硬盘)方式安装
14. detach-disk:从客户端分离磁盘设备;(如:
detach-disk hyy vdc)

KVM常用命令

KVM常用命令

查看所有虚拟机状态:
查看指定虚拟机状态:
手动启动虚拟机:
手动关闭虚拟机:
挂起虚拟机(暂停):
回复挂起状态虚拟机:
断电关闭虚拟机:
设置随宿主启动(开机启动):
取消开机启动:
删除虚拟机.xml配置文件
导出(备份)虚拟机配置文件
编辑虚拟机配置文件(配置文件位置是/etc/libvirt/qemu下,可以用vim 进行编辑,但是建议使用KVM提供的命令进行编辑)
查看虚拟机磁盘信息:
查看指定虚拟机使用磁盘:
虚拟机迁移宿主物理服务器:
1、备份虚拟机配置文件
2、关机,迁移配置文件和磁盘文件,配置文件路径是/etc/libvirt/qemu
3、激活虚拟机配置文件。

Linux命令大全完整版

Linux命令大全完整版

Linux命令大全完整版1linux系统管理命令1.1adduser功能说明:新增用户帐号。

语法:adduser补充说明:在Slackware中,adduser指令是个script程序,利用交谈的方式取得输入的用户帐号资料,然后再交由真正建立帐号的useradd指令建立新用户,如此可方便管理员建立用户帐号。

在Red Hat Linux中,adduser指令则是useradd指令的符号连接,两者实际上是同一个指令。

1.2chfn(change finger information)功能说明:改变finger指令显示的信息。

语法:chfn [-f <真实姓名>][-h <家中电话>][-o <办公地址>][-p <办公电话>][-uv][帐号名称] 补充说明:chfn指令可用来更改执行finger指令时所显示的信息,这些信息都存放在/etc目录里的asswd文件里。

若不指定任何参数,则chfn指令会进入问答式界面。

参数:-f<真实姓名>或--full-name<真实姓名> 设置真实姓名。

-h<家中电话>或--home-phone<家中电话> 设置家中的电话号码。

-o<办公地址>或--office<办公地址> 设置办公室的地址。

-p<办公电话>或--office-phone<办公电话> 设置办公室的电话号码。

-u或--help 在线帮助。

-v或-version 显示版本信息。

1.3chsh(change shell)功能说明:更换登入系统时使用的shell。

语法:chsh [-luv][-s <shell 名称>][用户名称]补充说明:每位用户在登入系统时,都会拥有预设的shell环境,这个指令可更改其预设值。

若不指定任何参数与用户名称,则chsh会以应答的方式进行设置。

virsh命令集合

virsh命令集合help 打印帮助attach-device 从一个XML文件附加装置attach-disk 附加磁盘设备attach-interface 获得网络界面autostart 自动开始一个域capabilities 性能cd change the current directoryconnect 连接(重新连接)到 hypervisorconsole 连接到客户会话cpu-baseline compute baseline CPUcpu-compare compare host CPU with a CPU described by an XML filecreate 从一个 XML 文件创建一个域start 开始一个(以前定义的)非活跃的域destroy 删除一个域detach-device 从一个 XML 文件分离设备detach-disk 分离磁盘设备detach-interface 分离网络界面define 从一个 XML 文件定义(但不开始)一个域 domid 把一个域名或 UUID 转换为域 iddomuuid 把一个域名或 id 转换为域 UUIDdominfo 域信息domjobinfo domain job informationdomjobabort abort active domain jobdomname 将域 id 或 UUID 转换为域名domstate 域状态domblkstat 获得域设备块状态domifstat 获得域网络接口状态dommemstat get memory statistics for a domaindomblkinfo domain block device size informationdomxml-from-native Convert native config to domain XML domxml-to-native Convert domain XML to native config dumpxml XML 中的域信息edit 编辑某个域的 XML 配置find-storage-pool-sources 发现潜在存储池源find-storage-pool-sources-as 找到潜在存储池源freecell NUMA可用内存hostname 打印管理程序主机名list 列出域migrate 将域迁移到另一个主机中migrate-setmaxdowntime set maximum tolerable downtime net-autostart 自动开始网络net-create 从一个 XML 文件创建一个网络net-define 从一个XML 文件定义(但不开始)一个网络net-destroy 删除一个网络net-dumpxml XML 中的网络信息net-edit 为网络编辑 XML 配置net-list 列出网络net-name 把一个网络UUID 转换为网络名net-start 开始一个(以前定义的)不活跃的网络net-undefine 取消定义一个非活跃的网络net-uuid 把一个网络名转换为网络UUIDiface-list list physical host interfacesiface-name convert an interface MAC address to interface nameiface-mac convert an interface name to interface MAC addressiface-dumpxml interface information in XMLiface-define define (but don't start) a physical host interface from an XML fileiface-undefine undefine a physical host interface (remove it from configuration)iface-edit edit XML configuration for a physical host interface iface-start start a physical host interface (enable it / "if-up") iface-destroy destroy a physical host interface (disable it / "if-down")managedsave managed save of a domain statenodeinfo 节点信息nodedev-list 这台主机中中的枚举设备nodedev-dumpxml XML 中的节点设备详情nodedev-dettach dettach node device from its device driver nodedev-reattach reattach node device to its device driver nodedev-reset 重置节点设备nodedev-create create a device defined by an XML file on the nodenodedev-destroy destroy a device on the nodenwfilter-define define or update a network filter from an XML filenwfilter-undefine undefine a network filternwfilter-dumpxml network filter information in XMLnwfilter-list list network filtersnwfilter-edit edit XML configuration for a network filter pool-autostart 自动启动某个池pool-build 建立池pool-create 从一个 XML 文件中创建一个池pool-create-as 从一组变量中创建一个池pool-define 在一个 XML 文件中定义(但不启动)一个池pool-define-as 在一组变量中定义池pool-destroy 销毁池pool-delete 删除池pool-dumpxml XML 中的池信息pool-edit 为存储池编辑 XML 配置pool-info 存储池信息pool-list 列出池pool-name 将池 UUID 转换为池名称pool-refresh 刷新池pool-start 启动一个(以前定义的)非活跃的池pool-undefine 取消定义一个不活跃的池pool-uuid 把一个池名称转换为池 UUIDsecret-define define or modify a secret from an XML file secret-dumpxml secret attributes in XMLsecret-set-value set a secret valuesecret-get-value Output a secret valuesecret-undefine undefine a secretsecret-list list secretspwd print the current directoryquit 退出这个非交互式终端exit 退出这个非交互式终端reboot 重新启动一个域restore 从一个存在一个文件中的状态恢复一个域resume 重新恢复一个域save 把一个域的状态保存到一个文件schedinfo 显示/设置日程安排变量dump 把一个域的内核 dump 到一个文件中以方便分析shutdown 关闭一个域setmem 改变内存的分配setmaxmem 改变最大内存限制值setvcpus 改变虚拟 CPU 的号suspend 挂起一个域ttyconsole tty 控制台undefine 取消定义一个非活跃的域update-device update device from an XML fileuri 打印管理程序典型的URIvol-create 从一个 XML 文件创建一个卷vol-create-from create a vol, using another volume as input vol-create-as 从一组变量中创建卷vol-clone clone a volume.vol-delete 删除卷vol-wipe wipe a volvol-dumpxml XML 中的卷信息vol-info 存储卷信息vol-list 列出卷vol-pool returns the storage pool for a given volume key or pathvol-path returns the volume path for a given volume name or keyvol-name returns the volume name for a given volume key or pathvol-key returns the volume key for a given volume name or pathvcpuinfo 域 vcpu 的信息vcpupin 控制域 vcpu affinityversion 显示版本vncdisplay vnc 显示snapshot-create Create a snapshotsnapshot-current Get the current snapshotsnapshot-delete Delete a domain snapshotsnapshot-dumpxml Dump XML for a domain snapshotsnapshot-list List snapshots for a domain snapshot-revert Revert a domain to a snapshot。

最常用的Shell命令

Shell命令行操作Linux shell 简介Linux shell指的是一种程序,有了它,用户就能通过键盘输入指令来操作计算机了。

Shell 会执行用户输入的命令,并且在显示器上显示执行结果。

这种交互的全过程都是基于文本的,与其他各章介绍的图形化操作不同。

这种面向命令行的用户界面被称为CLI(Command Line interface)。

在图形化用户界面(GUI)出现之前,人们一直是通过命令行界面来操作计算机的。

现在,基于图形界面的工具越来越多,许多工作都不必使用Shell就可以完成了。

然而,专业的Linux用户认为Shell是一个非常有用的工具,学习Linux时一定要学习Shell,至少要掌握一些基础知识和基本的命令启动shell在启动Linux桌面系统后,Shell已经在后台运行起来了,但并没有显示出来。

如果想让它显示出来,按如下的组合键就可以:<Ctrl> + <Alt> + <F2>组合键中的F2可以替换为F3、F4、F5、F6。

如果要回到图形界面,则按如下组合键:<Ctrl> + <Alt> + <F7>另外,在图形桌面环境下运行“系统终端”也可以执行Shell命令,与用组合键切换出来的命令行界面是等效的。

“系统终端”启动后是一个命令行操作窗口,可以随时放大缩小,随时关闭,比较方便,推荐使用。

启动“系统终端”的方法是:【开始】→ 【应用程序】→ 【附件】→ 【系统终端】该软件允许建立多个Shell客户端,它们相互独立,可以通过标签在彼此之间进行切换。

Shell命令基本规则一般格式Shell命令的一般格式如下:命令名【选项】【参数1】【参数2】...【选项】是对命令的特别定义,以减号(-)开始,多个选项可以用一个减号(-)连起来,如ls -l -a 与ls -la 相同。

【参数】提供命令运行的信息,或者是命令执行过程中所使用的文件名。

sh常用指令

sh常用指令
sh是一种常见的Shell,也是许多其他Shell的基础。

常用的sh指令有:
- `-c`:执行命令字符串,例如`sh -c "echo Hello World"`。

- `-f`:从脚本文件中读取命令并执行,例如`sh -f script.sh`。

- `-i`:在执行脚本之前进入交互式模式,例如`sh -i script.sh`。

- `-l`:使Shell能够以登录Shell方式启动,例如`sh -l`。

- `-n`:不执行命令,只检查语法错误,例如`sh -n script.sh`。

- `-t`:设置Shell在执行命令之前会输出调试信息,例如`sh -t script.sh`。

- `-v`:在Shell执行命令时输出额外的详细信息,例如`sh -v script.sh`。

- `-x`:打印出Shell将要执行的每个命令和其参数,以便进行调试,例如`sh -x script.sh`。

这些指令可以组合使用,以满足不同的需求。

在使用sh命令时,可以根据具体情况选择合适的参数,以获得更好的效果。

KVM虚拟机的常用操作命令整理

KVM虚拟机的常⽤操作命令整理1,创建虚拟机复制代码代码如下:[root@localhost ~]# virt-install --name=centos1 \ #⽣成⼀个虚拟机--ram 1024 --vcpus=1 \--disk path=/root/centos1.img,size=10 \--accelerate --cdrom /root/CentOS-6.5-x86_64-bin-DVD1.iso \--graphics vnc,port=5921 --network bridge=br02,virsh的其他操作复制代码代码如下:[root@localhost /]# virsh start centos1 #启动虚拟机[root@localhost /]# virt-viewer centos1 #如果有图形界⾯的话,可以进⼊虚拟机的界⾯[root@localhost ~]# virsh shutdown centos1 #关闭虚拟机[root@localhost /]# virsh reboot centos1 #重启虚拟机[root@localhost /]# virsh suspend centos1 #暂停虚拟机[root@localhost /]# virsh resume centos1 #恢复虚拟机[root@localhost /]# virsh autostart centos1 #⾃动加载虚拟机virsh参数如下:autostart #⾃动加载指定的⼀个虚拟机connect #重新连接到hypervisorconsole #连接到客户会话create #从⼀个SML⽂件创建⼀个虚拟机start #开始⼀个⾮活跃的虚拟机destroy #删除⼀个虚拟机define #从⼀个XML⽂件定义⼀个虚拟机domid #把⼀个虚拟机名或UUID转换为IDdomuuid #把⼀个郁闷或ID转换为UUIDdominfo #查看虚拟机信息domstate #查看虚拟机状态domblkstat #获取虚拟机设备快状态domifstat #获取虚拟机⽹络接⼝状态dumpxml #XML中的虚拟机信息edit #编辑某个虚拟机的XML⽂件list #列出虚拟机migrate #将虚拟机迁移到另⼀台主机quit #退出⾮交互式终端reboot #重新启动⼀个虚拟机resume #重新恢复⼀个虚拟机save #把⼀个虚拟机的状态保存到⼀个⽂件dump #把⼀个虚拟机的内核dump到⼀个⽂件中以⽅便分析shutdown #关闭⼀个虚拟机setmem #改变内存的分配setmaxmem #改变最⼤内存限制值suspend #挂起⼀个虚拟机vcpuinfo #虚拟机的cpu信息version #显⽰virsh版本3,virt-clone,如果我们要建⼏个⼀样的虚拟机,这个命令,⾮常有⽤复制代码代码如下:# virt-clone --connect=qemu:///system -o centos1 -n centos3 -f /root/centos3.img #克隆centos1正在克隆 centos1.img | 10.0 GB 00:07Clone 'centos3' created successfully.libguestfs-tools是虚拟机⼀个管理包,很有⽤的⼯具[root@localhost ~]# yum -y install libguestfs-tools #安装⼯具包4,未登录的情况下,查看镜像⽬录复制代码代码如下:[root@localhost ~]# virt-ls centos.img /home #查看centos.img镜像⽂件中/home⽬录tank5,未登录的情况下,将镜像⽂件中的⽂件copy出来复制代码代码如下:[root@localhost ~]# virsh list --all #查看所有的虚拟机名称Id 名称状态----------------------------------------------------1 centos1 running2 centos6.5 running- arch 关闭- arch1 关闭- arch2 关闭- arch3 关闭- arch5 关闭- centos3 关闭- ubuntu 关闭- ubuntu1 关闭[root@localhost ~]# virt-copy-out -d centos1 /etc/passwd /tmp #将centos1中的⽂件copy到tmp下⾯6,查看虚拟机的分区情况复制代码代码如下:[root@localhost ~]# virt-filesystems -d centos1/dev/sda1/dev/VolGroup/lv_root[root@localhost ~]# virt-list-partitions /root/centos.img/dev/sda1/dev/sda2[root@localhost ~]# virt-df centos.imgFilesystem 1K-blocks Used Available Use%centos.img:/dev/sda1 495844 34510 435734 7%centos.img:/dev/VolGroup/lv_root 8780808 2842056 5492700 33%7,mount虚拟机复制代码代码如下:[root@localhost ~]# guestmount -a /root/centos.img -m /dev/VolGroup/lv_root --rw /mnt/usb[root@localhost ~]# cd /mnt/usb/[root@localhost usb]# lsbin dev home lib64 media mnt opt root selinux sys usrboot etc lib lost+found misc net proc sbin srv tmp var8,修改kvm中虚拟机的内存⼤⼩复制代码代码如下:[root@nfs ~]# virsh edit vm01 ##注意vi直接编辑不⽣效vm01df8604c1-dcf3-fa98-420f-6eea7b39c3951048576 ###本来开始设置为1G,现在这个单位是k1048576修改为1.5G复制代码代码如下:[root@nfs ~]# expr 1536 \* 10241572864</p> <p>[root@nfs ~]# virsh listId Name State----------------------------------1 win2003 running3 vm01 running</p> <p>[root@nfs ~]# virsh shutdown vm01 ###修改配置⽂件后需要重新启动下虚拟机,先关闭它Domain vm01 is being shutdown</p> <p>[root@nfs ~]# virsh list ###确认已经被关闭Id Name State----------------------------------1 win2003 running</p> <p>[root@nfs ~]# virsh start vm01 ###启动它Domain vm01 started</p> <p>[root@nfs ~]# virsh listId Name State----------------------------------1 win2003 running3 vm01 running到机器上查看内存⼤⼩:复制代码代码如下:[root@vm01 liuxiaojie]# free -mtotal used free shared buffers cachedMem: 1505 618 886 0 29 361-/+ buffers/cache: 227 1277Swap: 2000 0 20009,删除⼀个虚拟机(vm01)复制代码代码如下:[root@nfs qemu]# virsh undefine vm01[root@nfs qemu]# rm -f /home/data/vm01.img10,删除⼀个域复制代码代码如下:[root@nfs web01]# virsh list --allId Name State----------------------------------1 web01 running ##处于⼯作状态- myweb01 shut off- myweb03 shut off- mywin2003 shut off- myxp shut off- xp shut off复制代码代码如下:[root@nfs web01]# virsh undefine web01 ##处于⼯作状态也能删除!Domain web01 has been undefined复制代码代码如下:[root@nfs web01]# virsh listId Name State----------------------------------1 web01 running复制代码代码如下:[root@nfs web01]# virsh destroy web01Domain web01 destroyed复制代码代码如下:[root@nfs web01]# virsh list --all ##web01已经没有了!Id Name State----------------------------------- myweb01 shut off- myweb03 shut off- mywin2003 shut off- myxp shut off- xp shut off复制代码代码如下:[root@nfs web01]# virsh define web01error: Failed to open file 'web01': No such file or directory。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档