2021-11-11②企业虚拟化Kvm 管理、虚拟机管理、添加设备、第二篇

文章目录

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

2021-11-11②企业虚拟化Kvm 管理、虚拟机管理、添加设备、第二篇
注意修改三个位置,绝对路径里面的文件名称,插槽随便改一个数字,挂着目录名字
加好之后,启动虚拟机

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>

2021-11-11②企业虚拟化Kvm 管理、虚拟机管理、添加设备、第二篇
这个是修改俩个位置即可, mac地址随便改个数字,插槽也随便改个数字
登录查看
2021-11-11②企业虚拟化Kvm 管理、虚拟机管理、添加设备、第二篇

上一篇:docker安装phpmyadmin


下一篇:略过 Mysql 5.7的密码策略