Centos7安装KVM并轻松使用Cockpitweb图形管理工

2021-09-02  本文已影响0人  liurongming

安装Cockpit [集成docker && k8s 管理]web图形管理工具

  1. yum 安装
    yum install cockpit
  2. 允许启动
    systemctl enable --now cockpit.socket
  3. 可选的插件
    cockpit-docker cockpit-storaged cockpit-kubernetes cockpit-ws
  4. 特殊防火墙处理
    firewall-cmd --permanent --zone=public --add-service=cockpit
    或者打开端口:9090
    firewall-cmd --zone=public --add-port=9090/tcp --permanent
    firewall-cmd --reload
  5. 访问端口
    http://host:9090
# 下载安装
yum install -y cockpit cockpit-storaged cockpit-ws cockpit-machines cockpit-docker cockpit-bridge 
# 其他安装
yum install -y cockpit-kubernetes  cockpit-dashboard cockpit-pcp
启动
# 启动Cockpit服务和设置开机自启
systemctl enable --now cockpit.socket # 推荐

查看开机服务

systemctl list-unit-files|grep cockpit
cockpit-motd.service                          static
cockpit.service                               static
cockpit.socket                                enabled

【建议】停止 NetworkManager
避免冲突问题,建议停止

systemctl stop NetworkManager
systemctl disable NetworkManager

查看是否支持

grep -E '(vmx|svm)' /proc/cpuinfo **
# 有匹配表示已支持(vmx|svm才支持)
[root@it181kvm01 iso]# grep -E '(vmx|svm)' /proc/cpuinfo **|wc -l
13

安装KVM

yum install -y virt-* libvirt bridge-utils qemu-img qemu-kvm
systemctl enable libvirtd
systemctl start  libvirtd
systemctl status  libvirtd

【推荐】更改主机名:

hostnamectl set-hostname 主机名

直接使用


image.png

KVM常用命令

domain
    virsh start 启动一个虚拟机
    virsh suspend 暂停
    virsh resume 恢复
    virsh save 将虚拟机的当前运行状态保存到宿主机磁盘
    virsh restore 恢复虚拟机的状态
    virsh destory 删除虚拟机运行状态
    virsh shutdown 关闭虚拟机
    virsh undefined 取消一个域
    virsh autostart 随着宿主机启动而启动
    virsh attach-disk <domain> PATH/IMG_FILE <target> 向一个域添加一个虚拟磁盘
    virsh detach-disk <domain> <target> 移除一个域中的虚拟硬盘
        dumpxml XML 中的域信息
monitor
    virsh domblklist 显示域的虚拟磁盘设备
    virsh domiflist 显示域的虚拟网卡
    virsh domblkinfo <domain> <device> 显示域的虚拟磁盘设备的详细信息
    virsh domblkstat <domain> <device> 显示域的虚拟磁盘设备的状态
    virsh domifstat <domain> <interface> 显示域的虚拟网卡的状态
Network
    virsh net-list 显示虚拟网络的列表
    virsh net-dumpxml 显示虚拟网络的xml文件
    virsh net-create file.xml 从file.xml创建一个网络
    virsh net-autostart net_NAME 自动启动net_Name网络
    virsh net-start 开始一个(以前定义的)不活跃的网络

示例:
1,查看运行的虚拟机
    virsh list
2,查看所有的虚拟机(关闭和运行的虚拟机)
    virsh list –all
3,连接虚拟机
    virsh console +域名(虚拟机的名称)
4,退出虚拟机
    ctrl+]
5,关闭虚拟机
    virsh shutdown +域名
    virsh destroy +域名
        这种方式的关闭,是一种删除的方式,只是在virsh list中删除了该虚拟机。
6,挂起虚拟机
    virsh suspend +域名
7,恢复被挂起的虚拟机
    virsh resume +域名
8,子机随宿主主机(母机)启动而启动
    virsh autostart + 域名
9,取消自动启动
    virsh auotstart –disable +域名
