11
2024
07
17:11:46

oVirt

1. 超融合基础架构

1.1 什么是超融合基础架构

以往数据中心的计算、存储以及网络都是各自独立的,而超融合打破了这一局面。

超融合基础架构是指在同一套单元设备中具备计算、网络、存储和服务器虚拟化等资源和技术,而且还包括缓存加速、重复数据删除、在线数据压缩、备份软件、快照技术等元素,而多节点可以通过网络聚合起来,实现模块化的无缝横向扩展,形成统一的资源池。

1.2 超融合基础架构的核心

在超融合中,计算与存储二者合一,再通过软件定义的形式将它们结合在一起。
软件定义分布式存储是超融合的核心。

分布式存储解决了集中式共享存储应用在虚拟化场景里的问题:

  • 异构硬件,成本高,升级困难;

  • 集中式存储架构,存在单点故障风险;

  • 存储控制器数量有限,无法扩展;

  • 无法充分发挥SSD性能,I/O容易形成瓶颈;

  • 运维管理复杂;

1.3 超融合基础架构的特征

  • 基于x86通用硬件平台,成本可控

  • 软件定义,灵活升级

  • 以软件为核心,软件定义存储数据中心

  • 智能HDD/SDD混合存储,极致I/O性能

  • 在通用的x86架构下,借助SSD、10GbE网络等高速硬件,通过软件的方式实现存储池化、快照、克隆、分层、精简配置等企业级的数据功能。

  • 按需水平扩展

  • Share-nothing的架构设计,通过增加节点的方式弹性水平扩展,整个集群无扩展瓶颈。

  • 统一的管理平台,简化运维

  • 虚拟化计算和存储在同一个平台进行管理,管理员在同一套平台下进行性能、容量的监控,问题排查等运维工作。

  • 高度自动化,部署、维护简便

  • 通常软硬一体机能做到“插电即用”,软件交付方式也能在较短时间内完成集群安装和部署。

2. oVirt Node

grep -E 'svm|vmx' /proc/cpuinfo | grep nx

oVirt Node 或 RedHat + oVirt组件

2.1 安装oVirt Engine

Red Hat 7的Minimal Install已经安装完成

DNS中添加ks1dovirt.ivo.com.cn(10.20.2.149)的正反向解析

Installing the oVirt Engine Packages

hostnamectl set-hostname ks1dovirt.ivo.com.cn

vi /etc/sysconfig/network-scripts/ifcfg-eth0

oVirt支持两种类型的主机:oVirt Node和Enterprise Linux主机。

oVirt Node ISO是基于Enterprise Linux的最小操作系统。它作为ISO文件分发,仅包含机器充当主机所需的软件包。而对于一台Linux主机则需要手动安装oVirt项目。

oVirt Node 下载地址https://resources.ovirt.org/pub/ovirt-4.3/iso/ovirt-node-ng-installer/
官方文件系统要求:
(如果oVirt Node选择自动分区则不需要关注)

  • /(root) - 10 GB

  • /home - 1 GB

  • /tmp - 10 GB

  • /boot - 1 GB

  • /var - 20 GB

  • /var/crash - 10GB

  • /var/log - 10 GB

  • /var/log/audit - 5 GB

  • swap - 16 GB

Anaconda保留卷组中20%的精简池大小,以便将来进行元数据扩展。这是为了防止在正常使用条件下耗尽空间。不支持在安装期间过度配置精简池。/usr必须处于rootlv中,不可以单独建立lv,/usr需要和/在一起,版本升级的时候需要。
最低总数 - 45 GB
如果您还要安装oVirt节点设备以进行自托管引擎安装,则/var/tmp必须至少为5 GB。

2.2 oVirt Guest Agent

el6

yum install centos-release-ovirt36dyum install ovirt-guest-agent -yservice ovirt-guest-agent startchkconfig ovirt-guest-agent on

el7

yum install centos-release-ovirt36yum install ovirt-guest-agent -ysystemctl enable ovirt-guest-agentsystemctl start ovirt-guest-agent

debian

apt-get updateapt-get install ovirt-guest-agent

安装完成后:

nodectl check检查有无异常,正常后,开通外网权限,检查下repo网络源是否启用,建议删除CentOS Base官方源,更换为tuna、163或aliyun。

node相关安装包

