Масштабирование кластера хранилища
После развертывания кластера хранилища можно в любое время расширить его емкость хранения, добавив больше дисков хранилища (вертикальное масштабирование) или увеличив количество узлов хранилища (горизонтальное масштабирование). Также можно заменить диски хранилища на диски большего размера, следуя инструкциям в Замена дисков серверов.
Чтобы понять разницу между вертикальным и горизонтальным масштабированием, рассмотрим следующие сценарии:
- Вертикальное масштабирование. Кластер состоит из пяти узлов с 12 слотами для жестких дисков в каждом. Один диск используется для системы и метаданных, а 9 дисков используются для хранения на уровне 0. Хранилище резервных копий развертывается поверх кластера хранилища с режимом кодирования 3+2. Емкость хранилища резервных копий можно расширить, добавив еще два диска на каждый узел. В результате емкость хранилища увеличится на 2/9.
- Горизонтальное масштабирование. Кластер состоит из пяти узлов с 12 слотами для жестких дисков в каждом. Один диск используется для системы и метаданных, а 11 дисков используются для хранения на уровне 0. Хранилище резервных копий развертывается поверх кластера хранилища с режимом кодирования 3+2. Емкость и пропускную способность хранилища резервных копий можно расширить, добавив еще два узла того же размера (то есть с 12 дисками). В результате емкость хранилища увеличится на 2/5. Кроме того, чтобы максимизировать эффективность хранения, можно обновить режим кодирования до 5+2, как описано в Изменение схемы избыточности для хранилища резервных копий.
Перед добавлением новых дисков и узлов обратите внимание на следующие рекомендации по выбору их размера:
- Для уровня хранения рекомендуется иметь одинаковое количество дисков на узел. Тогда данные будут распределяться между узлами более равномерно.
- Наличие дисков одинакового размера помогает более равномерно распределить нагрузку. Внутри кластера использование диска пропорционально размеру диска. Например, если у вас есть диск на 10 ТБ и диск на 2 ТБ, при 50% загрузке кластера будет использоваться 5 ТБ и 1 ТБ соответственно.
Ограничения
- Диску можно назначить роль, только если его размер превышает 1 ГиБ.
- Системному диску можно назначить дополнительную роль, только если его размер не меньше 100 ГиБ.
- Жесткие диски с черепичной магнитной записью (SMR) можно использовать только с ролью Хранилище и только в случае, если на сервере есть твердотельный диск с ролью Кэш.
- Нельзя использовать на одном уровне хранилища стандартные и SMR-диски.
- Нельзя одновременно назначить роли системным и несистемным дискам.
Предварительные требования
- Кластер хранилища создается согласно описанию в разделе Развертывание кластера хранилища данных.
Для добавления дисков в кластер хранилища
Панель администратора
- На экране Инфраструктура > Узлы выберите имя узла.
- На вкладке Диски выберите новый диск без роли.
- На правой панели диска щелкните Назначить роль.
-
В окне Назначить роль выберите роль диска, в соответствии с которой вы хотите использовать диск:
-
[Только для твердотельных накопителей] Как хранить кэш записи
- Выберите роль Кэш.
- Выберите уровень хранилища, который следует кэшировать.
Для того чтобы диски использовали кэш, роль Кэш необходимо назначить до назначения роли Хранилище.
-
Как организовать хранение данных
- Выберите роль Хранилище.
- Выберите уровень хранилища для размещения данных. Чтобы повысить эффективность избыточности данных, не назначайте все диски сервера на один и тот же уровень. Вместо этого убедитесь, что каждый из уровней равномерно распределен по кластеру и на каждом сервере ему назначено по одному диску.
-
Включите кэширование данных и проверку контрольных сумм:
- Использовать диск SSD для кэширования и проверки контрольных сумм. Доступно и рекомендуется только для серверов с твердотельными накопителями.
- Включить проверку контрольных сумм (по умолчанию). Рекомендуется для серверов с жесткими дисками, так как обеспечивает повышенную надежность.
- Отключить проверку контрольных сумм. Не рекомендуется для производственной среды. В среде оценки или тестирования можно отключить проверку контрольных сумм для серверов с жесткими дисками для повышения производительности.
-
Как хранить метаданные кластера
Выберите роль Метаданные.
Рекомендуется не больше одного сервиса метаданных на сервер и не больше пяти сервисов метаданных для кластера.
-
[Только для твердотельных накопителей] Как хранить метаданные и кэш записи
- Выберите роль Метаданные+Кэш.
- Выберите уровень хранилища, который следует кэшировать.
-
- Нажмите Назначить.
Интерфейс командной строки
Используйте следующую команду:
vinfra node disk assign --disk <disk>:<role>[:<key=value,…>]
[--node <node>]
--disk <disk>:<role>[:<key=value,…>]-
Конфигурация диска в формате:
<disk>: идентификатор или имя дискового устройства<role>: роль диска (cs,mds,journal,mds-journal,mds-system,cs-system,system)- разделенные запятыми пары
key=valueс ключами (необязательно):tier: уровень диска (0, 1, 2 или 3)journal-tier: уровень диска журнала (кэша) (0, 1, 2 или 3)journal-type: тип диска журнала (кэша) (no_cache— без кэша,inner_cache— внутренний кэш илиexternal_cache— внешний кэш)journal-disk: идентификатор или имя устройства диска журнала (кэша)bind-address: IP-адрес привязки для сервиса метаданных
Например:
sda:cs:tier=0,journal-type=inner_cache.
Этот параметр можно указывать несколько раз. --node <node>- Идентификатор узла или имя хоста (по умолчанию:
node001.vstoragedomain)
Например, чтобы назначить роль cs для диска sdc на узле node003, запустите команду:
# vinfra node disk assign --disk sdc:cs --node node003
Вы можете просмотреть конфигурацию диска узла в выводе vinfra node disk list:
# vinfra node disk list --node node003 +--------------------------------------+--------+------+------------+-------------+---------+----------+---------------+------------+----------------+ | id | device | type | role | disk_status | used | size | physical_size | service_id | service_status | +--------------------------------------+--------+------+------------+-------------+---------+----------+---------------+------------+----------------+ | 2A006CA5-732F-4E17-8FB0-B82CE0F28DB2 | sdc | hdd | cs | ok | 11.2GiB | 125.8GiB | 128.0GiB | 1026 | active | | 642A7162-B66C-4550-9FB2-F06866FB7EA1 | sdb | hdd | cs | ok | 8.7GiB | 125.8GiB | 128.0GiB | 1025 | active | | 45D38CD2-3B94-4F0F-8864-9D51F716D3B1 | sda | hdd | mds-system | ok | 21.0GiB | 125.9GiB | 128.0GiB | 1 | avail | +--------------------------------------+--------+------+------------+-------------+---------+----------+---------------+------------+----------------+
Для добавления узлов в кластер хранилища
Панель администратора
- На экране Инфраструктура > Серверы щелкните по неназначенному серверу.
- На правой панели сервера нажмите Присоединить к кластеру.
- Нажмите Присоединить, чтобы автоматически назначить роли дискам и добавить сервер в текущее расположение. Вместо этого можно нажать значок шестерни, чтобы вручную настроить роли дисков или расположение сервера.
Интерфейс командной строки
Используйте следующую команду:
vinfra node join [--disk <disk>:<role>[:<key=value,…>]] <node>
--disk <disk>:<role>[:<key=value,…>]-
Конфигурация диска в формате:
<disk>: идентификатор или имя дискового устройства<role>: роль диска (cs,mds,journal,mds-journal,mds-system,cs-system,system)- разделенные запятыми пары
key=valueс ключами (необязательно):tier: уровень диска (0, 1, 2 или 3)journal-tier: уровень диска журнала (кэша) (0, 1, 2 или 3)journal-type: тип диска журнала (кэша) (no_cache— без кэша,inner_cache— внутренний кэш илиexternal_cache— внешний кэш)journal-disk: идентификатор или имя устройства диска журнала (кэша)bind-address: IP-адрес привязки для сервиса метаданных
Например:
sda:cs:tier=0,journal-type=inner_cache.
Этот параметр можно указывать несколько раз. <node>- Идентификатор узла или имя хоста
Например, чтобы добавить узел node002 в кластер хранилища и назначить роли дискам: mds-system на sda, cs на sdb и sdc, запустите команду:
# vinfra node join f59dabdb-bd1c-4944-8af2-26b8fe9ff8d4 --disk sda:mds-system \ --disk sdb:cs --disk sdc:cs
Добавленный узел появится в выводе vinfra node list:
# vinfra node list +--------------+--------------+------------+-----------+-------------+----------+ | id | host | is_primary | is_online | is_assigned | is_in_ha | +--------------+--------------+------------+-----------+-------------+----------+ | 09bb6b8<...> | node001<...> | True | True | True | False | | 187edb1<...> | node002<...> | False | True | True | False | +--------------+--------------+------------+-----------+-------------+----------+