欢迎来到福编程网,本站提供各种互联网专业知识!

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

发布时间:1970-01-01 作者:qingheliu 来源:ChinaUnix
这篇文章主要介绍了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=br0

2,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 #重新连接到hypervisor

console #连接到客户会话

create #从一个SML文件创建一个虚拟机

start #开始一个非活跃的虚拟机

destroy #删除一个虚拟机

define #从一个XML文件定义一个虚拟机

domid #把一个虚拟机名或UUID转换为ID

domuuid #把一个郁闷或ID转换为UUID

dominfo #查看虚拟机信息

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:07

Clone 'centos3' created successfully.

libguestfs-tools是虚拟机一个管理包,很有用的工具

[root@localhost ~]# yum -y install libguestfs-tools #安装工具包

4,未登录的情况下,查看镜像目录

复制代码代码如下:

[root@localhost ~]# virt-ls centos.img /home #查看centos.img镜像文件中/home目录

tank

5,未登录的情况下,将镜像文件中的文件copy出来

复制代码代码如下:

[root@localhost ~]# virsh list --all #查看所有的虚拟机名称

Id 名称 状态

----------------------------------------------------

1 centos1 running

2 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.img

Filesystem 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]# ls

bin dev home lib64 media mnt opt root selinux sys usr

boot etc lib lost+found misc net proc sbin srv tmp var

8,修改kvm中虚拟机的内存大小

复制代码代码如下:

[root@nfs ~]# virsh edit vm01 ##注意vi直接编辑不生效

vm01

df8604c1-dcf3-fa98-420f-6eea7b39c395

1048576 ###本来开始设置为1G,现在这个单位是k

1048576

修改为1.5G

复制代码代码如下:

[root@nfs ~]# expr 1536 * 1024

1572864

[root@nfs ~]# virsh list

Id Name State

----------------------------------

1 win2003 running

3 vm01 running

[root@nfs ~]# virsh shutdown vm01 ###修改配置文件后需要重新启动下虚拟机,先关闭它

Domain vm01 is being shutdown

[root@nfs ~]# virsh list ###确认已经被关闭

Id Name State

----------------------------------

1 win2003 running

[root@nfs ~]# virsh start vm01 ###启动它

Domain vm01 started

[root@nfs ~]# virsh list

Id Name State

----------------------------------

1 win2003 running

3 vm01 running

到机器上查看内存大小:

复制代码代码如下:

[root@vm01 liuxiaojie]# free -m

total used free shared buffers cached

Mem: 1505 618 886 0 29 361

-/+ buffers/cache: 227 1277

Swap: 2000 0 2000

9,删除一个虚拟机(vm01)

复制代码代码如下:

[root@nfs qemu]# virsh undefine vm01

[root@nfs qemu]# rm -f /home/data/vm01.img

10,删除一个域

复制代码代码如下:

[root@nfs web01]# virsh list --all

Id 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 list

Id Name State

----------------------------------

1 web01 running

复制代码代码如下:

[root@nfs web01]# virsh destroy web01

Domain 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 web01

error: Failed to open file 'web01': No such file or directory

相关推荐