[root@ks1dkvm01 ~]# yum update -x ovirt-node*[root@ks1dkvm01 ~]# yum install -y ovirt-host  libvirt-daemon  libvirt-daemon-driver-storage-gluster  libvirt-lock-sanlock  libvirt-daemon-driver-storage-iscsi  libvirt-daemon-driver-storage-disk  vdsm-hook-ethtool-options  vdsm-yajsonrpc  libvirt-daemon-driver-network  libvirt  libvirt-daemon-driver-storage  libvirt-libs  vdsm-python  vdsm-gluster  libvirt-daemon-config-nwfilter  qemu-img-ev  vdsm-jsonrpc  libvirt-bash-completion  vdsm-hook-fcoe  libvirt-daemon-driver-storage-logical  vdsm-api  libvirt-daemon-driver-nwfilter  vdsm  vdsm-http  libcgroup-tools  libvirt-daemon-driver-storage-scsi  libvirt-daemon-config-network  libvirt-daemon-driver-lxc  libvirt-daemon-kvm  libvirt-daemon-driver-secret  kernel  vdsm-hook-vmfex-dev  libvirt-daemon-driver-nodedev  libvirt-daemon-driver-storage-core  vdsm-network  libvirt-client  ovirt-host-dependencies  libvirt-daemon-driver-interface  tuned  libvirt-daemon-driver-storage-rbd  libvirt-daemon-driver-storage-mpath  vdsm-common  qemu-kvm-common-ev  vdsm-client  qemu-kvm-ev  libvirt-daemon-driver-qemu

在oVirt Engine添加主机(Node如果无法访问网络资源会失败,会更新存储模块等)

2.3 配置NFS服务(用于共享存储域)

[root@ks1dkvm01 ~]# mkdir /export/data
[root@ks1dkvm01 ~]# chown -R 36:36 /export
[root@ks1dkvm01 ~]# chmod -R 775 /export
[root@ks1dkvm01 ~]# vi /etc/exports
/export/data *(rw,sync,no_subtree_check,all_squash,anonuid=36,anongid=36)

[root@ks1dkvm01 ~]# systemctl restart nfs
[root@ks1dkvm01 ~]# systemctl enable nfs
[root@ks1dkvm01 ~]# systemctl restart rpcbind

防火墙一定要启用,否则无法正常启动虚拟机。若是统一数据中心内有多台主机,那么需要在firewalld里面添加nfs服务以及相应端口

添加 node 到此结束

3. Management

以下为 kvm 虚拟机自身管理命令

如果需要通过 virsh 查看虚拟机或者管理虚拟机,需要验证,默认用户为vdsm@ovirt,密码为shibboleth

[root@ks1dkvm04 ~]# virsh list --all
Please enter your authentication name:
Please enter your password:

[root@ks1dkvm04 ~]# cat /etc/pki/vdsm/keys/libvirt_password
shibboleth

关闭虚拟机

4. oVirt Engine

4.1 配置主机名及网络

