文章目录
KVM虚拟机管理
虚拟机的组成部分
1.虚拟机配置文件
[root@youngfit qemu]# ls /etc/libvirt/qemu
networks vm1.xml
2.储存虚拟机的介质
[root@youngfit qemu]# ls /var/lib/libvirt/images/
vm1.img
这些都可以图形化操作,如果有的时候不可以图形化操作怎么办,这个时候就需要我们用命令来操作拉
虚拟机的基本管理命令:
查看
启动
关闭
重启
重置
查看虚拟机:
[root@youngfit ~]# virsh list #只包括开机状态的虚拟机
Id Name State
----------------------------------------------------
2 vm1 running
[root@youngfit ~]# virsh list --all #包括非开机状态的虚拟机
Id Name State
----------------------------------------------------
2 vm1 running
查看kvm虚拟机配置文件:
[root@youngfit ~]# virsh dumpxml name # name为虚拟机名称
将node4虚拟机的配置文件保存至node6.xml,这个可以忽略
[root@youngfit ~]# virsh dumpxml node4 > /etc/libvirt/qemu/node6.xml
修改node6的配置文件:这个重要
[root@youngfit ~]# virsh edit node6
如果直接用vim编辑器修改配置文件的话,需要重启libvirtd服务或者重新define配置文件,用edit修改则不需要。
启动:
[root@youngfit ~]# virsh start vm1
Domain vm1 started
暂停(挂起)虚拟机:
[root@youngfit ~]# virsh suspend vm_name
恢复虚拟机:
[root@youngfit ~]# virsh resume vm_name
关闭:
方法1:
[root@youngfit ~]# virsh shutdown vm1 //正常关闭
Domain vm1 is being shutdown
方法2:
[root@youngfit ~]# virsh destroy vm1 //强制关闭
Domain vm1 destroyed
重启:
[root@youngfit ~]# virsh reboot vm1
Domain vm1 is being reboote
重置:跟重启没啥区别
[root@youngfit ~]# virsh reset vm1
Domain vm1 was reset
删除虚拟机:
[root@youngfit ~]# virsh undefine vm2 //首先要先关闭
Domain vm2 has been undefined
注意:虚拟机在开启的情况下undefine是无法删除的,但是如果再destroy会直接被删除掉
虚拟机开机自动启动:
#如果虚拟机开机自启,里面的服务应该设置的有开机自启,不然没有意义
[root@youngfit ~]# virsh autostart vm1
域 vm1标记为自动开始
[root@youngfit ~]# ls /etc/libvirt/qemu/autostart/ //此目录默认不存在,在有开机启动的虚拟机时自动创建
vm1.xml
[root@youngfit ~]# virsh autostart --disable vm1
域 vm1取消标记为自动开始
[root@youngfit ~]# ls /etc/libvirt/qemu/autostart/
如何查看已启动的虚拟机ip地址
假如vm2虚拟机已启动
方法1:先找的mac地址
[root@youngfit ~]# virsh dumpxml vm2|grep mac
<partition>/machine</partition>
<type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
<mac address='52:54:00:cc:3e:79'/>
过滤查看
[root@youngfit ~]# arp -a |grep "52:54:00:cc:3e:79"
? (192.168.122.227) at 52:54:00:cc:3e:79 [ether] on virbr0
方法2:
[root@youngfit ~]# virsh domifaddr vm2
Name MAC address Protocol Address
-------------------------------------------------------------------------------
vnet1 52:54:00:d3:37:16 ipv4 192.168.122.178/24
虚拟机添加设备
1.图形方式: 这种直接点点点方式
首先,关闭要添加硬件的虚拟机
双击虚拟机,在打开的对话框点击上方的View,点击Details,点击Add Hardware可以选择要添加的虚拟硬件
2.修改配置文件方式:
我们给虚拟机vm9添加磁盘为例:在配置文件中,多复制一份磁盘文件,改名字
我们给虚拟机vm9添加网卡为例:在配置文件中,多复制一份网卡文件,改名字
首先需要创建出要添加的磁盘
qemu-img create -f qcow2 /var/lib/libvirt/images/vm9-1.qcow2 5G
创建空的磁盘文件:这里我们创建一个5G的磁盘,不过创建出来,通过ll -h查看大小,看不出它是5G,添加上之后才能看到
修改配置文件
[root@youngfit qemu]# virsh edit vm9
如果用vim进去。记得重新define
注意修改三个位置,绝对路径里面的文件名称,插槽随便改一个数字,挂着目录名字
加好之后,启动虚拟机
virsh start vm9
远程连接到vm9虚拟机
[root@vm9 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 252:0 0 5G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 4G 0 part
├─centos-root 253:0 0 3.5G 0 lvm /
└─centos-swap 253:1 0 512M 0 lvm [SWAP]
vdb 252:16 0 5G 0 disk
可以看到我们新添加的磁盘vdb
然后可以正常分区,制作文件系统,进行挂载
网卡: 和添加磁盘相同
<interface type='network'>
<mac address='52:54:00:fc:c6:0b'/>
<source network='default'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
这个是修改俩个位置即可, mac地址随便改个数字,插槽也随便改个数字
登录查看