栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

RHEL8通过Cockpit管理KVM虚拟机

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

RHEL8通过Cockpit管理KVM虚拟机

RHEL8通过Cockpit管理KVM虚拟机
    • 什么是kvm
    • 0安装控制面板
    • 1虚拟化环境配置
      • 1.0验证CPU是否支持KVM
      • 1.1安装kvm虚拟化套件
        • 1.1.1安装virt套件
        • 1.1.2配置tuned调优方案为virtual-host
        • 1.1.3启动libvirtd服务和虚拟机acpid电源服务
        • 使用virt-manager打开gui管理界面(非必须)
    • 2验证安装结果
      • 2.1查看虚拟机环境
      • 2.2查看kvm模块支持
      • 2.3查看虚拟工具版本
    • 使用virt-install创建虚拟机
      • 查看虚拟机的虚拟网卡
        • 查看虚拟机列表和虚拟机状态
        • 手动启动虚拟机
        • 关闭虚拟机
        • 连接到虚拟机控制台
        • 配置虚拟机开机自启
        • 克隆虚拟机
        • 创建快照
        • 查看当前虚拟机快照版本信息
        • 查看虚拟机镜像快照信息
        • 恢复虚拟机状态至某个版本
        • 删除快照
      • virsh常用命令篇
      • 删除虚拟机文件
      • kvm虚拟机vnc配置
      • kvm虚拟机时间配置

什么是kvm

kvm是kernel based virtual machine
意思是基于内核的虚拟机

0安装控制面板

如果未安装cockpit,则可以使用以下命令进行安装:

#安装Cockpit和cockpit-machines
## cockpit-machines是管理虚拟机的模块
#
yum install -y cockpit cockpit-machines

#设置开机自启服务并现在启动
systemctl enable --now cockpit.socket

#查看端口是否启动
ss -nltp | grep 9090

#防火墙放行9000端口
## 临时放行9000/tcp
firewall-cmd --add-port=9000/tcp

## 永久放行9000/tcp
firewall-cmd --add-port=9000/tcp --per

下一步是在管理机上打开Web浏览器, cockpit使用9090端口,例如:

https://host-ip:9090

然后试用root账号登录


1虚拟化环境配置
1.0验证CPU是否支持KVM

半虚拟化是不能运行与安装KCM虚拟机的

egrep 'vmx|svm' /proc/cpuinfo

如果结果中有vmx(Intel)或svm(AMD)字样,说明CPU支持


1.1安装kvm虚拟化套件 1.1.1安装virt套件
# 安装epel源
yum -y intall epel-release

# 安装依赖包
yum –y install net-tools vim unzip zip wget

# 安装kvm虚拟化套件(32个包)
yum install virt* -y
# 或
yum –y install qemu-kvm libvirt virt-install bridge-util virt-viewer acpid kvm python-virtinst tunctl virt-manager qemu-kvm-tools virt-v2v libguestfs-tools

1.1.2配置tuned调优方案为virtual-host
# 设置调优方案
tuned-adm profile virtual-host
1.1.3启动libvirtd服务和虚拟机acpid电源服务
# 开机自启libvirtd服务并现在启动
systemctl enable --now libvirtd

# 为虚拟机提供关闭电源服务
systemctl enable --now acpid.service
使用virt-manager打开gui管理界面(非必须)
# 打开虚拟机gui管理界面
virt-manager

2验证安装结果
2.1查看虚拟机环境
# 查看libvirtd服务是否正常运行
systemctl status libvirtd

# 查看qemu系统列表
virsh –c qemu:///system list

2.2查看kvm模块支持
# 查看kvm模块支持
lsmod | grep kvm
## 有下列内容就说明模块正常
kvm_intel       170086 0
kvm          566340 1 kvm_intel
irqbypass       13503 1 kvm
2.3查看虚拟工具版本
# 查看virsh版本
virsh –version

# 创建qemu-kvm的软链接,让用户可以直接通过命令行使用
ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm

# 查看qemu-kvm的版本
qemu-kvm -version

使用virt-install创建虚拟机
virt-install -n vm01 -r 2048 --disk /home/kvm-bak/vm01.img,format=qcow2,size=40 --network bridge=br0 --os-type=linux --os-variant=rhel7.4 --cdrom /home/iso/CentOS-7-x86_64-Minimal-1708.iso --vnc --vncport=5910 --vnclisten=0.0.0.0
查看虚拟机的虚拟网卡
# 查看虚拟机的虚拟网卡
bridge link