10,彻底删除虚拟机
    删除虚拟机 virsh destroy +域名
    解除标记 virsh undefine +域名
    删除虚拟机文件
11,启动虚拟机并进入该虚拟机
    virsh start 域名 –console
12.查看虚拟机信息
    virsh dominfo 域名
重启
    virsh reboot 域名
查看虚拟机信息
    virsh dominfo 域名
查看虚拟机磁盘
    virsh domblklist 域名
查看虚拟网卡
    virsh domiflist 域名
更改虚拟机配置,libvirt使用xml文件来定义虚拟机配置
    virsh edit 域名

使用dd创建虚拟机硬盘

dd if=/dev/zero of=centos.img bs=2k seek=4096k count=1

设置KVM桥接

# 备份原始网卡
mkdir /bark
cp /etc/sysconfig/network-scripts/ifcfg-eno1 /bark

# 设置桥接器
vim /etc/sysconfig/network-scripts/ifcfg-br0
TYPE="Bridge"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="statlc"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="br0"
UUID=059e7b87-5054-4b3f-9309-294bf2209e89
DEVICE="br0"
ONBOOT="yes"
IPADDR="172.18.5.181"
NETMASK="255.255.255.0"
GATEWAY="172.18.5.1"
DNS1="114.114.114.114"


# 设置网卡指向桥接
vim /etc/sysconfig/network-scripts/ifcfg-eno1
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV4_DNS_PRIORITY=100
NAME=eno1
UUID=338cd9d3-6555-4e32-85db-ec213c73513e
DEVICE=eno1
ONBOOT=yes
BRIDGE=br0

【直连不通过WEB】设置VNC远程:

1、打开监听
vi /etc/libvirt/qemu.conf
vnc_listen = "0.0.0.0

2、重启进程
systemctl restart libvirtd.service

3、对于已经开启的虚拟机需要关闭再开机一下,另外最好指定虚拟机的端口,不然不知道连接的是哪一台虚拟机
# 查看名称
virsh list --all
# 编辑【指定端口:5910 autoport='no' IP:0.0.0.0】
virsh edit it181omo02
<graphics type='vnc' port='5910' autoport='no' listen='0.0.0.0'>      
  <listen type='address' address='0.0.0.0'/>       
</graphics>

# 查看端口
[root@it181kvm01 ~]# virsh vncdisplay it181omo02
:10
4、此时打开MobaXterm连接vnc输入宿主机的IP即可访问:

或者采用nginx 端口转发

stream {
  upstream kvm {
    server 127.0.0.1:5901 max_fails=3 fail_timeout=30s;
  }
  server {
    listen 5910;
    proxy_connect_timeout 30s;
    proxy_pass kvm;
  }
}
配置完成:vnc 登录宿主机 端口5910

恢复默认网络设置

# 恢复默认设置
1.  关闭主机上的所有虚拟机;
2.  在命令行下运行命令删除旧的虚拟网桥:
brctl delbr virbr0
3. 在命令行下执行命令删除旧的虚拟网桥配置文件:
rm –rf  /etc/sysconfig/network-scripts/ifcfg-virbr0
4. 在命令行下执行命令建立libvirt的虚拟网络:
cp /usr/share/libvirt/networks/default.xml /etc/libvirt/qemu/networks/default.xml
virsh net-define /etc/libvirt/qemu/networks/default.xml
virsh net-start default
virsh net-autostart default
5. 再启动虚拟机
1。创建快照
virsh snapshot-create-as --domain   主机名称 --name 2021-09-08 --description "Pure CNT7"
virsh snapshot-create-as --domain   主机名称 --name 2021-09-22 --description "nptd"

2。查看快照
virsh snapshot-list   主机名称

3。查看快照配置
virsh snapshot-current   主机名称

4。回复快照位置
virsh snapshot-revert   主机名称 2021-09-08

5。删除快照
virsh snapshot-delete   主机名称 2021-09-08

6。获取帮助
virsh help snapshot
上一篇下一篇

猜你喜欢

热点阅读