使用cockpit管理kvm虚拟机

在Centos8.2主机上部署kvm,使用cockpit管理

首先检测cpu是否支持虚拟化

[root@localhost ~]# cat /proc/cpuinfo | grep vmx
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc cpuid pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi ept vpid fsgsbase tsc_adjust smep invpcid rdseed smap clflushopt xsaveopt xsavec xsaves arat md_clear flush_l1d arch_capabilities
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc cpuid pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi ept vpid fsgsbase tsc_adjust smep invpcid rdseed smap clflushopt xsaveopt xsavec xsaves arat md_clear flush_l1d arch_capabilities

出现以上带有vmx的信息,说明cpu支持虚拟化

查看是否加载的kvm模块

[root@localhost ~]# lsmod | grep kvm
kvm_intel             294912  0
kvm                   786432  1 kvm_intel
irqbypass              16384  1 kvm

上传镜像

//为了后面好找镜像文件,首先创建一个存放镜像的目录
[root@localhost ~]# mkdir /dev/iso

然后使用xftp上传镜像

安装KVM模块、管理工具和libvirt服务

[root@localhost ~]# yum install -y qemu-kvm virt-manager libvirt
[root@localhost ~]# rpm -qa grep qemu-kvm virt-manage libvirt
qemu-kvm-2.12.0-99.module_el8.2.0+385+c644c6e8.2.x86_64
libvirt-4.5.0-42.module_el8.2.0+320+13f867d7.x86_64
grep-3.1-6.el8.x86_64

注释:

  1. virt-manage:KVM图形化管理工具
  2. libvirt: 虚拟机化服务(libvirtd:守护进程)
  3. qemu-kvm:用来创建虚拟磁盘工具

启动虚拟机化服务

[root@localhost ~]# systemctl enable --now libvirtd

启动cockpit服务

在Centos8.2中默认安装了cockpit服务,所以只需启动即可

[root@localhost ~]# systemctl enable --now cockpit.socket                //注意:启动时需要使用cockpit.socket
Created symlink /etc/systemd/system/sockets.target.wants/cockpit.socket → /usr/lib/systemd/system/cockpit.socket.
[root@localhost ~]# systemctl status cockpit.socket
● cockpit.socket - Cockpit Web Service Socket
   Loaded: loaded (/usr/lib/systemd/system/cockpit.socket; enabled; vendor preset: disabled)
   Active: active (listening) since Thu 2020-09-24 17:01:21 CST; 12s ago
     Docs: man:cockpit-ws(8)
   Listen: [::]:9090 (Stream)
  Process: 30583 ExecStartPost=/bin/ln -snf active.motd /run/cockpit/motd (code=exited, status=0/SUCCESS)
  Process: 30575 ExecStartPost=/usr/share/cockpit/motd/update-motd  localhost (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 23785)
   Memory: 912.0K
   CGroup: /system.slice/cockpit.socket

Sep 24 17:01:21 localhost.localdomain systemd[1]: Starting Cockpit Web Service Socket.
Sep 24 17:01:21 localhost.localdomain systemd[1]: Listening on Cockpit Web Service Socket.

查看cockpit状态

[root@localhost ~]# ss -antlp
State           Recv-Q           Send-Q                     Local Address:Port                     Peer Address:Port                                                       
LISTEN          0                128                              0.0.0.0:111                           0.0.0.0:*              users:(("systemd",pid=1,fd=114))            
LISTEN          0                32                         192.168.122.1:53                            0.0.0.0:*              users:(("dnsmasq",pid=30323,fd=6))          
LISTEN          0                128                              0.0.0.0:22                            0.0.0.0:*              users:(("sshd",pid=1041,fd=5))              
LISTEN          0                128                                 [::]:111                              [::]:*              users:(("systemd",pid=1,fd=116))            
LISTEN          0                128                                 [::]:22                               [::]:*              users:(("sshd",pid=1041,fd=7))              
LISTEN          0                128                                    *:9090                                *:*              users:(("systemd",pid=1,fd=70)) 

以上可以看出cockpit的监听端口是9090;所以需要加上端口号

在浏览器上访问管理页面

第一次会提示不是私密连接

点击继续前往,会出现如下登陆界面

第一次登陆后的界面

安装cockpit-machine

在cockpit界面会发现没有可以创建虚拟机的位置,所以需要手动安装cockpit-machine(machine:机器)

[root@localhost ~]# yum install -y cockpit-machines

使用cockpit界面创建一台虚拟机

安装完cockpit-machine后,刷新网页

点击virtual machines,创建虚拟机

后面的操作步骤与正常的安装虚拟机一样

原文地址:https://www.cnblogs.com/itwangqiang/p/13725461.html