0°

oVirt4.3.10超融合架构部署

硬件环境准备

  • 为演示和截图方便,这次实验使用的是oVirt中的虚机;
  • 此处列出的主机配置为最低配置要求;

软件环境准备

百度网盘下载地址:(本站->安装包下载)

链接:https://pan.baidu.com/s/10HarsPsucmovfF-jDH4aEw

提取码:pu1s

备用下载地址:

http://mirror.isoc.org.il/pub/ovirt/ovirt-4.3/iso/ovirt-node-ng-installer/4.3.10-2020060117/el7/ovirt-node-ng-installer-4.3.10-2020060117.el7.iso

http://mirror.isoc.org.il/pub/ovirt/ovirt-4.3/rpm/el7/x86_64/ovirt-engine-appliance-4.3-20200603.1.el7.x86_64.rpm

http://mirror.isoc.org.il/pub/ovirt/ovirt-4.3/iso/oVirt-toolsSetup/4.3-3/el7/oVirt-toolsSetup-4.3-3.el7.iso

网络信息规划

  • 此处的配置信息根据你的实际环境规划和配置;
  • 如果部署的此套环境与外网相连,则务必确保所规划的域名不能在外网解析(部署前不能ping通才可以);
  • 注意这里是实验环境的最低配置要求,生产环境下存储网和业务网应使用独立的网络,且存储网不低于10GbE,可多个网口做绑定;

部署过程——安装Node

将oVirt Node ISO刻录到光盘,分别将3台主机从CD引导安装

这里选择100GiB大小的磁盘作为系统盘:

配置网络:

这里配置静态ip地址:

配置域名:

部署过程——部署HostedEngine

在3台node节点上的/etc/hosts里分别加上3台node节点和engine的域名解析

配置SSH无密码登录,注意要在使用Cockpit执行HostedEngine部署的那台机器上配置:

# ssh-keygen

# ssh-copy-id root@node241.com

# ssh-copy-id root@node242.com

# ssh-copy-id root@node243.com

过程如下图:

访问Node的Cockpit门户,地址:https://192.168.105.241:9090,注意端口为9090

使用root登录,密码为安装Node时所配置

进入HostedEngine页面,选择超融合:

选择第一个向导:

此处输入3台主机的域名:

此步不填,直接下一步:

删除掉vmstore这个卷(默认的vmstore是存放虚机系统盘的,默认的data是存放虚机数据盘的,engine是存放hostedengine盘的),这里我们保留engine和vmstore即可:

请确认每个node主机上的sda和sdb是对应的,sda已安装系统,sdb为空盘。

确认此处的设备路径和大小正确:

将ovirt-engine的rpm包传输到node241.com这个节点上(推荐使用SmarTTY)并安装:

rpm -ivh ovirt-engine-appliance-4.3-20200603.1.el7.x86_64.rpm

填入engine的配置信息:

CPU2核、内存4G(因为节点总共4核8G,预留一部分资源),engine内存不能低于4G

配置admin帐号的密码,admin帐号用于管理门户:

配置HostedEngine存储,存储类型选择Gluster,路径填前面的engine卷路径:node241.com:/engine

挂载参数填:backup-volfile-servers=node242.com:node243.com

(主机域名根据你环境的实际情况填写)

部署过程——访问管理门户

在本机的hosts文件中增加engine的域名映射

(win10下路径在C:\Windows\System32\drivers\etc,推荐用Notepad++编辑器)

192.168.105.240 engine240.com

使用浏览器访问https://engine240.com

oVirt4.3.10超融合架构部署

在engine的/etc/hosts中增加要添加的两台node主机节点的域名映射:

oVirt4.3.10超融合架构部署

oVirt4.3.10超融合架构部署
oVirt4.3.10超融合架构部署

承载的引擎选“部署”:

同样的方法添加第三台节点:

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

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

