oVirt4.4超融合架构部署教程(v4.4.3)

本教程讲述oVirt4.4超融合架构的部署过程,本教程编写时最新的版本为v4.4.3,同一个大版本下不同小版本之间部署可能略有差异,但基本过程是一致的。

准备硬件

3台X86服务器/主机:

  • CPU>=4核;
  • 内存>=8GiB;
  • 硬盘至少两块:>=100GiB*1(做超融合系统盘),>=200GiB*1(做虚机镜像存储);
  • 网卡:>=1GbE*1;(4.4支持部署时存储网分离,生产环境建议至少2个以上,且10GbE以上)

1台PC:

  • Win或Linux均可,用于访问超融合部署以及管理的WEB执行操作,建议安装使用chrome浏览器;

网络:

  • 以上设备应位于同一个网络环境下互连互通;

注意:

  • 以上基本为最低配置要求,生产环境因根据业务负载要求选择合理的硬件资源配置;
  • 因为超融合部署架构下管理机(Engine)以虚机的形式部署,所以不需要额外的物理管理机;
  • 3台X86服务器不建议使用VMware环境中的虚机代替,因为可能部署时会遇到兼容性问题,实验环境下可使用一台主机开启3台KVM虚机进行部署测试;
  • 因为了截图和演示方便,本教程中使用已有oVirt环境中的3台虚机作为主机;

下载安装包

注意都要获取当前大版本对应的最新部署安装包,尤其是Node ISO要和Engine RPM对应起来,都用最新的就没问题。

oVirt Node ISO:

https://resources.ovirt.org/pub/ovirt-4.4/iso/ovirt-node-ng-installer/4.4.3-2020111016/el8/ovirt-node-ng-installer-4.4.3-2020111016.el8.iso

oVirt Engine Appliance RPM:

https://resources.ovirt.org/pub/ovirt-4.4/rpm/el8/x86_64/ovirt-engine-appliance-4.4-20201110154142.1.el8.x86_64.rpm

Virt-Viewer:

https://virt-manager.org/download/sources/virt-viewer/virt-viewer-x64-9.0.msi

Virtio-Win ISO:

https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.189-1/virtio-win-0.1.189.iso

备用下载地址:

http://mirror.isoc.org.il/pub/ovirt/ovirt-4.4

http://mirror.massclouds.com/ovirt/ovirt-4.4

https://mirrors.bfsu.edu.cn/ovirt/ovirt-4.4/

规划网络

根据你的网络实际情况为3台主机规划网络信息,如下:

主机1(host1)

  • 域名:node241.com;
  • IP:192.168.105.241;
  • Netmask:255.255.255.0;
  • Gateway:192.168.105.254

主机2(host2)

  • 域名:node242.com;
  • IP:192.168.105.242;
  • Netmask:255.255.255.0;
  • Gateway:192.168.105.254

主机3(host3)

  • 域名:node243.com;
  • IP:192.168.105.243;
  • Netmask:255.255.255.0;
  • Gateway:192.168.105.254

管理机Engine

  • 域名:engine240.com;
  • IP:192.168.105.240;
  • Netmask:255.255.255.0;
  • Gateway:192.168.105.254

注意:

  • 应确保所规划的域名不能够在外网解析,即安装部署前域名不能ping通;
  • 如果选择存储网与管理网分离部署的方式,每台主机应规划两个IP和单独的域名,且使用不同的网段;

安装Node

分别使用Node ISO通过CD引导安装3台主机:

1、语言选择中文即可;

2、键盘选择“汉语”;

3、安装目的地选中两块磁盘,选中“自动”分区,注意如果磁盘上有其它数据的话要先执行回收空间操作,如果这两块盘之前都安装过系统之间有关联的话,需要先手动清空,必须保证用于部署Gluster的磁盘是空白的且与第一块系统盘没有任何关联,否则后面部署时会报错失败;

4、时间和日期选择“亚洲/上海”时区;

5、网络和主机名处要根据上面我们规划的网络信息配置,包括主机名(这个地方直接用域名做主机名了)和IP信息

6、安装过程中配置root密码

7、安装完成后重启进入系统;

部署HostedEngine

首先在3台主机上的/etc/hosts里分别加上3台主机和Engine的域名解析:

注意:这3台主机上都要配置。

3台主机上的/etc/yum.repos.d/目录清空,或者备份到其它目录下,这是为了清空yum源,避免后面部署过程中检查更新因网络原因导致检查失败从而导致部署失败;

然后到其中一台主机上配置ssh免密码登录,注意要在后面执行部署HostedEngine过程的那台主机上配置,例如host1上:

# ssh-keygen      //全部默认回车即可
# ssh-copy-id root@node241.com     //输入root密码后回车
# ssh-copy-id root@node242.com     //输入root密码后回车
# ssh-copy-id root@node243.com     //输入root密码后回车

