- Развёртывание GlusterFS на Linux
- Подготовка машин
- Настройка серверов
- Настройка клиентской машины
- Настройка томов
- Настройка Distributed Volume
- Настройка Replicated Volume
- Настройка Striped Volume
- Настройка Distributed Striped Volume
- Настройка Distributed Replicated Volume
- Другие команды GlusterFS
- Заключение
- Настраиваем распределенную файловую систему GlusterFS на трехузловом кластере под управлением Linux
- Настройка разрешения имен для приватной сети
- Файрвол, SELinux, AppArmor
- Установка NTPD
- Выбор фактора репликации
- Задание пространства для файловой системы
- Установка и настройка GlusterFS
- Добавление узлов в пул
- Создание тома хранения данных
- Настройка доступа к тому
- Монтирование тома
- Почему не Ceph
- Операционные системы Astra Linux
Развёртывание GlusterFS на Linux
Пошаговая инструкция по установке и настройке кластера серверов на примере CentOS Stream 8.3, Debian GNU/Linux 10.9 и Ubuntu Server 20.10 для организации распределённой файловой системы GlusterFS и объединение её в единое файловое хранилище.
Для этого нам потребуется:
- 2 сервера
- по одному дополнительному жёсткому диску на каждый сервер, где будут храниться данные
- 1 машина (желательно тоже серверная) для монтирования томов сервера
Подготовка машин
В первую очередь необходимо настроить имена хостов. В этой статье они организованы следующим образом:
- первый сервер — IP: 192.168.1.53 — glusterfs-srv1.local
- второй сервер — IP: 192.168.1.54 — glusterfs-srv2.local
- клиентская машина — IP: 192.168.1.50 — glusterfs-client.local
Это необходимо прописать в DNS-сервере. Если его нет, тогда на каждой машине открываем файл /etc/hosts
и в самом конце прописываем такие строчки:
Теперь на всех машинах останавливаем и выключаем FirewallD
В CentOS Stream устанавливаем пакет centos-release-gluster
Настройка серверов
Устанавливаем серверную часть GlusterFS
В CentOS Stream:
В Debian и Ubuntu Server:
Создаём каталог /mnt/data
Теперь необходимо разметить дополнительный жёсткий диск. Можно с помощью утилиты cfdisk
Лучше всего будет сделать один раздел sdb1 на жёстком диске sdb.
Далее форматируем созданный раздел, например в ext4
и монтируем его в /mnt/data
После этого открываем файл /etc/fstab
и в самом конце пропишем строчку:
Это позволит монтировать раздел при загрузке ОС.
Для проверки можно перезагрузить сервера
или выполнить команду, которая примонтируем все прописанные устройства с файла /etc/fstab
Теперь перезапускаем службу glusterd и включаем её в автозагрузку
Далее собираем наши сервера в кластер. Для этого с сервера с хостом glusterfs-srv1.local запускаем команду:
Должно появиться сообщение:
Можно также запустить со второго сервера команду:
Должно появиться такое же сообщение.
После этого на обоих серверах перезапустим службу glusterd
и проверим статус пулов:
Появится таблица со столбцами UUID, Hostname и State. State на всех хостах должен быть в режиме Connected.
Настройка клиентской машины
Устанавливаем клиентскую часть GlusterFS
В CentOS Stream:
В Debian и Ubuntu Server:
И создаём каталог /mnt/data, в который будут примонтированы тома из серверов
Настройка томов
GlusterFS поддерживает несколько типов распределения данных, объединённых в том (volume):
- Distributed Volume (распределённый) — распределение данных в случайном порядке между каталогами, входящими в том
- Replicated Volume (реплицируемый) — зеркальное распределение данных (в каждом томе одинаковые файлы)
- Striped Volume (разделённый по частям) — разбиение файлов по частям и хранение каждой части на отдельном сервере
- Distributed Striped Volume (распределённый и разделённый по частям) — разбиение файлов на части и распределение по каталогам
- Distributed Replicated Volume (распределённый и реплицируемый) — распределение данных в случайном порядке по каталогам, каждый из которых имеет свою зеркальную копию
Настройка Distributed Volume
На серверах создадим каталог /mnt/data/dv:
Создадим том на любом из серверов
должно появиться сообщение:
Теперь стартанём том dv-data
должно появиться сообщение:
На клиенте создадим каталог /mnt/data/dv-data
и примонтируем к нему том
Теперь открываем файл /etc/fstab
и в самом конце добавим такую строчку:
Для проверки перезагрузим машину
или примонтируем всё, что прописано в /etc/fstab
Настройка Replicated Volume
На серверах создадим каталог /mnt/data/rv
Создадим том на любом из серверов
должно появиться сообщение:
Теперь стартанём том rv-data
должно появиться сообщение:
На клиенте создадим каталог /mnt/data/rv-data
и примонтируем к нему том
Теперь открываем файл /etc/fstab
и в самом конце добавим такую строчку:
Для проверки перезагрузим машину
или примонтируем всё, что прописано в /etc/fstab
Настройка Striped Volume
На серверах создадим каталог /mnt/data/sv
Создадим том на любом из серверов
должно появиться сообщение:
Теперь стартанём том sv-data
должно появиться сообщение:
На клиенте создадим каталог /mnt/data/sv-data
и примонтируем к нему том
Теперь открываем файл /etc/fstab
и в самом конце добавим такую строчку:
Для проверки перезагрузим машину
или примонтируем всё, что прописано в /etc/fstab
Настройка Distributed Striped Volume
На сервере glusterfs-srv1.local создадим 2 каталога: /mnt/data/dsv1 и /mnt/data/dsv3
На сервере glusterfs-srv2.local также создадим 2 каталога: /mnt/data/dsv2 и /mnt/data/dsv4
Создадим том на любом из серверов
должно появиться сообщение:
Теперь стартанём том dsv-data
должно появиться сообщение:
На клиенте создадим каталог /mnt/data/dsv-data
и примонтируем к нему том
Теперь открываем файл /etc/fstab
и в самом конце добавим такую строчку:
Для проверки перезагрузим машину
или примонтируем всё, что прописано в /etc/fstab
Настройка Distributed Replicated Volume
На сервере glusterfs-srv1.local создадим 2 каталога: /mnt/data/drv1 и /mnt/data/drv3
На сервере glusterfs-srv2.local также создадим 2 каталога: /mnt/data/drv2 и /mnt/data/drv4
Создадим том на любом из серверов
должно появиться сообщение:
Теперь стартанём том drv-data
должно появиться сообщение:
На клиенте создадим каталог /mnt/data/drv-data
и примонтируем к нему том
Теперь открываем файл /etc/fstab
и в самом конце добавим такую строчку:
Для проверки перезагрузим машину
или примонтируем всё, что прописано в /etc/fstab
Другие команды GlusterFS
Просмотр списка пулов в кластере
Добавить новый пул в кластер
Удалить пул из кластера
Просмотр списка томов
Просмотр состояния тома
Остановка работы тома
Запуск ребалансировки тома
Просмотр состояния ребалансировки тома
Добавить раздел к тому
Удалить раздел из тома
Заключение
GlusterFS поднят, теперь остаётся лишь решить, какой тип распределения данных использовать, настроить его и запустить. Подойти к этому лучше серьёзно, так как необходимо учесть многие технические моменты.
Источник
Настраиваем распределенную файловую систему GlusterFS на трехузловом кластере под управлением Linux
В этом руководстве мы рассмотрим настройку распределенной файловой системы GlusterFS на кластере, состоящем из трех узлов. Кластерные файловые системы часто используются в отказоустойчивых системах для обеспечения общего хранилища файлов.
Мы не рекомендуем использовать кластерные системы в задачах, где предполагается интенсивная запись данных, требующая высоких показателей IOPS и прогнозируемую задержку IO. Однако, для задач, в которых операции чтения значительно преобладают над операциями записи и нет требований к ультранизкой задержке IO, кластерные файловые системы вполне могут использоваться.
Настройка разрешения имен для приватной сети
В рамках настройки будем полагать, что все узлы соединены доверенной приватной сетью, в которой они доступны по доменными именам:
- server1.private 10.0.0.1/24
- server2.private 10.0.0.2/24
- server3.private 10.0.0.3/24
Убедитесь, что серверы находятся в разных доменах отказа, чтобы не столкнуться с ситуацией, когда авария затронет сразу две или больше машин.
В ходе настройки будем предполагать, что используются серверы под управлением Debian 9, Ubuntu 16.04 или 18.04 или CentOS7.
Сначала на каждом сервере сформируем файл /etc/hosts, чтобы серверы «видели» друг друга по доменным именам:
После добавления этих строк убедитесь, что все серверы «видят» друг друга по доменным именам.
Файрвол, SELinux, AppArmor
Мы предполагаем, что для приватной сети весь трафик разрешен и не блокируется. AppArmor (Ubuntu, Debian), SELinux не накладывают ограничений или полностью отключены.
Установка NTPD
В кластерных системах очень важно, чтобы все серверы имели одинаковое время. Даже небольшой лаг времени может привести к проблемам. Для решения этой проблемы необходимо установить сервер NTPD на каждом из узлов.
Ubuntu, Debian Linux:
CentOS 7:
Выбор фактора репликации
Мы будем выполнять установку GlusterFS на 3 узла и использовать фактор репликации равный трем. Это позволяет потерять любой из узлов и при этом не столкнуться с ситуацией «split-brain», которая характерна для хранения данных с фактором репликации равным 2, когда каждая копия может считать себя правильной и продолжать функционировать, накапливая рассогласования.
Задание пространства для файловой системы
В реальной настройке для хранения данных GlusterFS выделяют отдельные дисковые устройства, на которых создается файловая система и отдается целиком под управление GlusterFS. В нашем варианте мы будем считать, что файловая система доступна по пути /opt/gluster, вы можете смонтировать к этому каталогу свое устройство с файловой системой или использовать пространство корневой системы, как будем делать мы.
На каждом узле создадим каталог /opt/gluster-volume:
При выделении отдельного устройства для тома GlusterFS рекомендуется создать на нем файловую систему XFS
Установка и настройка GlusterFS
На каждом узле выполним установку GlusterFS и активируем сервер. На случай, если установочная информация устареет, вы можете обратиться к разделу оригинальной документации GlusterFS.
Debian Linux:
Ubuntu Linux 16.04, 18.04:
CentOS 7:
Добавление узлов в пул
Для добавления узлов в пул узлов необходимо на любом из узлов выполнить команду:
Посмотреть добавленные в пул узлы можно командой:
Создание тома хранения данных
Теперь, когда все серверы находятся в пуле, можно создать том для хранения данных. Поскольку в нашем примере том создается в корневой файловой системе, нам придется использовать аргумент force.
Убедиться в том, что том создан можно с помощью команды:
Для активации тома его необходимо запустить:
Теперь можно запросить состояние тома gfs:
Информация о томе:
Настройка доступа к тому
Для настройки безопасности выполните следующие команды, которые позволяют получать доступ к тому только этим трем серверам, на которых установлен GlusterFS, если у вас есть другие клиенты, их необходим тоже добавить:
Монтирование тома
Проверим монтирование тома в ручном режиме, выполнив на каждом узле:
Проверим, что в файловую систему можно добавлять файлы и они становятся доступны на других узлах. Запустите эту команду на любом из узлов:
Проверьте на двух других узлах, что файл доступен:
Добавьте на каждом хосте запись в /etc/fstab для автоматического монтирования тома при запуске системы:
Перезапустите каждый сервер поочередно для того, чтобы убедиться, что после старта сервер автоматически монтирует каталог /mnt/gluster:
Почему не Ceph
По сравнению с GlusterFS Ceph более сложна в настройке и более тяжеловесна (MON,OSD, MDS). Для распределенных файловых систем начального уровня, которые развертываются на малом количестве узлов GlusterFS выглядит более предпочтительной и легковесной.
Источник
Операционные системы Astra Linux
Оперативные обновления и методические указания
Операционные системы Astra Linux предназначены для применения в составе информационных (автоматизированных) систем в целях обработки и защиты 1) информации любой категории доступа 2) : общедоступной информации, а также информации, доступ к которой ограничен федеральными законами (информации ограниченного доступа).
1) от несанкционированного доступа;
2) в соответствии с Федеральным законом от 27.07.2006 № 149-ФЗ «Об информации, информационных технологиях и о защите информации» (статья 5, пункт 2).
Операционные системы Astra Linux Common Edition и Astra Linux Special Edition разработаны коллективом открытого акционерного общества «Научно-производственное объединение Русские базовые информационные технологии» и основаны на свободном программном обеспечении. С 17 декабря 2019 года правообладателем, разработчиком и производителем операционной системы специального назначения «Astra Linux Special Edition» является ООО «РусБИТех-Астра».
На web-сайтах https://astralinux.ru/ и https://wiki.astralinux.ru представлена подробная информация о разработанных операционных системах семейства Astra Linux, а также техническая документация для пользователей операционных систем и разработчиков программного обеспечения.
Мы будем признательны Вам за вопросы и предложения, которые позволят совершенствовать наши изделия в Ваших интересах и адаптировать их под решаемые Вами задачи!
Репозитория открытого доступа в сети Интернет для операционной системы Astra Linux Special Edition нет. Операционная система распространяется посредством DVD-дисков.
Информацию о сетевых репозиториях операционной системы Astra Linux Common Edition Вы можете получить в статье Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов.
В целях обеспечения соответствия сертифицированных операционных систем Astra Linux Special Edition требованиям, предъявляемым к безопасности информации, ООО «РусБИтех-Астра» осуществляет выпуск очередных и оперативных обновлений.
Очередные обновления (версии) предназначены для:
- реализации и совершенствования функциональных возможностей;
- поддержки современного оборудования;
- обеспечения соответствия актуальным требованиям безопасности информации;
- повышения удобства использования, управления компонентами и другие.
Оперативные обновления предназначены для оперативного устранения уязвимостей в экземплярах, находящихся в эксплуатации, и представляют собой бюллетень безопасности, который доступен в виде:
- инструкций и методических указаний по настройке и особенностям эксплуатации ОС, содержащих сведения о компенсирующих мерах или ограничениях по примене- нию ОС при эксплуатации;
- отдельных программных компонентов из состава ОС, в которые внесены изменения с целью устранения уязвимостей, инструкций по их установке и настройке, а также информации, содержащей сведения о контрольных суммах всех файлов оперативного обновления;
- обновлений безопасности, представляющих собой файл с совокупностью программных компонентов из состава ОС, в которые внесены изменения с целью устранения уязвимостей, а также информации, содержащей сведения о контрольных суммах всех файлов обновлений безопасности, указания по установке, настройке и особенностям эксплуатации ОС с установленными обновлениями безопасности.
Ввиду совершенствования нормативно-правовых документов в области защиты информации и в целях обеспечения соответствия информационных актуальным требованиям безопасности информации, а также обеспечения их долговременной эксплуатации, в том числе работоспособности на современных средствах вычислительной техники, рекомендуется на регулярной основе планировать проведение мероприятий по применению очередных и оперативных обновлений операционной системы.
Источник