KVM虚拟机的常用操作命令整理
程序员文章站
2022-06-25 17:04:45
这篇文章主要介绍了KVM虚拟机的常用操作命令整理,包括虚拟机的内存大小修改以及最基础的启动关闭命令等等,需要的朋友可以参考下... 16-01-14...
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</p> <p>[root@nfs ~]# virsh list
id name state
----------------------------------
1 win2003 running
3 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 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