Руководство по управлению SDS
Аннотация
Гиперконвергентная среда zVirt представляет собой архитектуру вычислительных ресурсов и хранилищ, объединенных в единую платформу. Она предоставляет возможность объединять несколько серверов с локальными устройствами хранения (дисками) в единое хранилище данных, которое можно масштабировать по мере необходимости.
В этом документе объясняется, как выполнять задачи обслуживания, характерные для гиперконвергентной среды zVirt.
1. Добавление вычислительных ресурсов и ресурсов хранения
Гиперконвергентную среду zVirt можно масштабировать до 6, 9 или 12 узлов.
Можно добавить вычислительные ресурсы и ресурсы хранения несколькими способами:
Можно увеличить свободное пространство на существующих узлах, чтобы расширить хранилище без увеличения вычислительных ресурсов.
2. Управление хостами
2.1. Добавление хостов
Этот раздел содержит инструкцию по расширению существующего гиперконвергентного кластера путем добавления новых хостов.
-
Установлены и подготовлены в соответствии с разделом Подготовка среды дополнительные физические машины в качестве новых гиперконвергентных хостов.
-
На портале администрирования перейдите в
. -
Нажмите Новый.
-
В окне добавления хоста:
-
На вкладке Общее:
-
При необходимости измените кластер, в котором будет размещен хост.
-
Введите отображаемое Имя хоста.
-
Введите FQDN/IP, который необходимо использовать для подключения.
-
В разделе Аутентификация введите Пароль для пользователя root этого хоста.
-
-
На вкладке Hosted Engine выберите Да если хотите подготовить хост для размещения на нем ВМ HostedEngine.
-
Нажмите OK.
-
-
Аналогичным образом добавьте в среду остальные хосты.
-
После активации хостов, добавьте к ним сеть хранилища. Для этого:
-
В
нажмите на имя хоста для перехода в подробное представление. -
Откройте вкладку Сетевые интерфейсы и нажмите Настройка сетей хоста.
-
Перетащите сеть Gluster на нужный интерфейс.
-
Нажмите на иконку карандаша, чтобы открыть окно Редактирование подключения к сети.
-
Если ранее интерфейс не был настроен, выберите статическую настройку, укажите адрес и маску сети.
Может потребоваться активировать опцию Синхронизировать сеть. -
Нажмите OK.
-
На вкладке Сетевые интерфейсы нажмите на интерфейс с подключением к сети Gluster и убедитесь, что сеть не имеет статус Не синхронизирована.
-
Повторите операцию с остальными хостами.
-
После успешного добавления хостов можно переходить к добавлению новых томов и расширению существующих.
2.2. Подключение хостов к кластеру Gluster с помощью CLI
Для подключения хоста в кластер выполните следующие действия:
-
Убедитесь, что служба glusterd запущена и включена по умолчанию на всех хостах:
systemctl enable --now glusterd
-
С одного из хостов выполните команду подключения остальных хостов
gluster peer probe <IP или hostname>
В команде необходимо использовать адреса сети хранилища, а не внешние. -
Убедитесь, что в списке пиров присутствуют все необходимые хосты:
gluster peer status
2.3. Конвертация хостов виртуализации в гиперконвергентные хосты
При необходимости можно преобразовать кластер виртуализации в гиперконвергентный кластер. Для этого:
-
Аутентифицируйтесь на портале администрирования.
-
Переведите хосты в режим обслуживания(кроме хоста с выполняющейся ВМ HostedEngine):
-
Перейдите в
. -
Выделите все хосты, на которых не выполняется ВМ HostedEngine.
-
Нажмите Управление > Обслуживание.
-
-
Активируйте службы Gluster:
-
Перейдите в
. -
Выделите нужный кластер и нажмите Изменить.
-
На вкладке общее активируйте опцию Службы Gluster.
-
Нажмите OK.
-
-
Переустановите хосты (кроме хоста с выполняющейся ВМ HostedEngine):
-
Перейдите в
. -
Выделите все хосты, на которых не выполняется ВМ HostedEngine.
-
Нажмите Управление > Переустановить.
-
Если хосты ранее имели роль HostedEngine, на вкладке Hosted Engine выберите DEPLOY.
-
Дождитесь активации хостов.
-
-
Переведите хост с выполняющейся ВМ HostedEngine в режим обслуживания:
-
Перейдите в
. -
Выделите нужный хост.
-
Нажмите Управление > Обслуживание.
Перед выполнением следующих действий убедитесь, что ВМ HostedEngine мигрировала на другой хост!
-
-
Переустановите хост:
-
Перейдите в
. -
Выделите нужный хост.
-
Нажмите Управление > Переустановить.
-
Дождитесь активации хоста.
-
Теперь хосты могут использовать и управлять хранилищем в виде томов Gluster.
3. Управление бриками
3.1. Добавление бриков
В этом разделе описаны способы добавления новых бриков на гиперконвергентных хостах. Добавленные брики могут быть использованы для добавления новых томов или расширения существующих.
Перед добавлением бриков любым из представленных ниже способов, убедитесь, что соблюдены следующие требования:
-
Хосты, на которых будут создаваться брики, добавлены в гиперконвергентную среду.
-
Настроена беспарольная аутентификация SSH на основе ключа между всеми хостами.
Это требование не обязательно к выполнению при использовании портала администрирования. -
На хостах присутствуют неразмеченные блочные устройства.
3.1.1. Использование портала администрирования
-
Аутентифицируйтесь на портале администрирования.
-
Перейдите в
. -
Нажмите на имя нужного хоста для перехода в подробное представление и откройте вкладку Устройства хранения.
-
Выделите нужное устройство и нажмите Создать блок.
Если на устройстве отображается значок , значит, устройство уже используется и создать брик невозможно.
-
В открывшемся окне:
-
Введите Имя брика.
-
После ввода имени поле Точка монтирования должно заполниться автоматически.
-
При необходимости выберите нужный Тип RAID или установите значение Нет, если RAID не используется.
-
В таблице Устройство хранения убедитесь, что выбрано корректное устройство.
-
В разделе Устройство кэширования при необходимости можно указать устройство, которое будет использоваться в качестве lvcache, а также его параметры.
-
Нажмите ОК.
-
-
Убедитесь, что брик создан. Если брик не отобразился в таблице сразу после создания, нажмите Синхронизация.
-
Повторите операцию на всех необходимых хостах.
3.1.2. Использование Ansible
Если необходимо создать брики сразу на большом количестве хостов, можно автоматизировать этот процесс, создав плейбук Ansible. В этом разделе содержится описание подготовки и запуска плейбука, который создает, форматирует и монтирует брики для использования в гиперконвергентной среде.
Описанные ниже операции выполняются на хосте, который имеет беспарольный SSH доступ к хостам, на которых планируется добавлять брики. |
-
Создайте инвентаризацонный файл:
-
В каталоге /etc/ansible/roles/gluster.infra/playbooks создайте новый файл, например, с именем inventory.
-
В этом файле перечислите хосты, на которых нужно создать новые брики. Например:
[hosts] ghost-4.vlab.local ghost-5.vlab.local ghost-6.vlab.local
Поскольку в Ansible нет инструмента разрешения имен, необходимо использовать DNS или файл /etc/hosts, чтобы обеспечить разрешение на правильный IP-адрес, или использовать IP-адреса вместо FQDN в списке хостов.
-
-
Определите необходимые параметры бриков в файле переменных:
Если необходимо создать брики без слоя VDO
-
Сделайте резервную копию существующего файла bricks.yml:
cd /etc/ansible/roles/gluster.infra/playbooks/ cp bricks.yml bricks.yml.backup
-
Измените необходимые параметры в файле переменных bricks.yml:
gluster_infra_disktype: RAID10 (1) gluster_infra_dalign: 256K (2) gluster_infra_diskcount: 10 (3) gluster_infra_stripe_unit_size: 128 (4) gluster_infra_volume_groups: (5) - { vgname: 'vg_vdb', pvname: '/dev/vdb' } - { vgname: 'vg_vdc', pvname: '/dev/vdc' } gluster_infra_thick_lvs: (6) - { vgname: 'vg_vdb', lvname: 'vg_vdb_thicklv1', size: '10G' } gluster_infra_thinpools: (7) - {vgname: 'vg_vdb', thinpoolname: 'foo_thinpool', thinpoolsize: '2T', poolmetadatasize: '1G' } - {vgname: 'vg_vdc', thinpoolname: 'bar_thinpool', thinpoolsize: '3T', poolmetadatasize: '1G' } gluster_infra_lv_logicalvols: (8) - { vgname: 'vg_vdb', thinpool: 'foo_thinpool', lvname: 'vg_vdb_thinlv', lvsize: '500G' } - { vgname: 'vg_vdc', thinpool: 'bar_thinpool', lvname: 'vg_vdc_thinlv', lvsize: '500G' } gluster_infra_cache_vars: (9) - { vgname: 'vg_vdb', cachedisk: '/dev/vdd', cachethinpoolname: 'foo_thinpool', cachelvname: 'cachelv', cachelvsize: '20G', cachemetalvname: 'cachemeta', cachemetalvsize: '100M', cachemode: 'writethrough' } gluster_infra_mount_devices: (10) - { path: '/mnt/thicklv', vgname: 'vg_vdb', lvname: 'vg_vdb_thicklv1' } - { path: '/mnt/thinlv1', vgname: 'vg_vdb', lvname: 'vg_vdb_thinlv' } - { path: '/mnt/thinlv2', vgname: 'vg_vdc', lvname: 'vg_vdc_thinlv' }
1 Тип диска на физическом слое: -
Если на физическом слое используется RAID, укажите соответствующий тип. Допустимы значения RAID6 и RAID10.
-
Если на физическом слое не используется RAID, укажите значение JBOD.
2 Размер выравнивания данных на физическом слое: -
Для JBOD по умолчанию (если параметр не указан) - 256К.
-
Для RAID (6 и 10) вычисляется путем умножения
gluster_infra_diskcount
иgluster_infra_stripe_unit_size
.
3 Используется только с RAID. Указывает количество дисков, которые должны быть использованы для создания тома GlusterFS. 4 Используется только с RAID. Указывает размер части в striped томе. Значение задаётся в KiB. При этом указывать единицу измерения не нужно. 5 Список групп томов, которые необходимо создать. Каждый элемент списка должен включать: -
vgname
- имя создаваемой группы томов. -
pvname
- путь к файлу блочного устройства, которое будет использовано для создания группы томов.
6 Список "толстых" (с предварительно выделенным пространством) логических томов, которые необходимо создать. Каждый элемент списка должен включать: -
vgname
- группа томов, в которой будет создан логический том. -
lvname
- имя создаваемого логического тома. -
size
- размер создаваемого логического тома с указанием единицы измерения (например,G
- GiB).
7 Список создаваемых пулов для "тонких" логических томов. Каждый элемент списка должен включать: -
vgname
- группа томов, в которой будет создан пул. -
thinpoolname
- имя пула. Если не указано, будет назначено имя в формате<vgname>_thinpool
. -
thinpoolsize
- размер пула с указанием единицы измерения (например,G
- GiB). -
poolmetadatasize
- размер пространства для метаданных пула с указанием единицы измерения (например,G
- GiB). Если параметр не указан, используется значение по умолчанию -16G
.
8 Список "тонких" (с динамическим выделением пространства) томов. Каждый элемент списка должен включать: -
vgname
- группа томов, в которой будет создан логический том. -
thinpool
- имя пула, из которого будет выделяться пространство для логического тома. Если параметр не указан, будет использоваться имя в формате<vgname>_thinpool
. -
lvname
- имя создаваемого логического тома. -
lvsize
- размер создаваемого логического тома с указанием единицы измерения (например,G
- GiB). Это значение определяет максимальный размер, до которого том может динамически расширяться.
9 Список кэширующих томов. Каждый элемент списка может включать: -
vgname
- группа томов, в которой будет создан кэширующий том. -
cachedisk
- SSD диск, используемый для кэширующего тома. -
cachethinpoolname
- имя пула для для выделения пространства под кэширующий том. -
cachelvname
- имя кэширующего тома. -
cachelvsize
- размер кэширующего тома с указанием единицы измерения (например,G
- GiB). -
cachemetalvname
- имя тома метаданных. -
cachemetalvsize
- размер тома метаданных с указанием единицы измерения (например,G
- GiB). -
cachemode
- режим кэширования. Допустимы следующие значения:-
writethrough
- в этом режиме данные при одновременно записываются как в кэш, так и на основной (более медленный) носитель. -
writeback
- в этом режиме данные при записи сначала попадают только в кэш, а не на основной (более медленный) носитель. Запись данных на основной носитель из кэша происходит позже, в фоновом режиме.
-
10 Список точек монтирования созданных томов. Каждый элемент списка должен включать: -
path
- путь монтирования. -
vgname
- имя группы томов, которой принадлежит монтируемый том. -
lvname
- имя монтируемого тома.
-
Если необходимо создать брики с использованием VDO
-
Сделайте резервную копию существующего файла bricks_vdo.yml:
cd /etc/ansible/roles/gluster.infra/playbooks/ cp bricks_vdo.yml bricks_vdo.yml.backup
-
Измените необходимые параметры в файле переменных bricks_vdo.yml:
gluster_infra_disktype: RAID10 (1) gluster_infra_dalign: 256K (2) gluster_infra_diskcount: 10 (3) gluster_infra_stripe_unit_size: 128 (4) gluster_infra_vdo: (5) - { name: 'hc_vdo_1', device: '/dev/vdb' } - { name: 'hc_vdo_2', device: '/dev/vdc' } gluster_infra_volume_groups: (6) - { vgname: 'vg_vdb', pvname: '/dev/mapper/hc_vdo_1' } - { vgname: 'vg_vdc', pvname: '/dev/mapper/hc_vdo_2' } gluster_infra_thick_lvs: (7) - { vgname: 'vg_vdb', lvname: 'vg_vdb_thicklv1', size: '10G' } gluster_infra_thinpools: (8) - {vgname: 'vg_vdb', thinpoolname: 'foo_thinpool', thinpoolsize: '2T', poolmetadatasize: '1G' } - {vgname: 'vg_vdc', thinpoolname: 'bar_thinpool', thinpoolsize: '3T', poolmetadatasize: '1G' } gluster_infra_lv_logicalvols: (9) - { vgname: 'vg_vdb', thinpool: 'foo_thinpool', lvname: 'vg_vdb_thinlv', lvsize: '500G' } - { vgname: 'vg_vdc', thinpool: 'bar_thinpool', lvname: 'vg_vdc_thinlv', lvsize: '500G' } gluster_infra_cache_vars: (10) - { vgname: 'vg_vdb', cachedisk: '/dev/vdd', cachethinpoolname: 'foo_thinpool', cachelvname: 'cachelv', cachelvsize: '20G', cachemetalvname: 'cachemeta', cachemetalvsize: '100M', cachemode: 'writethrough' } gluster_infra_mount_devices: (11) - { path: '/mnt/thicklv', vgname: 'vg_vdb', lvname: 'vg_vdb_thicklv1' } - { path: '/mnt/thinlv1', vgname: 'vg_vdb', lvname: 'vg_vdb_thinlv' } - { path: '/mnt/thinlv2', vgname: 'vg_vdc', lvname: 'vg_vdc_thinlv' }
1 Тип диска на физическом слое: -
Если на физическом слое используется RAID, укажите соответствующий тип. Допустимы значения RAID6 и RAID10.
-
Если на физическом слое не используется RAID, укажите значение JBOD.
2 Размер выравнивания данных на физическом слое: -
Для JBOD по умолчанию (если параметр не указан) - 256К.
-
Для RAID (6 и 10) вычисляется путем умножения
gluster_infra_diskcount
иgluster_infra_stripe_unit_size
.
3 Используется только с RAID. Указывает количество дисков, которые должны быть использованы для создания тома GlusterFS. 4 Используется только с RAID. Указывает размер части в striped томе. Значение задаётся в KiB. При этом указывать единицу измерения не нужно. 5 Список создаваемых томов vdo. Каждый элемент списка должен включать: -
name
- имя создаваемого тома vdo. -
device
- путь к файлу блочного устройства, которое будет использовано для создания тома vdo.
6 Список групп томов, которые необходимо создать. Каждый элемент списка должен включать: -
vgname
- имя создаваемой группы томов. -
pvname
- путь к тому vdo, который будет использован для создания группы томов.
7 Список "толстых" (с предварительно выделенным пространством) логических томов, которые необходимо создать. Каждый элемент списка должен включать: -
vgname
- группа томов, в которой будет создан логический том. -
lvname
- имя создаваемого логического тома. -
size
- размер создаваемого логического тома с указанием единицы измерения (например,G
- GiB).
8 Список создаваемых пулов для "тонких" логических томов. Каждый элемент списка должен включать: -
vgname
- группа томов, в которой будет создан пул. -
thinpoolname
- имя пула. Если не указано, будет назначено имя в формате<vgname>_thinpool
. -
thinpoolsize
- размер пула с указанием единицы измерения (например,G
- GiB). -
poolmetadatasize
- размер пространства для метаданных пула с указанием единицы измерения (например,G
- GiB). Если параметр не указан, используется значение по умолчанию -16G
.
9 Список "тонких" (с динамическим выделением пространства) томов. Каждый элемент списка должен включать: -
vgname
- группа томов, в которой будет создан логический том. -
thinpool
- имя пула, из которого будет выделяться пространство для логического тома. Если параметр не указан, будет использоваться имя в формате<vgname>_thinpool
. -
lvname
- имя создаваемого логического тома. -
lvsize
- размер создаваемого логического тома с указанием единицы измерения (например,G
- GiB). Это значение определяет максимальный размер, до которого том может динамически расширяться.
10 Список кэширующих томов. Каждый элемент списка может включать: -
vgname
- группа томов, в которой будет создан кэширующий том. -
cachedisk
- SSD диск, используемый для кэширующего тома. -
cachethinpoolname
- имя пула для для выделения пространства под кэширующий том. -
cachelvname
- имя кэширующего тома. -
cachelvsize
- размер кэширующего тома с указанием единицы измерения (например,G
- GiB). -
cachemetalvname
- имя тома метаданных. -
cachemetalvsize
- размер тома метаданных с указанием единицы измерения (например,G
- GiB). -
cachemode
- режим кэширования. Допустимы следующие значения:-
writethrough
- в этом режиме данные при одновременно записываются как в кэш, так и на основной (более медленный) носитель. -
writeback
- в этом режиме данные при записи сначала попадают только в кэш, а не на основной (более медленный) носитель. Запись данных на основной носитель из кэша происходит позже, в фоновом режиме.
-
11 Список точек монтирования созданных томов. Каждый элемент списка должен включать: -
path
- путь монтирования. -
vgname
- имя группы томов, которой принадлежит монтируемый том. -
lvname
- имя монтируемого тома.
-
-
-
Запустите плейбук create_brick.yml:
-
Проверьте содержимое плейбука. Оно должно быть следующим:
cat create_brick.yml --- - name: Create a GlusterFS brick on the servers remote_user: root hosts: all gather_facts: false vars_files: - bricks.yml (1) roles: - gluster.infra
1 Укажите корректный файл переменных: -
Если VDO не используется - bricks.yml
-
Если VDO используется - bricks_vdo.yml
-
-
Запустите плейбук с указанием инвентаризационного файла:
ansible-playbook -i inventory create_brick.yml
-
-
Проверьте, что брики доступны:
-
На портале администрирования перейдите
. -
Нажмите на имя любого хоста, который был указан для размещения новых бриков.
-
Перейдите на вкладку Устройства хранения.
-
Убедитесь, что в списке присутствуют новые брики.
Если новые брики не появились, нажмите Синхронизация и дождитесь окончания процесса. Новые брики должны появиться в списке.
-
3.1.3. Использование CLI
Для функционирования брика необходимо создать файловую систему XFS на отдельном блочном устройстве.
В качестве блочного устройства может выступать:
|
-
Отформатируйте раздел:
-
В случе без LVM:
mkfs.xfs /dev/mapper/<имя диска>
-
c LVM:
mkfs.xfs /dev/<имя группы>/<имя тома>
-
-
Создайте точку монтирования, например:
mkdir /brickN
-
Добавьте запись в fstab и перезагрузите список юнитов:
systemctl daemon-reload
-
Смонтируйте созданный брик:
mount -a
Для создания брика с кэшированием (например кеш на SSD, основные данные на HDD) выполните следующие действия:
-
Подготовьте диски(или разделы на них) (в примере, <fast> - диск SSD\NVME, а <slow> диск на HDD):
pvcreate /dev/mapper/<fast> pvcreate /dev/mapper/<slow>
-
Создайте группу томов с использованием созданных PV (в примере,
brickN
- имя группы):vgcreate brickN /dev/mapper/<fast> /dev/mapper/<slow>
-
Создайте логический том под кеш (в примере,
brickN_cache
- имя создаваемого тома):lvcreate -L <размер кэша>G -n brickN_cache brickN /dev/mapper/<fast>
-
Выключите том кэша:
lvchange -an /dev/brickN/brickN_chache
-
Создайте новый том (в примере,
brickN_lv
- имя создаваемого тома):lvcreate --type writecahce -L<размер брика>G -n brickN_lv --cachevol brickN_cache brickN /dev/mapper/<slow>
-
Отформатируйте и смонтируйте тома по инструкции выше.
3.2. Сброс бриков
Сброс позволяет переконфигурировать брик как при его первоначальном добавлении в кластер, используя те же UUID, имя хоста и путь.
Операция сброса бриков доступна только для томов типа Репликация. |
-
На портале администрирования перейдите в
. -
Нажмите на имя тома, брик которого необходимо сбросить.
-
Откройте вкладку Брики.
-
Выделите нужный брик и нажмите Сбросить брик.
-
В появившемся окне нажмите ОК для подтверждения сброса.
3.3. Замена бриков
Замена брика может потребоваться в случаях, когда происходит физический сбой диска, на котором расположен брик, или когда необходимо увеличить объем хранилища путем замены брика на более объемный.
-
В среде существует неиспользуемый брик. Если свободные брики отсутствуют, их можно создать по инструкции.
-
Размер нового брика не менее размера заменяемого.
3.3.1. На портале администрирования
-
На портале администрирования перейдите в
. -
Нажмите на имя тома, брик которого необходимо сбросить.
-
Откройте вкладку Брики.
-
Выделите нужный брик и нажмите Заменить брик.
-
В появившемся окне выберите хост с новым бриком и каталог брика.
-
Нажмите ОК.
3.3.2. С помощью CLI
-
Подключитесь к консоли хоста, на котором необходимо заменить брик.
-
Выполните коменду для замены брика:
gluster volume replace-brick <volname> <oldbrick> <newbrick> commit force
-
После замены запустится процесс самовосстановления. За его прогрессом можно наблюдать с помощью следующей команды:
gluster volume heal <volume> info
3.4. Удаление бриков
3.4.1. На портале администрирования
-
На портале администрирования перейдите в
. -
Нажмите на имя тома, брик которого необходимо сбросить.
-
Откройте вкладку Брики.
-
Выделите нужный брик.
-
Если брик удаляется из тома типа Распределение:
-
Нажмите Удалить.
-
В открывшемся окне подтвердите операцию, нажав OK.
-
-
Если брик удаляется из тома типа Репликация:
Удалить брик из тома типа Репликация можно только при наличии 4 и более бриков. -
Нажмите Сбросить брик.
-
Дождитесь окончания операции.
-
Нажмите Удалить.
-
В открывшемся окне подтвердите операцию, нажав OK.
-
-
3.4.2. С помощью CLI
-
Подключитесь к консоли хоста, на котором необходимо удалить брик.
-
Выполните команду для удаления брика:
gluster volume remove-birck <volname> <brick>
Если брик удаляется из реплицируемого тома, необходимо понизить уровень реплики. В этом случае используйте следующую команду (в примере, количество реплик снижается с 4 до 3):
gluster volume remove-birck <volname> replica 3 <brick>
4. Управление томами
4.1. Добавление томов Gluster
В этом разделе описаны способы добавления томов в гиперконвергентный кластер. Добавленные тома могут быть использованы для добавления новых доменов хранения.
Перед добавлением томов, убедитесь, что соблюдены следующие требования:
-
Хосты, на которых будут создаваться тома, добавлены в гиперконвергентную среду.
-
На хостах присутствуют неиспользуемые брики.
При создании тома учитывайте следующее:
|
4.1.1. На портале администрирования
-
На портале администрирования перейдите в
и нажмите Новый. -
В окне создания тома:
-
При необходимости измените Центр данных и Кластер томов.
-
Введите Имя нового тома.
-
Выберите тип тома. Доступны следующие значения:
-
Распределение - данные распределяются по добавленным в том брикам без репликации. Данный вариант может быть использован если требования к высокой доступности и надежности не важны или обеспечиваются на других уровнях.
-
Репликация - данные реплицируются между бриками тома. Данный вариант рекомендуется использовать в средах, для которых критичны высокая доступность и высокая надежность.
-
Распределенная репликация - данные распределяются по реплицируемым брикам тома. Данный вариант рекомендуется использовать в средах, где важны высокая надежность и масштабируемость. Этот тип тома обеспечивает повышенную производительность чтения в большинстве сред.
-
-
Если выбран тип Репликация или Распределенная репликация, то можно активировать опцию Том арбитр. При включении этой опции один брик будет использован только для репликации метаданных. Такой вариант подходит для сред, где критически важна консистентность, но пространство хранилища ограничено.
-
Убедитесь, что опция Тип транспорта TCP активна.
-
Нажмите Добавить брики для открытия окна добавления бриков в том. В этом окне:
-
Если выбран тип Репликация или Распределенная репликация, укажите количество реплик.
-
Выберите нужный хост.
-
Выберите нужный брик на хосте.
-
Нажмите Добавить.
-
Повторите операцию со всеми необходимыми хостами и бриками.
-
Опция Разрешить повторное использование бриков в корневом разделе с очисткой атрибутов позволяет повторно использовать брики, если ранее они были частью другого тома.
Будьте внимательны, эта опция полностью удаляет содержимое брика и очищает его атрибуты.
-
Нажмите OK.
-
-
Дополнительно, для повышения безопасности в поле Разрешить доступ можно указать IP-адреса или FQDN хостов в кластере, которым будет разрешен доступ к созданному тому. Значение
*
означает, что доступ разрешен всем. -
Активируйте опцию Оптимизировать для виртуальных машин, чтобы настроить том для хранения образов виртуальных машин.
-
Нажмите OK.
-
-
Дождитесь активации тома. Если том не активировался автоматически, выделите его и нажмите Запустить.
После активации тома его можно подключить в среду в качестве домена хранения.
4.1.2. С помощью CLI
-
Подключитесь к консоли хоста, находящегося в кластере.
-
Создайте том:
-
Для создания реплицированного тома:
gluster volume create <имя тома> replica 3 host1:/brick1/v1/ host2:/brick1/v1/ host3:/brick1/v1/
Если используется несколько бриков на одном хосте, нужно сначала перечислить хосты, а потом брики. Например:
gluster volume create <имя тома> replica 3 host1:/brick1/v1/ host2:/brick1/v1/ host3:/brick1/v1/ host1:/brick2/v1/ host2:/brick2/v1/ host3:/brick2/v1/
-
Для создания реплицированного тома с арбитром:
gluster volume create <имя тома> replica 2 arbiter 1 host1:/brick1/v1/ host2:/brick1/v1/ host3:/arb/v1
-
-
-
Настройте том для работы с виртуализацией:
gluster volume set engine group virt gluster volume set engine storage.owner-gid 36 gluster volume set engine stourage.owner.uid 36
-
Запустите том:
gluster volume start <volname>
После активации тома его можно подключить в среду в качестве домена хранения.
4.2. Расширение томов Gluster
Этот раздел содержит инструкцию по расширению существующего тома путем добавления новых бриков на существующих гиперконвергентных хостах.
Перед добавлением бриков в существующий том, убедитесь, что соблюдены следующие требования:
-
На хостах присутствуют неиспользуемые брики.
4.2.1. На портале администрирования
-
На серверах, на которые планируется расширить том, создайте новые брики, используя инструкции в разделе Добавление бриков.
-
Добавьте новые брики в том:
-
На портале администрирования перейдите в
. -
Нажмите на имя нужного тома для перехода в подробное представление и откройте вкладку Брики.
-
Нажмите добавить.
-
В окне добавления брика:
-
Для томов типа Репликация или Распределенная репликация, измените количество реплик в соответствии с количеством добавляемых бриков.
-
Для тома типа распределённая репликация количество бриков должно быть кратно количеству реплик.
-
Для тома типа репликация количество бриков должно быть равно количеству реплик.
-
-
Выберите нужный хост.
-
Выберите директорию брика.
-
Нажмите Добавить.
-
Повторите операцию со всеми новыми хостами.
-
Опция Разрешить повторное использование бриков в корневом разделе с очисткой атрибутов позволяет повторно использовать брики, если ранее они были частью другого тома.
Будьте внимательны, эта опция полностью удаляет содержимое брика и очищает его атрибуты.
-
Нажмите OK.
-
-
Том автоматически синхронизируется с новыми бриками.
4.2.2. С помощью CLI
Для подключения нового брика в существующий том выполните следующие действия:
-
Подключитесь к консоли хоста, находящегося в кластере.
-
Выполните команду для добавления брика в том:
gluster volume add-brick <volname> replica <lvl> <host>:<brick>
Обратите внимание:
|
4.3. Подключение томов Gluster в качесте Data-доменов
После успешного создания томов Gluster, добавьте их в среду в качестве доменов хранения. Для этого:
-
На портале администрирования перейдите в
. -
Нажмите Новый домен.
-
В окне добавления домена:
-
Убедитесь, что заданы корректные центр данных и функция домена.
-
Установите Тип хранилища GlusterFS.
-
Выберите хост для подключения.
-
Введите имя добавляемого домена.
-
В разделе параметров домена:
-
Активируйте параметр Использовать управляемый том gluster.
-
В выпадающем списке Gluster выберите нужный том.
Тома распределённой репликации не отображаются в выпадающем списке.
Для подключения таких томов необходимо вручную указать путь к тому параметры монтирования. Например:
-
Путь:
10.252.11.103:/replication
-
В параметрах монтирования необходимо перечислить остальные хосты, с бриками данного тома:
backup-volfile-servers=10.252.11.104:10.252.11.105:10.252.11.106
.
-
-
При необходимости настройте дополнительные параметры.
-
-
Нажмите OK.
-
4.4. Перебалансировка тома
После расширения или сжатия тома путем удаления бриков (без переноса данных) необходимо перебалансировать данные между хостами. В не реплицированном томе для выполнения операции ребалансировки все хосты должны быть в сети. В реплицированном томе хотя бы один из бриков в реплике должен быть в сети.
-
На портале администрирования перейдите в
. -
Выделите нужный том.
-
Нажмите Профилирование > Перебалансировка.
Начнется процесс ребалансировки, и в столбце Активности, относящемся к данному тому, появится значок ребалансировки.
4.5. Удаление тома Gluster
4.5.1. На портале администрирования
-
Если том добавлен в качестве домена хранения сначала необходимо удалить домен:
-
На портале администрирования перейдите в
и переместите все образы в другой домен хранения. -
Переведите домен хранения в режим обслуживания и отключите его:
-
Перейдите в
и нажмите на имя нужного домена для перехода в подробное представление. -
Откройте вкладку Центр данных.
-
Нажмите Обслуживание (Maintenance), затем OK.
-
Нажмите Отсоединить (Detatch), затем OK.
-
-
Нажмите Удалить (Remove).
При желании установите флажок Форматирование домена, т.е. содержимое хранилища будет потеряно! (Format Domain, i.e. Storage Content will be lost!), чтобы стереть содержимое домена.
-
Нажмите OK
-
-
Удалите нужный том. Для этого:
-
На портале администрирования перейдите в
. -
Выделите нужный том и нажмите Остановить.
-
В появившемся окне подтвердите операцию, нажав OK.
-
Нажмите Удалить.
-
В появившемся окне подтвердите операцию, нажав OK.
-
4.5.2. С помощью CLI
-
Если том добавлен в качестве домена хранения сначала необходимо удалить домен:
-
На портале администрирования перейдите в
и переместите все образы в другой домен хранения. -
Переведите домен хранения в режим обслуживания и отключите его:
-
Перейдите в
и нажмите на имя нужного домена для перехода в подробное представление. -
Откройте вкладку Центр данных.
-
Нажмите Обслуживание (Maintenance), затем OK.
-
Нажмите Отсоединить (Detatch), затем OK.
-
-
Нажмите Удалить (Remove).
При желании установите флажок Форматирование домена, т.е. содержимое хранилища будет потеряно! (Format Domain, i.e. Storage Content will be lost!), чтобы стереть содержимое домена.
-
Нажмите OK.
-
-
Удалите нужный том. Для этого:
-
Подключитесь к консоли хоста, находящегося в кластере.
-
Остановите том:
gluster volume stop <volname>
-
Удалите том:
gluster volume delete <volname>
-