Appendix C. Example deployment using 3 hyperconverged nodes

This section contains example files for a 3 node deployment of Red Hat Hyperconverged Infrastructure for Virtualization.

These example files have the following assumptions:

  • All nodes have the same disks and are configured identically.

    • Each node has 5 devices: a boot device (sda), three storage devices (sdb, sdc, and sdd) and a fast cache device (sde).
    • The engine volume uses the sdb device on all nodes. This device is thickly provisioned.
    • The data volume uses the sdc device on all nodes. This device is thinly provisioned and has a fast cache device sde attached to improve performance.
    • The vmstore volume uses the sdd device on all nodes. This device uses multipath configuration, is thinly provisioned, and has deduplication and compression enabled.
  • This cluster uses IPv6 networking.

Example he_gluster_vars.json file

{
  "he_appliance_password": "mybadappliancepassword",
  "he_admin_password": "mybadadminpassword",
  "he_domain_type": "glusterfs",
  "he_fqdn": "engine.example.com",
  "he_vm_mac_addr": "00:01:02:03:04:05",
  "he_default_gateway": "gateway.example.com",
  "he_mgmt_network": "ovirtmgmt",
  "he_storage_domain_name": "HostedEngine",
  "he_storage_domain_path": "/engine",
  "he_storage_domain_addr": "host1-backend.example.com",
  "he_mount_options": "backup-volfile-servers=host2-backend.example.com:host3-backend.example.com",
  "he_bridge_if": "interface name for bridge creation",
  "he_enable_hc_gluster_service": true,
  "he_mem_size_MB": "16384",
  "he_cluster": "Default"
}

Example gluster_inventory.yml file

hc_nodes:
  hosts:
    host1-backend.example.com:
    host2-backend.example.com:
    host3-backend.example.com:
  vars:
    blacklist_mpath_devices:
      - sdb
      - sdc
    gluster_infra_vdo:
      - { name: 'vdo_sdd', device: '/dev/sdd', logicalsize: '5000G', emulate512: 'off', slabsize: '32G', blockmapcachesize:  '128M', writepolicy: 'auto' }
    gluster_infra_volume_groups:
      - vgname: gluster_vg_sdb
        pvname: /dev/sdb
      - vgname: gluster_vg_sdc
        pvname: /dev/sdc
      - vgname: gluster_vg_sdd
        pvname: /dev/mapper/vdo_sdd
    gluster_infra_mount_devices:
      - path: /gluster_bricks/engine
        lvname: gluster_lv_engine
        vgname: gluster_vg_sdb
      - path: /gluster_bricks/data
        lvname: gluster_lv_data
        vgname: gluster_vg_sdc
      - path: /gluster_bricks/vmstore
        lvname: gluster_lv_vmstore
        vgname: gluster_vg_sdd
    gluster_infra_thinpools:
      - {vgname: 'gluster_vg_sdc', thinpoolname: 'gluster_thinpool_sdc', thinpoolsize: '500G', poolmetadatasize: '16G'}
      - {vgname: 'gluster_vg_sdd', thinpoolname: 'gluster_thinpool_sdd', thinpoolsize: '500G', poolmetadatasize: '16G'}
    gluster_infra_cache_vars:
      - vgname: gluster_vg_sdb
        cachedisk: /dev/sdb,/dev/sde
        cachelvname: cachelv_thinpool_sdb
        cachethinpoolname: gluster_thinpool_sdb
        cachelvsize: '250G'
        cachemode: writethrough
    gluster_infra_thick_lvs:
      - vgname: gluster_vg_sdb
        lvname: gluster_lv_engine
        size: 100G
    gluster_infra_lv_logicalvols:
      - vgname: gluster_vg_sdc
        thinpool: gluster_thinpool_sdc
        lvname: gluster_lv_data
        lvsize: 200G
      - vgname: gluster_vg_sdd
        thinpool: gluster_thinpool_sdd
        lvname: gluster_lv_vmstore
        lvsize: 200G
    gluster_features_enable_ipv6: true
    cluster_nodes:
      - host1-backend.example.com
      - host2-backend.example.com
      - host3-backend.example.com
    gluster_features_hci_cluster: "{{ cluster_nodes }}"
    gluster_features_hci_volumes:
      - volname: engine
        brick: /gluster_bricks/engine/engine
        arbiter: 0
      - volname: data
        brick: /gluster_bricks/data/data
        arbiter: 0
      - volname: vmstore
        brick: /gluster_bricks/vmstore/vmstore
        arbiter: 0
    gluster_infra_fw_ports:
      - 2049/tcp
      - 54321/tcp
      - 5900-6923/tcp
      - 16514/tcp
      - 5666/tcp
      - 16514/tcp
    gluster_infra_fw_permanent: true
    gluster_infra_fw_state: enabled
    gluster_infra_fw_zone: public
    gluster_infra_fw_services:
      - glusterfs
    gluster_infra_disktype: RAID6
    gluster_infra_diskcount: 10
    gluster_infra_stripe_unit_size: 256
    gluster_features_force_varlogsizecheck: false
    gluster_set_selinux_labels: true

gluster:
  hosts:
    host2-frontend.example.com:
    host3-frontend.example.com:
  vars:
    storage_domains:
      - {"name":"data","host":"host1-frontend.example.com","address":"host1-backend.example.com","path":"/data","function":"data","mount_options":"backup-volfile-servers=host2-backend.example.com:host3-backend.example.com,xlator-option=transport.address-family=inet6"}
      - {"name":"vmstore","host":"host1-frontend.example.com","address":"host1-backend.example.com","path":"/vmstore","function":"data","mount_options":"backup-volfile-servers=host2-backend.example.com:host3-backend.example.com,xlator-option=transport.address-family=inet6"}