在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
注釋:
- virt-manage:KVM圖形化管理工具
- libvirt: 虛擬機化服務(libvirtd:守護進程)
- 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,創建虛擬機
后面的操作步驟與正常的安裝虛擬機一樣