说明:在linux系统安装开始就要注意添加提高性能的一些参数,后面就不需要做一些调整了。

参数说明:

--name:指定虚拟机名称

--ram:分配内存大小。

--vcpus:分配CPU核心数,最大与实体机CPU核心数相同

--disk:指定虚拟机镜像,size指定分配大小单位为G。

--network:网络类型,此处用的是默认,一般用的应该是bridge桥接。

--accelerate:加速

--cdrom:指定安装镜像iso

--vnc:启用VNC远程管理,一般安装系统都要启用。

--vncport:指定VNC监控端口,默认端口为5900,端口不能重复。

--vnclisten:指定VNC绑定IP,默认绑定127.0.0.1,这里改为0.0.0.0。

--os-type=linux,windows

--os-variant=

win7:MicrosoftWindows7

winxp:MicrosoftWindowsXP

win2k8:MicrosoftWindowsServer2008

rhel7:RedHatEnterpriseLinux7

不用理会提示里面的错误,接着往下走

打开防火墙的5910端口

# 防火墙放行5910端口
firewall-cmd --add-port=5910/tcp
firewall-cmd --add-port=5910/tcp --per
查看虚拟机列表和虚拟机状态
[root@localhost home]# virsh list --all
手动启动虚拟机
# 启动vm01虚拟机
[root@localhost home]# virsh start vm01

# 查看虚拟机状态
[root@localhost home]# virsh list --all
关闭虚拟机
virsh shutdown vm1
连接到虚拟机控制台
virsh console vm2
配置虚拟机开机自启

/etc/libvirt/qemu,autostart目录是配置kvm虚拟机开机自启动的目录

克隆虚拟机
# 使用virt-clone克隆vm2为新的虚拟机
virt-clone -o vm1 -n vm2 -f /home/kvm-img/vm2.img
创建快照
[root@localhost ~]# virsh snapshot-create vm2

已生成域快照 1508564438
# 快照配置文件在/var/lib/libvirt/qemu/snapshot/虚拟机名称/下
查看当前虚拟机快照版本信息
[root@localhost ~]# virsh snapshot-current vm2
查看虚拟机镜像快照信息
[root@localhost ~]# virsh snapshot-list vm2

 名称        生成时间       状态
------------------------------------------------------------
 1508564438      2017-10-21 13:40:38 +0800 shutoff
恢复虚拟机状态至某个版本
# 先关闭虚拟机
virsh shutdown vm2

# 确认恢复的快照时间进行版本恢复
virsh snapshot-revert vm2 1508564438
删除快照
# 查看虚拟机快照
qemu-img info vm2.qcow2

# 删除快照
virsh snapshot-delete vm2 1508564761

已删除域快照 1508564761
virsh常用命令篇
# 查看运行的虚拟机
virsh list

# 查看所有的虚拟机
virsh list –all

# 开启虚拟机
virsh start vm01 
#或
virsh create /etc/libvert/qemu/vm01.xml(通过配置文件的方式)

# 连接虚拟机
virsh console 虚拟机名称

# 退出虚拟机
ctrl+]

# 关闭虚拟机
virsh shutdown 虚拟机名

# 关闭虚拟机电源
virsh destroy 虚拟机名

# 挂起虚拟机
virsh suspend 虚拟机名

# 恢复被挂起的虚拟机
virsh resume 虚拟机名

# 配置开机自启动虚拟机
virsh autostart 虚拟机名
# autostart目录是kvm虚拟机开机自启动目录,可以看到该目录中有KVM配置文件链接

# 取消自动启动
virsh auotstart --disable 虚拟机名

# 彻底删除虚拟机
#删除虚拟机 
virsh destroy 虚拟机名

#解除标记
virsh undefine 虚拟机名
# 说明:该命令只是删除vm01的配置文件,并不删除虚拟磁盘文件
# 附:重新定义虚拟机配置文件
mv /root/vm01.xml /etc/libvirt/qemu/vm01.xml (备份的虚拟机文件放到虚拟机配置文件存放路径)
virsh define /etc/libvirt/qemu/vm01.xml
删除虚拟机文件
# 启动虚拟机并进入该虚拟机
virsh start 虚拟机名 --console

# 导出kvm虚拟机配置文件
virsh dumpxml vm01 > /root/vm01.xml
# kvm虚拟机配置文件可以通过这种方式进行备份

# 编辑kvm虚拟机配置文件
virsh edit vm01
## virsh edit将调用vi命令编辑/etc/libvirt/qemu/vm01.xml配置文件。也可以直接通过vi命令进行编辑,修改,保存。可以但不建议直接通过vi编辑。
kvm虚拟机vnc配置
# 1、修改qemu.conf
vi /etc/libvirt/qemu.conf
vnc_listen = "0.0.0.0"
## 说明1:vnclisten 默认绑定127.0.0.1 在配置文件里指定VNC 绑定0.0.0.0IP,就不用在安装kvm虚拟机时指定vnclisten参数了。
## 说明2:在虚拟主机上有很多个虚拟机的时候,需要指定每个虚拟机的端口,否则将会很乱。

# 2、修改虚拟机配置文件
virsh edit oeltest01


    

配置VNC的配置文件,port是指定端口号,autoport是自己分配端口号

# 3、查看vnc
netstat –tulnp
kvm虚拟机时间配置

在虚拟化环境中,虚拟机在长时间运行过程中,时间会变慢,通常的作法是配置ntpdate定时与时间服务器进行时间同步的计划任务。KVM虚拟机默认采用utc时间,需要专门修改,以及考虑kvm时间同步问题。

1、kvm虚拟机修改时间配置文件

kvm虚拟机采用utc时间,需要先修改配置文件使用KVM虚拟机的时间与虚拟主机同步。

修改utc为localtime,保存退出,重启虚拟机。

2、关于kvm虚拟机时间问题解决思路

(1) 虚拟机时间慢是所有虚拟化平台的一共性问题。

(2) 解决时间的最终解决方法就是在生产环境中配置时间服务器,kvm虚拟化服务器与kvm机均都要配置时间同步的计划任务,这才是解决这一个问题最终解决方案。

示例:如果能访问互联网,最简单了,需要kvm虚拟机与主机时间同步,但是运行一段时间会慢,一定要做时间同步,特别是对时间敏感的环境。

# crontab -e

01 */3 * * * /usr/sbin/ntpdate ntp.fudan.edu.cn >> /dev/null 2>&1

十一、KVM的Windows server 虚拟机使用virtio驱动

KVM安装Windows默认使用的是qemu虚拟化IDE硬盘模式,在这种情况下,IO性能比较低,如果使用virtio的方式可以提高虚拟机IO性能。而virtio所驱动的网卡,也将原来的百兆扩展到千兆。

这里就简单介绍下如何使用virtio驱动安装window server 2008. 其它windows版本操作相同,只需选择对应的驱动即可。

KVM安装Windows需要使用virtio的驱动:

https://fedoraproject.org/wiki/Windows_Virtio_Drivers#Direct_download

1、下载virtio驱动yum文件并安装

wget https://fedorapeople.org/groups/virt/virtio-win/virtio-win.repo -O /etc/yum.repos.d/virtio-win.repo

yum install virtio-win -y

2、查看virtio-win提供的驱动

[root@localhost ~]# rpm -ql virtio-win | grep iso

/usr/share/virtio-win/virtio-win-0.1.141.iso =>virtio-win- latest

/usr/share/virtio-win/virtio-win.iso =>virtio-win- stable

3、wget方式下载

Stable virtio-win iso: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso

Stable virtio-win x86 floppy: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win_x86.vfd

Stable virtio-win amd64 floppy: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win_amd64.vfd

Latest virtio-win iso: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso

Latest virtio-win x86 floppy: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win_x86.vfd

Latest virtio-win amd64 floppy: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win_amd64.vfd

Latest qemu-ga files: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-qemu-ga/

4、安装window虚拟机时附带virtio驱动

(1)、安装windows

使用virtio驱动安装虚拟机:

virt-install -n ws2 -r 4096 --vcpus=4 --disk /home/kvm-bak/ws2.img,format=qcow2,size=40,bus=virtio --disk path=/usr/share/virtio-win/virtio-win_x86.vfd,device=floppy --network bridge=br0 --accelerate --os-type=windows --os-variant=win2k8 --cdrom /home/iso/cn_windows_server_2012_r2_vl_with_update_x64_dvd_6052729.iso --vnc --vncport=5912 --vnclisten=0.0.0.0

提示: 这里是使用的是软盘方式加载,如果镜像和驱动都使用cdrom的方式加载,在有些情况系统会找不到启动镜像,导致无法启动. 加载的驱动有x86和amd64两种类型,64位系统选择amd64. 32为系统选择x86.

(2)、 安装过程中,在选择磁盘界面会找不到磁盘,选择“加载驱动”,“浏览”,找到“软盘驱动器”,点开后选择 “server 2008”确定,驱动加载完成后,磁盘就出现了,继续安装即可。

(3)、安装完成后,在设备管理器中可以看到使用的是virtio:

5、在已安装的kvm虚拟机上添加virtio驱动

(1)、以传统的IDE硬盘模式安装

virt-install -n ws2 -r 4096 --vcpus=4 --disk /home/kvm-bak/ws2.img,format=qcow2,size=40 --network bridge=br0,model=virtio --accelerate --os-type=windows --os-variant=win2k8 --cdrom /home/iso/cn_windows_server_2012_r2_vl_with_update_x64_dvd_6052729.iso --vnc --vncport=5912 --vnclisten=0.0.0.0

(2)、加载virtio驱动的iso文件到虚拟机光驱

virsh attach-disk ws2 /usr/share/virtio-win/virtio-win.iso hdb --type cdrom

或者使用如下命令:

virsh change-media ws2g hdb /usr/share/virtio-win/virtio-win.iso

举例:

[root@localhost ~]# virsh attach-disk ws2 /usr/share/virtio-win/virtio-win.iso hdb --type cdrom

成功附加磁盘

(3)、修改虚拟机的xml文件

使其能发现virtio类型的设备,否则驱动无法安装

增加一块virtio驱动的硬盘:

cd /home/kvm-img

qemu-img create -f qcow2 test.img 1G

注意test.img的权限问题,否则开启ws2时会提示test.img文件权限不够(chmod 777 test.img)

修改虚拟机的xml文件,在原有的"disk type"区域增加一个test磁盘的配置:

#注意磁盘,系统盘had,光驱hdb,这个应为hdc

修改网卡类型为 virtio, 在 interface type 区域,修改model type=‘virtio‘ :

提示:如果不是使用vnc远程连接,需要新增一个网卡配置,在没有安装驱动前,使用上面的配置,虚拟机是断网状态。

修改完成之后,开启虚拟机:virsh start ws2

(4)、手动更新驱动

可以事先把光驱中的驱动文件复制一份到磁盘中,开机后会发现没有网络适配器。在计算机设备管理器中找到网络适配器,然后手动更新,选择驱动文件所在目录

更新后的结果显示:

磁盘控制区:QEMU HARDDISK ATA Device(原有的)和Red Hat VirtIO SCSI controller(新增的)

存储控制器:Microsoft存储空间控制器(原有的)和Red Hat VirtIO SCSI controller(新增的)

网络适配器:Red Hat VirtIO Ethernet Adapter(速度是10.0Gbps)

(5)、再次修改xml文件

virsh edit ws2

原有磁盘信息:

新增的磁盘信息:

两者更改后的信息显示:

操作说明:把原有磁盘信息中的address这一行替换为新增磁盘的address这一行,然后把dev=‘vda’ bus=‘virtio’。

十二、调整虚拟机cpu和内存

1、查看虚拟机配置信息

virsh dumpxml ws2 | head –n 10

ws2

cc86e316-cb50-4983-8eba-c714f3b447f7

8388608 #当前内存大小

8388608 #最大内存大小

6 #最大cpu数

hvm

或者:virsh dominfo ws2

2、调整cpu

2.1修改配置文件

6的值(需关机)

2.2在线调整虚拟机CPU

# virsh setvcpus ws2 4 (只能增大,不能减小)

同样,能够动态调整的最大VCPU个数也不能超过为虚拟机设置的最大VCPU数量

设置VM使用的最大内存或最大CPU可以使用 # virsh edit vm1命令

3、调整内存

3.1修改配置文件

virsh edit ws2

8388608 #当前内存大小 8388608/1024/1024=8G

8388608 #最大内存大小

3.2在线调整虚拟机内存

virsh setmem ws2 4G (增大或减小)

能够在线调整的最大内存不能超过为虚拟机分配的最大内存,否则需要关闭虚拟机上调最大内存

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/360809.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号