将下载的Engine RPM包拷贝到host1主机上(注意是上面我们配置的那台,可以通过scp/winscp工具),放到/root/目录下即可,执行以下命令安装:

rpm -ivh ovirt-engine-appliance-4.4-20201110154142.1.el8.x86_64.rpm

安装完成后,通过浏览器打开这台主机的Web控制台(即Cockpit),地址为:https://192.168.105.241:9090(注意IP地址替换成你实际环境的),使用root帐号登录,如下:

进入HostedEngine页面,点击“Hyperconverged”向导的“Start”按钮,开始部署过程,会先部署Gluster再部署HostedEngine,如下:

选择“Run Gluster Wizard”向导,如下:

选中“Use same hostname for Storage and Public Network”,表示为存储网和管理网使用同一个网络,因为我们只配置了一个网卡,然后下面分别输入host1、host2、host3的域名,如下:

(如果存储网和管理网分离的话,此处配置略有差异)

Packages这一步不用配置,直接下一步即可,如下:

Volumes这一步,也可以不用配置,直接下一步,这里因为我们演示环境中的数据盘只有200GiB,所以只保留enginedata两个卷即可,删除掉vmstore卷,engine卷对应着后续的engine存储域,用于存放HostedEngine的虚机镜像,data卷对应着后续的data存储域,用于存放普通虚机的虚机镜像,如果数据盘足够大的话可以划分多个卷对应着多个存储域,其中engine卷是必须要保留的。如下:

Bricks这一步中,Raid Type这里我们选择“JBOD”,因为我们每台主机上的数据盘是单独的一块盘,如果实际环境中是多块盘做的Raid,那么就根据实际情况选择“Raid5或者Raid6”,Blacklist Gluster Devices这里默认选中即可,下面的Device Name注意要与你环境中的实际情况对应,这里默认是“/dev/sdb”,和我们实验环境是对应的,sdb是我们每台主机预留出来的一块用于部署Gluster的磁盘,后面的LV Size累加起来不能超过sdb的实际大小,如果有SSD盘的话,可以使用下面的“Configuer LV Cache”配置缓存盘,本次实验环境中没有SSD,我们就不配置了,如下:

下面执行部署过程即可了,这里选中“Enable Debug Logging”,以方便部署失败时排查错误原因,如下:

等Gluster部署成功后,继续部署HostedEngine,如下:

VM配置中,按下图进行配置,注意配置选择正确的Bridge网卡,HostedEngine的内存最小4GiB,没有问题的话下一步即可:

输入要设置的Web管理页面admin帐号的密码,继续下一步:

此步确认无误后,点击“Prepare VM”,如下:

这一过程比较长,完成后进入下一步:

Storage Type选择“Gluster”,Storage Connection填写“node241.com:/engine”,Mount Options填写“backup-volfile-servers=node242.com:node243.com”,以上的域名根据你的实际情况填写,其它内容保持不变,下一步:

确认信息无误后点击“Finish Deployment”按钮,如下:

等待部署完成,如下:

点Close即可,4.4版本增加了HostedEngine退出部署时的清理环节,最后会让你选择是否清理,注意千万不要选Yes,一定选No,否则你需要再重新部署一遍:

 

在你的PC的hosts文件里增加Engine的域名解析,Win10系统在C:\Windows\System32\drivers\etc路径下,

192.168.105.240 engine240.com

使用浏览器访问https://engine240.com(如果想通过ip访问,请参考本站点中的其它文章),使用admin帐号登录(密码是我们部署时设置的),如下:

添加主机

HostedEngine部署完成后,添加其它主机之前,我们先ssh到engine主机上,在engine的/etc/hosts中添加另外两台主机的域名解析,修改后的hosts文件如下:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
 192.168.105.241 node241.com
 192.168.105.242 node242.com
 192.168.105.243 node243.com
 192.168.105.240 engine240.com

然后到主机页面列表页面,如下:

点击“新建”按钮,进入新建主机弹出窗,在“常规”标签页面,输入要添加的主机的名称、主机名和root密码,在“承载的引擎”标签页面,选择“部署”(注意这里一定要选,否则HostedEngine虚机无法实现迁移和高可用),如下:

点确定时会弹出没有配置电源管理的提醒,这里我们先不配,直接点确定即可,生产环境中建议要配置电源管理,否则会影响高可用功能;

使用同样的操作方法添加第三台主机;

这样部署过程就完成了,后续可以上传ISO镜像,创建虚机使用了。

错误处理

报错:

