type
status
date
summary
slug
tags
category
password
icon
本教程讲述oVirt4.4本地存储架构的部署过程,其中Engine管理台采用HostedEngine方式部署(即Engine作为一个虚机),本教程编写时最新的版本为v4.4.10,同一个大版本下不同小版本之间部署可能略有差异,但基本过程是一致的。
一、准备硬件
1台X86服务器/主机:
- CPU>=4核;
- 内存>=8GiB;
- 硬盘1块:>=300GiB;
- 网卡:>=1GbE*1;
1台PC:
- Win或Linux均可,用于访问Node和Engine的WEB管理台,建议安装使用Chrome浏览器;
注意:
- 以上基本为最低配置要求,生产环境因根据业务负载要求选择合理的硬件资源配置;
- 在本次部署中,Engine以虚机的形式运行在Node主机上,所以只需一台机器即可,部署完成后也可再添加其它主机,由于Engine是部署在Node主机本地提供的NFS存储上,所以不支持高可用;
- 这台X86服务器在实验环境下可使用虚机进行部署测试,使用VMware虚机部署可能会遇到问题,请参考oVirt中文社区的其它文章寻找解决办法;
- 因为了截图和演示方便,本教程中使用已有oVirt环境中的1台虚机部署;
二、下载安装包
注意都要获取当前大版本对应的最新部署安装包,尤其是Node ISO要和Engine RPM对应起来,都用最新的就没问题,Virt-Viewer及Virtio-Win是辅助。
- 本文使用oVirt中文社区提供的离线版本,在安装包下载页面下载。
- oVirt中文社区离线版本下载地址:
- 链接:https://pan.baidu.com/s/1QBBemYRBLjfd2EWEHU_xFg 提取码:zlwf
- 注:cnovirt-node-ng-installer iso中已集成了engine appliance rpm包。
- Virt-Viewer 官方下载:
三、规划网络
根据你的网络实际情况为Node和Engin规划网络信息,如下:
Engine:
- 域名:engine240.com;
- IP:192.168.105.240;
- Netmask:255.255.255.0;
- Gateway:192.168.105.254
Node:
- 域名:node241.com;
- IP:192.168.105.241;
- Netmask:255.255.255.0;
- Gateway:192.168.105.254
注意:
- 应确保所规划的域名不能够在外网解析,即安装部署前域名不能ping通;
四、安装Node
分别使用Node ISO通过CD引导安装用于Node的主机;
- 这里推荐使用软碟通UltraISO制作镜像
- 由于实测需要写入RAW模式否则无法从boot正常安装
- 下载:提取码:52pj
- 安装过程是图形化界面,正常按步骤安装即可:
1、语言选择中文即可;
2、键盘选择“汉语”;
3、安装目的地选中本地磁盘,选中“自动”分区,注意如果磁盘上有其它数据的话要执行回收空间操作;
4、时间和日期选择“亚洲/上海”时区;
5、网络和主机名处要根据上面我们规划的网络信息配置,包括主机名(这个地方直接用域名做主机名了)和IP信息;
6、安装过程中配置root密码;
7、安装完成后重启主机;
(注意:如果采用oVirt中文社区的离线版本部署,则不需要执行下面针对软件源的操作。)
通过ssh登录到该主机上,将/etc/yum.repos.d/下的文件删除掉(可以备份到其它目录下),如下:
五、部署HostedEngine
添加域名解析
- 修改Node主机的/etc/hosts文件
- 增加Node主机和Engine的域名解析,如下:
安装Engine Appliance RPM包
- 将上面下载的Engine RPM包上传到Node主机上的任意目录,例如/root目录下,执行以下命令安装:
(注意:本文采用oVirt中文社区提供的离线版本部署,不需要执行安装engine rpm包这步。)
创建NFS存储
- 执行命令在/data/images下新建一个nfs目录,并将其权属修改为vdsm:kvm,如下:
- 编辑/etc/exports文件
- 增加如下内容:
- 重启nfs服务并设置为开机自启动
通过Cockpit执行部署过程
然后打开浏览器,输入上面Node主机的Cockpit Web管理台的地址(端口号是9090),如https://192.168.105.241:9090,使用root帐号登录,如下:
进入HostedEngine标签页,点击HostedEngine下方的“Start”按钮,如下:
根据我们上面的规划情况,填写Engine的相关配置信息,如下:
点击Next,在这一步中,配置Engine Web管理门户中admin帐号的密码,如下:
点击Next,这一步检查下信息是否正确,没问题就点击Prepare VM即可,如下:
等待Engine虚拟机准备完成即可,此步可能会有报错,解决方法见文章末尾处,如果正常没有报错,点Next下一步即可:
点击Next,配置用于存放Engine的存储,存储类型选“NFS”,存储链接填“192.168.105.241:/data/images/nfs”
点击Next后等待部署完成即可,弹出部署成功窗口后点Close,然后会询问是否退出向导,点Yes,注意然后会询问是否激活Engine清理工具,一定要点No,否则就要重新部署了,如下:
六、配置Engine管理台
1.访问Engine管理台
在你的PC的hosts文件里增加Engine的域名解析,Win10系统在C:\Windows\System32\drivers\etc路径下,
使用浏览器访问https://engine240.com(如果想通过ip访问,请参考下文相关问题)
使用admin帐号登录(密码是我们部署时设置的密码),如下:
2.修改存储类型为本地
进入Engine管理台的“计算->数据中心”页面,选中Default数据中心,点击编辑按钮,如下:
存储类型选择“本地”,如下:
3.新建本地数据存储域
进入Engine管理台“存储->域”页面,点击“新建域”,如下:
在弹出的新建域对话框中,填写名称(这里起名data,可以起其它名字),域功能选择“数据”,存储类型选择“主机本地”,路径填写“/data/images/rhev”(注意这个路径是默认存在的,如果使用其它路径,需要新创建并修改权限):
点确定后等待创建完成即可。
4.上传ISO镜像
早期oVirt版本(4.3之前)ISO镜像只能上传到ISO域中,现在的版本可以将ISO镜像直接上传到数据域中了,而且按照官方的说明,ISO域将被遗弃掉,但目前的版本仍可以创建ISO域(包括最新的V4.4的版本),个人仍觉得ISO域在某些场景下更为方便。
下面分别介绍下ISO镜像上传到数据域和ISO域的方法:
①直接上传到数据域
进入“存储”->“磁盘”页面,点击右上角的操作“上传”->“开始”;
弹出上传镜像对话框,点击“选择文件”选择要上传的iso镜像,下面选择要上传到的数据中心和存储域,其它的不用管;
点击确定后,在磁盘列表中能看到上传进度,等待上传成功即可;
②使用ISO域
首先要先创建一个ISO域,到“存储”->“域”页面,右上角“新建域”,打开新建域对话框;
可以创建本地的ISO域,需要提前在主机本地创建好目录,推荐/data/images/isos,并将改目录权限修改为vdsm:kvm;
创建完ISO域后,就可以上传ISO镜像了,可以使用SCP工具将ISO镜像上传到ISO域目录下,注意ISO域存放镜像的目录(如下图,就是这个1111111111111111111111111111111111…………….):
上传完成后可以在该域的镜像页面下查看到:
也可以创建NFS类型的ISO域,注意路径那里填写NFS的导出目录路径,上传ISO同样可以将ISO镜像文件拷贝到那个“11111111111111….”目录下。
七、相关问题
1.安装时无法下载仓库数据
在PrepareVM过程中,报错:
解决办法:
在PrepareVM过程中,到Get local VM IP这一步时,如下:
迅速在host1主机上执行(注意最后的ip地址换成你环境中hosts1的ip):
然后通过virt-viewer连接HostedEngine虚机,连接地址:vnc://192.168.105.241:5910,然后使用root帐号登录到系统中(密码为部署是所配置),将/etc/yum.repos.d/目录清空或者移动到其它目录下:
2.通过IP访问Engine管理台
ovirt-engine部署完成后,默认是需要通过域名访问的,我们可以通过配置来通过ip访问,方法如下:
ssh到ovirt-engine这台虚机中,
在/etc/ovirt-engine/engine.conf.d这个目录下,新建“99-custom-sso-setup.conf”这个文件
文件内容为(此处的ip地址根据你的实际环境填写):
然后重启engine服务,
然后可以在浏览器里通过ip访问了:
3.Cockpit无法登录(此浏览器过旧)
对于在RHEL / CentOS / Rocky Linux上遇到问题,ssh到ovirt-engine这台虚机中,使用以下命令进行修复。
4.ovirt-guest-agent安装
在虚拟机管理页面,可以看到虚拟机无法显示其IP,这时候需要在虚拟机内安装guest服务
前面的黄色叹号就是警告这个
- CentOS 7 / RHEL 7:要安装的软件包称为ovirt-guest-agent
- CentOS 8/RHEL 8:已更改,软件包称为qemu-guest-agent
CentOS 7
- 安装
- 设置自启动(不加--now的话,重启后也能显示虚机IP)
- 查看运行状态
Ubuntu 16后的版本
- 安装
- 设置自启动(不加--now的话,重启后也能显示虚机IP)
- 查看运行状态
5.解决oVirt证书过期问题
该解决方案适用于数据中心中多于一台主机的情况。
① 查看当前证书有效时间
- 查看管理台(Engine)证书的有效时间范围
- 查看主机(node)证书的有效时间范围
② 修改时间(选做)
如果已经过期,需要将主机(node)和管理台(Engine)的系统时间到当前证书有效时间范围内,让状态恢复正常。
③ 重新生成证书
Ⅰ 修改证书的有效时间
- 管理台(Engine)终端
vi /usr/share/ovirt-engine/bin/pki-enroll-request.sh
Ⅱ 重新生成根证书
注:默认根证书的有效期为10年,可以不执行该操作
- 管理台(Engine)终端
- 生成根证书
- 备份旧证书,新证书替换旧证书,最后查看情况
Ⅲ 设置HA的维护模式为global模式
- 主机(node)终端
Ⅳ 执行脚本生成证书
- 管理台(Engine)终端
- 重启相关服务(Engine)
- 执行完上面的脚本会重新更新以下证书
Ⅴ 关闭HA的全局维护模式
- 主机(node)终端
Ⅵ 修改 engine 数据库信息
- 管理台(Engine)终端
- 重启管理台服务
④ 所有主机执行“注册证书”操作
操作步骤:
- 首先迁移主机上的虚拟机到其它主机上(关闭也可以)
- 然后主机执行“维护”操作。
- 然后点击“注册证书”按钮。
- 注册证书操作完成后,主机会变为维护状态,点击“激活”按钮将主机激活。
- 在主机终端中执行以下命令:
⑤ 再次修改时间(选做)
- 将主机和管理台的系统时间调整到当前时间
PS:转载来源:oVirt中文社区(www.cnovirt.com)
- 作者:PH3C
- 链接:https://notion.966699.xyz//article/oVirt-HostedEngine
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。