[root@localhost ~]# hostnamectl set-hostname ks1dovirt
[root@ks1dovirt ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=eth0UUID=782cfa92-a239-4f3b-8fd3-21b36d7133e4DEVICE=eth0ONBOOT=yesIPADDR=10.20.2.149NETMASK=255.255.255.0GATEWAY=10.20.2.254

[root@ks1dovirt ~]# vi /etc/resolv.conf

Generated by NetworkManager

nameserver 10.20.2.6

4.2 安装oVirt Engine

CentOS自带repo,配置完代理后,直接yum即可。

[root@ks1dovirt ~]# vi squid.sh
export http_proxy=http://10.20.46.120:8080
export https_proxy=http://10.20.46.120:8080
export ftp_proxy=http://10.20.46.120:8080

[root@ks1dovirt ~]# chmod a+x squid.sh
[root@ks1dovirt ~]# . squid.sh
[root@ks1dovirt ~]# yum -y install http://resources.ovirt.org/pub/yum-repo/ovirt-release43.rpm

跳过内核更新

[root@ks1dovirt ~]# yum -y -x kernel* update
[root@ks1dovirt ~]# reboot
[root@ks1dovirt ~]# yum -y install ovirt-engine

一回车默认,设定admin密码的时候自行设定。

[root@ks1dovirt ~]# engine-setup

添加域名

[root@ks1dovirt ~]# cd /etc/ovirt-engine/engine.conf.d
[root@ks1dovirt engine.conf.d]# vi 10-setup-protocols.conf

ENGINE_FQDN=ks1dovirtENGINE_PROXY_ENABLED=trueENGINE_PROXY_HTTP_PORT=80ENGINE_PROXY_HTTPS_PORT=443ENGINE_AJP_ENABLED=trueENGINE_AJP_PORT=8702ENGINE_HTTP_ENABLED=falseENGINE_HTTPS_ENABLED=falseENGINE_HTTP_PORT=NoneENGINE_HTTPS_PORT=None

[root@ks1dovirt engine.conf.d]# vi 99-custom-sso-setup.conf
SSO_ALTERNATE_ENGINE_FQDNS="ks1dovirt.ivo.com.cn ks1dovirt 10.20.2.149"

windowssystem32driversetchosts先修改该文件权限默认权限无法写入中添加-10202149-ks1dovirt" style="margin: 10px 0px; padding: 0px; font-size: 28px; line-height: 1.5; font-family: Verdana, Arial, Helvetica, sans-serif; text-wrap: wrap; background-color: rgb(255, 255, 255);">在AD的dns中添加正反向解析,ks1dovirt 10.20.2.149;或者在需要访问管理的主机,/windows/system32/drivers/etc/hosts(先修改该文件权限,默认权限无法写入)中添加 10.20.2.149 ks1dovirt

ovirt的PostgreSQL数据库

可以使用Navicat Premium连接,用户密码查看如下:
[root@ks1dovirt ~]# cat /etc/ovirt-engine/engine.conf.d/10-setup-database.conf

ENGINE_DB_HOST="localhost"ENGINE_DB_PORT="5432"ENGINE_DB_USER="engine"ENGINE_DB_PASSWORD="**********************"ENGINE_DB_DATABASE="engine"ENGINE_DB_SECURED="False"ENGINE_DB_SECURED_VALIDATION="False"ENGINE_DB_DRIVER="org.postgresql.Driver"ENGINE_DB_URL="jdbc:postgresql://localhost:5432/engine?sslfactory=org.postgresql.ssl.NonValidatingFactory"

images表为磁盘信息,image_group_id对应存储磁盘id;

vm_static表为虚拟机信息,vm_name对应虚拟机名称;与snapshots表关联;

用户解锁

[root@ks1dovirt ~]# ovirt-aaa-jdbc-tool user unlock admin
updating user admin...
user updated successfully

添加新用户并设置到期时间

[root@ks1dovirt ~]# ovirt-aaa-jdbc-tool user add C1707943
[root@ks1dovirt ~]# ovirt-aaa-jdbc-tool user password-reset C1707943 --password-valid-to="2025-08-01 12:00:00-0800"
password:
Reenter password:

修改与engine相关的参数

[root@ks1dovirt ~]# ovirt-aaa-jdbc-tool settings show
[root@ks1dovirt ~]# ovirt-aaa-jdbc-tool settings set --name=参数名 --value=参数值

5. 常见问题

5.1 oVirt中,Linux虚拟机时间正常,Windows虚拟机时间差8小时。

原因:
Linux操作系统是以主机板CMOS时间做为格林威治标准时间,再根据系统设置的时区来确定目前系统时间。但是一般Windows把系统硬件时间当作本地时间(local time),即操作系统中显示的时间跟BIOS中显示的时间是一样的。所以,Windows VM与宿主系统时间会相差8小时。

解决方法:
①针对Windows虚拟机,在创建虚拟机的时候将硬件时间设置为GMT+8。
②在regedit中的"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation"下面添加RealTimeIsUniversal,类型为REG_DWORD,值为1,重启解决。

5.2 oVirt备份还原

备份:
engine-backup --scope=all --mode=backup --log=backup_20190411.log --file=20190411.bak

还原:

engine-setup(重装还原多一步)

engine-cleanup
grep ENGINE_DB_PASSWORD /etc/ovirt-engine/engine.conf.d/10-setup-database.conf
engine-backup --mode=restore --file=20190411.bak --log=restore_20190411.log --change-db-credentials --db-host=localhost --db-user=engine --db-name=engine --db-password=P5Zzva2iPgSDOvuPPCpaqJ

5.3 用户密码过期以及用户解锁

用户解锁

[root@ks1dovirt ~]# ovirt-aaa-jdbc-tool user unlock admin
updating user admin...
user updated successfully

添加新用户并设置到期时间

[root@ks1dovirt ~]# ovirt-aaa-jdbc-tool user add C1707943
[root@ks1dovirt ~]# ovirt-aaa-jdbc-tool user password-reset C1707943 --password-valid-to="2025-08-01 12:00:00-0800"
password:
Reenter password:

5.4 可修改的参数

[root@ks1dovirt ~]# ovirt-aaa-jdbc-tool settings show

限制一次历史密码重复使用

[root@ks1dovirt ~]# ovirt-aaa-jdbc-tool settings set --name=PASSWORD_HISTORY_LIMIT --value=1

Reference:
1.1 http://www.cnovirt.com/
1.2 http://mirror.isoc.org.il/pub/ovirt
1.3 https://www.cnovirt.com/archives/21
1.4 https://zhuanlan.zhihu.com/p/26700892
1.5 https://www.cnblogs.com/hukey/p/11338270.html
1.6 https://users.ovirt.narkive.com/pGP29NWa/how-to-handle-no-package-ovirt-engine-available
1.7 http://simiam.com/2018/07/11/oVirt虚拟化关键概念、组件与技术原理/
1.8 https://www.bookstack.cn/read/oVirt/用户和角色-OVIRT 中对目录服务的支持情况.md




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/7059.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: