Centos7安装KVM并轻松使用Cockpitweb图形管理工
2021-09-02 本文已影响0人
liurongming
安装Cockpit [集成docker && k8s 管理]web图形管理工具
- 最小化安装操作:CentOS-7-x86_64-Minimal-2009.iso
- 简化安装步骤:安装web图形管理工具cockpit
- yum 安装
yum install cockpit - 允许启动
systemctl enable --now cockpit.socket - 可选的插件
cockpit-docker cockpit-storaged cockpit-kubernetes cockpit-ws - 特殊防火墙处理
firewall-cmd --permanent --zone=public --add-service=cockpit
或者打开端口:9090
firewall-cmd --zone=public --add-port=9090/tcp --permanent
firewall-cmd --reload - 访问端口
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