fatal: [node241.com]: FAILED! => {"changed": false, "msg": "Failed to download metadata for repo 'ovirt-4.4': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried", "rc": 1, "results": []}
 fatal: [node242.com]: FAILED! => {"changed": false, "msg": "Failed to download metadata for repo 'ovirt-4.4': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried", "rc": 1, "results": []}
 fatal: [node243.com]: FAILED! => {"changed": false, "msg": "Failed to download metadata for repo 'ovirt-4.4': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried", "rc": 1, "results": []}

解决办法:

检查3台主机上/etc/yum.repos.d/目录下是否清空

或者修改3台主机上/etc/yum.repos.d/ovirt-4.4.repo文件内容如下:

 # imgbased: set-enabled
 [ovirt-4.4]
 name = Latest oVirt 4.4 Release
 #baseurl = https://resources.ovirt.org/pub/ovirt-4.4/rpm/el$releasever/
 baseurl = http://mirror.massclouds.com/ovirt/ovirt-4.4/rpm/el$releasever/
 enabled = 1
 gpgcheck = 0
 gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-ovirt-4.4
 #includepkgs = ovirt-node-ng-image-update ovirt-node-ng-image ovirt-engine-appliance

报错:

TASK [gluster.infra/roles/backend_setup : Create volume groups] ****************
 task path: /etc/ansible/roles/gluster.infra/roles/backend_setup/tasks/vg_create.yml:59
 failed: [node241.com] (item={'key': 'gluster_vg_sdb', 'value': [{'vgname': 'gluster_vg_sdb', 'pvname': '/dev/sdb'}]}) => {"ansible_loop_var": "item", "changed": false, "err": " Device /dev/sdb excluded by a filter.\n", "item": {"key": "gluster_vg_sdb", "value": [{"pvname": "/dev/sdb", "vgname": "gluster_vg_sdb"}]}, "msg": "Creating physical volume '/dev/sdb' failed", "rc": 5}
 failed: [node243.com] (item={'key': 'gluster_vg_sdb', 'value': [{'vgname': 'gluster_vg_sdb', 'pvname': '/dev/sdb'}]}) => {"ansible_loop_var": "item", "changed": false, "err": " Device /dev/sdb excluded by a filter.\n", "item": {"key": "gluster_vg_sdb", "value": [{"pvname": "/dev/sdb", "vgname": "gluster_vg_sdb"}]}, "msg": "Creating physical volume '/dev/sdb' failed", "rc": 5}
 failed: [node242.com] (item={'key': 'gluster_vg_sdb', 'value': [{'vgname': 'gluster_vg_sdb', 'pvname': '/dev/sdb'}]}) => {"ansible_loop_var": "item", "changed": false, "err": " Device /dev/sdb excluded by a filter.\n", "item": {"key": "gluster_vg_sdb", "value": [{"pvname": "/dev/sdb", "vgname": "gluster_vg_sdb"}]}, "msg": "Creating physical volume '/dev/sdb' failed", "rc": 5}

解决办法:

3台主机上/etc/lvm/lvm.conf中找到类似如下的一行(大概在357行),将它注释掉,如下:

#filter = [“a|^/dev/disk/by-id/lvm-pv-uuid-6f5KK0-SQIS-qrJW-HW73-8thS-s6C1-479Kc2$|”, “r|.*|”]

处理完报错后,点击界面上的“CleanUp”按钮等清理成功后再点击“Redeploy”执行重新部署,如下:

报错:

在PrepareVM过程中,报错:

"Failed to download metadata for repo 'ovirt-4.4': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried"

解决办法:

退出部署过程,注意让你选择是否清理时,要选择“Yes”,如下:

等清理完成后,再重新执行部署HostedEngine的过程(注意Gluster不需要再重新部署了);

在PrepareVM过程中,到Get local VM IP这一步时,如下:

迅速在host1主机上执行(注意最后的ip地址换成你环境中hosts1的ip):

ssh -L 0.0.0.0:5910:localhost:5900 192.168.105.241

然后通过virt-viewer连接HostedEngine虚机,连接地址:vnc://192.168.105.241:5910,然后使用root帐号登录到系统中(密码为部署是所配置),将/etc/yum.repos.d/目录清空或者移动到其它目录下:

mv /etc/yum.repos.d/* /root/

PS:转载文章请注明来源:oVirt中文社区(www.cnovirt.com)

扫码加好友拉你进oVirt技术交流群!

资讯
2 条回复 A 作者 M 管理员 E
  1. 到3台主机上/etc/lvm/lvm.conf中找到类似如下的一行(大概在357行),将它注释掉,如下:

    #filter = [“a|^/dev/disk/by-id/lvm-pv-uuid-6f5KK0-SQIS-qrJW-HW73-8thS-s6C1-479Kc2$|”, “r|.*|”]
    我按照这个方法,三台主机有两台可以,还有一台不可以。不知道为什么。

    • 检查下这3台主机上的磁盘有什么不同,fdisk、pvs都检测查下,是否盘的顺序不一致?

欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论