Возможность работы с NAS доступна только в версии VMmanager Infrastructure.

NAS (Network Attached Storage) — это сетевое хранилище, обеспечивающее доступ к данным на уровне файлов. NAS может быть использовано для хранения образов ВМ и связанных клонов. 

Ограничения NAS


Миграция ВМ c дисками в NAS доступна только в другое NAS или файловое хранилище.

GlusterFS

Использование узлов кластера VMmanager в качестве узлов GlusterFS не поддерживается. Это может привести к:

  • снижению производительности ВМ и системы хранения данных из-за конфликтов доступа к ресурсам;
  • риску потери данных и снижению доступности хранилища из-за высокой нагрузки на сервер.

Логика работы


Чтобы подключить NAS к узлу кластера, на устройстве с NAS должна быть настроена NFS или кластерная файловая система. Кластерная файловая система — это система, которая может одновременно использоваться несколькими серверами. К таким системам относятся OCFS2, GlusterFS, CephFS, GFS2 и др.

Узлы кластера VMmanager получают доступ к NAS через примонтированную директорию, которая указывается при подключении хранилища.

Настройка файловой системы


В качестве примера рассматривается настройка NFS на серверах с ОС Astra Linux и AlmaLinux. Вы также можете использовать файловую систему на базе OCFS2, GlusterFS, CephFS или GFS2.

Astra Linux

NFS не поддерживает мандатное управление доступом и мандатный контроль целостности.

Для установки и настройки NFS используйте инструкции из официальной документации Astra Linux. Настройку сервера выполните на сервере с хранилищем, настройку клиента — на узлах кластера.

При настройке конфигурационного файла /etc/exports укажите для разделяемого ресурса параметр no_root_squash:

Пример конфигурации

/srv/vmshare 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)
CODE

Если на узлах кластера включена отказоустойчивость, для монтирования хранилища выполните команды: 

mount.nfs4 -o user,soft,timeo=5,retry=1 <NAS_IP>:/<NAS_DIR> /<NODE_DIR>
BASH
chmod -R 777 <NODE_DIR>
BASH

<NAS_IP> — IP-адрес хранилища

<NAS_DIR> — монтируемая директория на сервере хранилища

<NODE_DIR> — директория на узле кластера

AlmaLinux

  1. На сервере хранилища:
    1. Создайте директорию для монтирования. Например, /mnt/nfsshare/

      mkdir -p /mnt/nfsshare
      BASH
    2. Установите права на доступ к директории: 

      chown nobody:nobody /mnt/nfsshare
      BASH
      chmod 777 /mnt/nfsshare
      BASH
    3. Установите серверное ПО NFS: 

      dnf update -y
      BASH
      dnf -y install nfs-utils
      BASH
    4. Запустите сервис и добавьте его в автозагрузку: 

      systemctl start nfs-server.service
      BASH
      systemctl enable nfs-server.service
      BASH
    5. Добавьте IP-адреса узлов кластера в конфигурационный файл /etc/exports. Для этого для каждого узла кластера выполните команду: 

      echo '/mnt/nfsshare <NODE_IP>(rw,sync,no_subtree_check,no_root_squash)' >> /etc/exports && exportfs -vra
      BASH

      <NODE_IP> — IP-адрес узла кластера

    6. Разрешите подключения NFS в настройках файрвола: 

      firewall-cmd --permanent --add-port=2049/tcp
      BASH
      firewall-cmd --reload
      BASH
  2. На узлах кластера: 

    1. Установите клиентское ПО NFS: 

      dnf -y install nfs-utils nfs4-acl-tools
      BASH
    2. Запустите сервис и добавьте его в автозагрузку: 

      systemctl start nfs-client.target
      BASH
      systemctl enable nfs-client.target
      BASH
    3. Создайте директорию, к которой будет примонтировано хранилище. Например, /mnt/nas/

      mkdir -p /mnt/nas
      BASH
    4. Примонтируйте хранилище: 

      Если в кластере отключена отказоустойчивость

      mount.nfs4 <NAS_IP>:/mnt/nfsshare /mnt/nas
      BASH

      Если в кластере включена отказоустойчивость

      mount.nfs4 -o user,soft,timeo=5,retry=1 <NAS_IP>:/mnt/nfsshare /mnt/nas && chmod -R 777 /mnt/nas
      BASH

      <NAS_IP> — IP-адрес хранилища

    5. Добавьте примонтированный раздел в автозагрузку. Для этого добавьте в файл /etc/fstab строку: 

      <NAS_IP>:/mnt/nfsshare        /mnt/nas       nfs rw,suid,dev,auto,nouser,sync    0 0
      CODE

      <NAS_IP> — IP-адрес хранилища

Может быть полезно

Связанные статьи: