KVM——2——KVM基本操作命令

1、查看虚拟机列表

查看正在运行的虚拟机,默认只能查看正在运行的虚拟机域,如果想查看所有加 --all

[root@kvm01 ~]# virsh list --all

例:

[root@kvm01 ~]# virsh list
 Id    Name                           State
----------------------------------------------------
[root@kvm01 ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     centos7.0                      shut off
 -     test01                         shut off

2、查看虚拟机详细信息 域

[root@kvm01 ~]# virsh dominfo test01

例:

[root@kvm01 ~]# virsh dominfo test01 
Id:             -
Name:           test01
UUID:           abd881cd-e07c-448a-86ae-1f539a2080dc
OS Type:        hvm
State:          shut off
CPU(s):         1
Max memory:     1048576 KiB
Used memory:    1048576 KiB
Persistent:     yes
Autostart:      disable
Managed save:   no
Security model: none
Security DOI:   0

3、虚拟机域的开关机

开机
[root@kvm01 ~]# virsh start test01
关机(温柔的关机)
[root@kvm01 ~]# virsh shutdown test01
强制关机(类似于拔电源)
[root@kvm01 ~]# virsh destroy test01

例:

[root@kvm01 ~]# virsh start test01
Domain test01 started

[root@kvm01 ~]# virsh shutdown test01 
Domain test01 is being shutdown

[root@kvm01 ~]# virsh start test01
Domain test01 started

[root@kvm01 ~]# virsh destroy test01 
Domain test01 destroyed

4、导出配置(备份)

[root@kvm01 ~]# virsh dumpxml test01 > test01bak.xml

例:

[root@kvm01 ~]# virsh dumpxml test01 > test01bak.xml
[root@kvm01 ~]# ls
test01bak.xml

一个完整KVM域,生成之后会有两个文件。
1)磁盘文件,在部署之处已经指定
2)xml配置文件,默认在/etc/libvirt/qemu/

5、删除虚拟机

[root@kvm01 ~]# virsh undefine test01 

例:

[root@kvm01 ~]# virsh undefine test01 
Domain test01 has been undefined

PS: 删除虚拟机域的操作,会删除虚拟机域的xml配置文件,而磁盘文件则需要手动删除。

6、根据配置文件恢复虚拟机

[root@kvm01 ~]# virsh define test01bak.xml 

例:

[root@kvm01 ~]# virsh define test01bak.xml 
Domain test01 defined from test01bak.xml

思考:能否根据test01的xml配置文件和磁盘文件,生成新的虚拟机:test02.
思路:有虚拟机域所需要的xml配置文件,和磁盘文件,即可以生产新的虚拟机域,如果需要注意,xml配置文件和之前的xml配置文件如果有冲突的地方,需要作出修改。1、名字 2、disk (修改) | 3、UUID 4、mac地址(删除)

实践:

[root@kvm01 ~]# cp /etc/libvirt/qemu/test01.xml /etc/libvirt/qemu/test02.xml
[root@kvm01 ~]# cp /kvm-vm/test01.raw /kvm-vm/test02.raw 
[root@kvm01 ~]# vim /etc/libvirt/qemu/test02.xml
  <name>test02</name>			#修改
  <uuid>abd881cd-e07c-448a-86ae-1f539a2080dc</uuid>			dd
      <source file='/kvm-vm/test02.raw'/>				#修改
      <mac address='52:54:00:1b:e8:b9'/>			dd

[root@kvm01 ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     centos7.0                      shut off
 -     test01                         shut off

[root@kvm01 ~]# virsh define /etc/libvirt/qemu/test02.xml 
Domain test02 defined from /etc/libvirt/qemu/test02.xml

[root@kvm01 ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     centos7.0                      shut off
 -     test01                         shut off
 -     test02                         shut off

[root@kvm01 ~]# virsh start test02 
Domain test02 started

在这里插入图片描述

扩展:根据test01虚拟机域,生成一个新的虚拟机域test03。
要求:test01和test03公用一个磁盘文件。
问:是否能成功?
如果可以,那么,在test01虚拟机域中创建一个test.txt文件,请问在test03中,能查看到该文件吗?

7、修改配置文件(自带语法检查)

需求: 把 test01磁盘文件的名称修改为test1.raw

[root@kvm01 ~]# virsh edit test01

例:

[root@kvm01 ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 3     test02                         running
 4     test01                         running
 -     centos7.0                      shut off

[root@kvm01 ~]# virsh destroy test01
Domain test01 destroyed

[root@kvm01 ~]# virsh destroy test02
Domain test02 destroyed

[root@kvm01 ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     centos7.0                      shut off
 -     test01                         shut off
 -     test02                         shut off

[root@kvm01 ~]# mv /kvm-vm/test01.raw /kvm-vm/test1.raw
[root@kvm01 ~]# virsh start test01 
error: Failed to start domain test01
error: Cannot access storage file '/kvm-vm/test01.raw': No such file or directory

[root@kvm01 ~]# virsh edit test01
      <source file='/kvm-vm/test1.raw'/>		#修改

[root@kvm01 ~]# virsh start test01 
Domain test01 started

[root@kvm01 ~]# virsh list
 Id    Name                           State
----------------------------------------------------
 5     test01                         running

8、虚拟机的重命名(7.2以上)

[root@kvm01 ~]# virsh domrename test02 test03

例:

[root@kvm01 ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     centos7.0                      shut off
 -     test01                         shut off
 -     test02                         shut off

[root@kvm01 ~]# virsh domrename test02 test03
Domain successfully renamed

[root@kvm01 ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     centos7.0                      shut off
 -     test01                         shut off
 -     test03                         shut off

[root@kvm01 ~]# virsh start test03 
Domain test03 started

9、查看虚拟机对应的VNC端口

[root@kvm01 ~]# virsh vncdisplay test1
:0			 	#默认不加端口,指定的也是:0,也就是5900
:0==== 5900
:1==== 5901 	#以此类推

注意:
1、注意虚拟机的防火墙对应端口是否开启
2、如果虚拟机使用qemu连接进去的话,那么vnc就不可用。

例:

[root@kvm01 ~]# virsh start test01 
Domain test01 started

[root@kvm01 ~]# virsh vncdisplay test01 
:0

[root@kvm01 ~]# ifconfig ens33
ens33: 192.168.1.150

在这里插入图片描述
在这里插入图片描述

10、挂起虚拟机

[root@kvm01 ~]# virsh suspend test01		#挂起

[root@kvm01 ~]# virsh resume test01		#恢复

例:

[root@kvm01 ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 9     test01                         running
 -     centos7.0                      shut off
 -     test03                         shut off

[root@kvm01 ~]# virsh suspend test01 
Domain test01 suspended

[root@kvm01 ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 9     test01                         paused
 -     centos7.0                      shut off
 -     test03                         shut off

[root@kvm01 ~]# virsh resume test01 
Domain test01 resumed

[root@kvm01 ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 9     test01                         running
 -     centos7.0                      shut off
 -     test03                         shut off

11、开机自启

[root@kvm01 ~]# virsh autostart test01

[root@kvm01 ~]# virsh autostart --disable test01				#取消开机自启

例:

[root@kvm01 ~]# virsh autostart test01 
Domain test01 marked as autostarted

[root@kvm01 ~]# virsh dominfo test01 
Id:             9
Name:           test01
UUID:           abd881cd-e07c-448a-86ae-1f539a2080dc
OS Type:        hvm
State:          running
CPU(s):         1
CPU time:       25.3s
Max memory:     1048576 KiB
Used memory:    1048576 KiB
Persistent:     yes
Autostart:      enable
Managed save:   no
Security model: none
Security DOI:   0

[root@kvm01 ~]# reboot

[root@kvm01 ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 1     test01                         running
 -     centos7.0                      shut off
 -     test03                         shut off

[root@kvm01 ~]# virsh autostart --disable test01 
Domain test01 unmarked as autostarted

[root@kvm01 ~]# virsh dominfo test01 
Id:             1
Name:           test01
UUID:           abd881cd-e07c-448a-86ae-1f539a2080dc
OS Type:        hvm
State:          running
CPU(s):         1
CPU time:       23.7s
Max memory:     1048576 KiB
Used memory:    1048576 KiB
Persistent:     yes
Autostart:      disable
Managed save:   no
Security model: none
Security DOI:   0

12、console登录KVM虚拟机域

在这里插入图片描述

在KVM域里添加

[root@localhost ~]# grubby --update-kernel=ALL --args="console=ttyS0"		#注意: ttyS0是ttyS零

[root@localhost ~]# reboot

就可以在虚拟机直接使用console命令登录kvm虚拟机域

[root@kvm01 ~]# virsh console test01

virsh console命令 虽然可以在终端直接登录kvm虚拟机域,但在xshell终端里,如果使用console编辑配置文件,会出现显示错乱的情况。

例:

[root@kvm01 ~]# virsh console test01 
Connected to domain test01
Escape character is ^]			#ctrl+]退出

[root@kvm01 ~]# virsh list
 Id    Name                           State
----------------------------------------------------
 1     test01                         running

[root@kvm01 ~]# 
[root@kvm01 ~]# virsh vncdisplay test01 
:0
# 在KVM域里添加
[root@localhost ~]# grubby --update-kernel=ALL --args="console=ttyS0"		#注意: ttyS0是ttyS零

[root@localhost ~]# reboot
[root@kvm01 ~]# virsh console test01 
Connected to domain test01
Escape character is ^]

CentOS Linux 7 (Core)
Kernel 3.10.0-514.el7.x86_64 on an x86_64

localhost login: root
Password: 
Last login: Thu Aug 13 05:34:11 on tty1
[root@localhost ~]#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值