53 条回复 A 作者 M 管理员 E
  1. 存储和计算可以公用一个ip 是吗?

    • 测试环境里可以,存储网和虚机业务网共用,生产环境需要拆分开。

  2. 版主我部署发生这样的报错 能帮忙看看吗:
    eployment errors: code 505: Host node01.ovirt.com installation failed. Failed to configure management network on the host., code 9000: Failed to verify Power Management configuration for Host node01.ovirt.com

    • 单看这个错误不好说,得结合环境信息和报错日志前后分析

  3. 系统是:
    10.28.139.65 node01.ovirt.com
    10.28.139.66 node02.ovirt.com
    10.28.139.67 node03.ovirt.com
    10.28.139.162 engine.ovirt.com
    已经再这个平面上部署好 gluster 也是用node里面自动部署的
    然后资源是非常多的 三台实体服务器
    双网口做了team 然后是 主备

    我现在把team拆了 直接配置在网口上 定位一下问题
    我这里还可以看什么日志吗

    • 日志在执行部署的节点的这个路径下:/var/log/ovirt-hosted-engine-setup

    • 已经解决了 就是网卡组建team 以后的问题 他使用的是teamctl 工具 我现在直接在物理网口上配置ip 就可以完成自动部署engine了,我下次测试使用node portal里面 按钮去组建bond 试试看 会不会有问题。老师有可能也帮忙一起测试一下

    • ovirt不支持team,支持bond

  4. 版主 我创建号 ISO类型的DOMAIN 用的是gluster (lv thin volume),domain状态都是正常的
    为啥上传iso文件报错 也不知道怎么PD问提 有没有思路

    Last login: Thu Jun 18 16:42:36 2020 from 10.7.129.217
    [root@engine ~]# engine-iso-uploader –iso-domain=iso_domain upload /root/CentOS-7-x86_64-Minimal-2003.iso
    Please provide the REST API password for the admin@internal oVirt Engine user (CTRL+D to abort):
    Uploading, please wait…
    INFO: Start uploading /root/CentOS-7-x86_64-Minimal-2003.iso
    ERROR: Failed to create dc51b3c0-8ca4-4cda-ba27-27acdb7c3fd8/images/11111111-1111-1111-1111-111111111111//root/CentOS-7-x86_64-Minimal-2003.iso: Success

    [root@engine ~]# engine-iso-uploader -i iso_domain upload CentOS-7-x86_64-Minimal-2003.iso
    Please provide the REST API password for the admin@internal oVirt Engine user (CTRL+D to abort):
    Uploading, please wait…
    INFO: Start uploading CentOS-7-x86_64-Minimal-2003.iso
    Segmentation fault

    • 从管理台上直接上传试试?存储->磁盘->上传。

    • 这个是用来上传硬盘镜像文件的方式吧 我是上传iso文件,用来光驱引导后 手动安装系统

    • iso也可以在这里上传;
      另外也可以建个iso域,将iso直接拷贝到iso域目录中;

    • 为什么我手工创建了ISO类型的 Domain 也正常状态 在您说的存储->磁盘->上传 时候 参数窗口 disk type就只能选择data类型 这是哪里还需要添加配置吗?

    • disk type?没有这个选项呀,ovirt哪个版本

    • 我写错了 是磁盘配置集 这个是哪里配的

  5. 为什么我手工创建了ISO类型的 Domain 也正常状态 在您说的存储->磁盘->上传 时候 参数窗口 disk profile(磁盘配置集)就只能选择data类型 这是哪里还需要添加配置吗?

    • 不用管disk profile这一项

    • 成功了 单这样和是用ISO类型的domain有什么用呢 ?

  6. 我查看官方文档有这么一句话:
    ISO Domain: ISO domains store ISO files (or logical CDs) used to install and boot operating systems and applications for the virtual machines. An ISO domain removes the data center’s need for physical media. An ISO domain can be shared across different data centers. ISO domains can only be NFS-based. Only one ISO domain can be added to a data center.

    ISO domain 只能支持 nfs 但是其实我们在管理台创建时候 是允许我们选择GlusterFS的 真是奇怪

    • 建议用nfs就可以了,超融合环境下,现在直接上传到数据域吧,也不用建iso域了,官方已经要把iso域抛弃了…

    • 好的 以后就直接使用data域了 我用nas对接ISO域后 engine-iso-uploader 命令就可以执行了。

    • 请问我想给虚拟机添加一个NAT网络 或者内部网络 如何再ovrit里面配置

    • oVirt网络走的是linux bridge,不支持nat
      自己配子网的地址即可,互通需要在外面物理交换机上做配置

    • 那请问 ovs 有啥作用啊?
      [root@node01 vdsm]# ovs-vsctl show
      fa3ae4ec-5a72-4689-a21c-c72d34148468
      Bridge br-int
      fail_mode: secure
      Port br-int
      Interface br-int
      type: internal
      Port “ovn-a05a02-0”
      Interface “ovn-a05a02-0″
      type: geneve
      options: {csum=”true”, key=flow, remote_ip=”10.28.139.67″}
      Port “ovn-4c9366-0”
      Interface “ovn-4c9366-0″
      type: geneve
      options: {csum=”true”, key=flow, remote_ip=”10.28.139.66″}
      ovs_version: “2.11.0”

    • ovs作为技术预览功能,不建议用,另外虽然支持ovs,但没有提供操作接口
      如果想搭建复杂的网络环境的话,可以用openstack neutron作为外部网络导入到ovirt中使用
      实际上默认的bridge配合vlan应该就能满足一般的场景了

    • 好的

    • 大神能不能帮忙普及一次 External Network Providers 的主题 并且搞个实验

    • 安排,得空…

  7. 你好 三台服务器部署的话 第三个仲裁节点不占用很大空间的吗?

    • 可以采用2+1模式(即1台做仲裁),也可以不用仲裁(即3台平等);
      用仲裁节点的话,仲裁节点只会存放少量的结构数据,所有数据总占用空间相当于2副本;
      不用仲裁的话,3台占用的空间基本相同;

    • 不用仲裁的话 数据有没有风险?

    • 用仲裁是为了节省空间(2副本+1仲裁)
      不用仲裁是3副本,相对来讲安全系数更高些

  8. 按照文档操作 报如下操作 硬盘是单独的磁盘,是不是需要先格式化下才行
    ailed: [node4.com] (item={‘key’: ‘gluster_vg_sdb’, ‘value’: [{‘vgname’: u’gluster_vg_sdb’, ‘pvname’: u’/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: [node3.com] (item={‘key’: ‘gluster_vg_sdc’, ‘value’: [{‘vgname’: u’gluster_vg_sdc’, ‘pvname’: u’/dev/sdc’}]}) => {“ansible_loop_var”: “item”, “changed”: false, “err”: ” Device /dev/sdc excluded by a filter.\n”, “item”: {“key”: “gluster_vg_sdc”, “value”: [{“pvname”: “/dev/sdc”, “vgname”: “gluster_vg_sdc”}]}, “msg”: “Creating physical volume ‘/dev/sdc’ failed”, “rc”: 5}
    failed: [node2.com] (item={‘key’: u’gluster_vg_sdc’, ‘value’: [{‘vgname’: u’gluster_vg_sdc’, ‘pvname’: u’/dev/sdc’}]}) => {“ansible_loop_var”: “item”, “changed”: false, “err”: ” Device /dev/sdc excluded by a filter.\n”, “item”: {“key”: “gluster_vg_sdc”, “value”: [{“pvname”: “/dev/sdc”, “vgname”: “gluster_vg_sdc”}]}, “msg”: “Creating physical volume ‘/dev/sdc’ failed”, “rc”: 5}
    failed: [node4.com] (item={‘key’: ‘gluster_vg_sdc’, ‘value’: [{‘vgname’: u’gluster_vg_sdc’, ‘pvname’: u’/dev/sdc’}]}) => {“ansible_loop_var”: “item”, “changed”: false, “err”: ” Device /dev/sdc excluded by a filter.\n”, “item”: {“key”: “gluster_vg_sdc”, “value”: [{“pvname”: “/dev/sdc”, “vgname”: “gluster_vg_sdc”}]}, “msg”: “Creating physical volume ‘/dev/sdc’ failed”, “rc”: 5}

    • 硬盘需要先格式化下,部署之前上面不能有分区

    • 群主还是不行,我是在界面上操作如下图。

      报错如下;
      TASK [Check if /var/log has enough disk space] *********************************# 这个提示空间不足?我是按照要求装的分区
      task path: /usr/share/cockpit/ovirt-dashboard/ansible/hc_wizard.yml:38
      skipping: [node3.com] => {“changed”: false, “skip_reason”: “Conditional result was False”}
      skipping: [node2.com] => {“changed”: false, “skip_reason”: “Conditional result was False”}
      skipping: [node4.com] => {“changed”: false, “skip_reason”: “Conditional result was False”}

      TASK [Check if the /var is greater than 15G] *********************************** #必须大于15G?
      task path: /usr/share/cockpit/ovirt-dashboard/ansible/hc_wizard.yml:43
      skipping: [node3.com] => {“changed”: false, “skip_reason”: “Conditional result was False”}
      skipping: [node2.com] => {“changed”: false, “skip_reason”: “Conditional result was False”}
      skipping: [node4.com] => {“changed”: false, “skip_reason”: “Conditional result was False”}

      TASK [Check if disks have logical block size of 512B] ************************** #这个是需要mkfs.xfs -i size=512 /dev/sdx 对应格式化吗

    • 你这个磁盘是多大的呀,都配大点,安装node的时候系统盘让它自己分区就可以,数据盘清空一下。

    • 盘都是4T 系统盘就是按照默认装的。数据盘也是一样的。

    • ✗捂脸✗ 按正常路子来应该是没问题的,不确定你这个是啥情况…

  9. 如果5节点部署,选择多少个节点为engine的承载节点好?还是说5个节点都可以部署成engine的承载节点?

    • 超融合架构部署的话只能3节点起步,3节点扩容,按官方说法可以扩到12节点;
      如果节点数少的话建议都能够承载engine,对于engine的承载节点官方的限制是7个。

    • 好的!受益了!!

  10. 3个节点都只有一块磁盘要怎样配置

    • 每节点至少要有两块盘

  11. 关于默认创建的卷,之前文章中描述错了,我刚发现,已经修正!

  12. 群主,创建虚拟机的时候,发现很慢,提示launching vm xx 失败,有的时候通过vnc查看发现虚拟机安装的直接卡死。
    另外节点和engine 防火墙要关闭吗

    • 慢可能是配置有点低了;
      如果是用的node iso装的主机节点的话,不需要管防火墙,默认就好

    • 群主,glusterfs 适合做虚拟机磁盘存储吗,ovirt 推荐用gfs 和ceph rdb比性能还是有点差,同样环境对吧proxmox ceph 存储 读写速度就比ovirt要好,有什么优化空间吗
      希望群主能分享下 一些生产案例

    • 性能还得看是哪种类型的应用场景吧,跑vdi还是跑业务系统,业务系统的读写是哪种类型的,gluster和ceph各有优劣吧,与配置方案也有很大关系,性能也各有所长吧,gluster相对简单些

  13. 群主,我搭好3节点环境后测试,发现engine所在的主机下电后,engine无法在其它主机上自动启动,导致平台无法使用,得手动操作恢复,请问有解决办法吗?

    • 三台主机承载的引擎那里是否都配成了“部署”?

    • 都配置的,按照这篇文档部署的。我主要想测engine所在的主机故障时,engine是否会飘到其它主机上,但测下来没有,只能再把那台主机上电,命令起engine。主机都正常时,迁移engine没问题。

    • 那正常应该是没问题,检查下三台主机上的ovirt-ha-agent这个服务是否都正常
      engine重启的话会有一个时间间隔,多等会儿看看
      不行的话就得分析分析日志,看看gluster的状态等等排查了

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