Общие сведения о системе хранения данных Lustre
Система хранения данных Lustre построена на основе параллельной сетевой (распределенной) файловой системе (ФС) Lustre. Отличительной особенностью этой ФС является высокая пропускная способность передачи данных, которая достигается за счет распараллеливания запросов со множества клиентов ФС к множеству распределенных сервисов ФС Lustre.
Каждый сервис ФС Lustre относится к одному из трёх типов сервисов ФС Lustre: MGS, MDS, OSS - и выполняет в соответствии со своим типом определенную функцию:
-
Сервис типа MGS (management service) хранит данные о файловых системах, сервисах и устройствах хранения (таргетах).
-
Сервис типа MDS (metadata service) хранит метаданные файлов, а также информацию о распределении фрагментов файлов по сервисам объектного хранения OSS.
-
Сервис типа OSS (object storage service) хранит блоки данных, т.е. содержимое файлов пользователей ФС.
Каждый сервис ФС Lustre использует для непосредственного хранения своих данных выделенное специально для него хранилище, таргет. В соответствии с типами сервисов, соответствующие им таргеты также можно разделить на три типа: MGT, MDT, OST.
Таргет полностью отвечает за хранение данных, в том числе и за отказоустойчивость этого хранения. В ФС Lustre предполагается, что таргеты отказоустойчивы и дополнительных методов обеспечения целостности данных при отказах дисков на сервисах Lustre не применяется, поэтому очень важно обеспечить отказоустойчивость таргетов. Для обеспечения отказоустойчивости системы по дискам, как правило, таргеты создаются поверх программных или физических RAID-массивов дисков.
Таким образом, хранение и обработка данных в ФС Lustre осуществляется на трёх логических уровнях: - сервисы, - таргеты, - RAID-массивы.
Клиенты ФС Lustre взаимодействуют с сервисами ФС Lustre, сервисы используют таргеты для хранения данных, таргеты используют дисковое пространство, предоставляемое им RAID-массивами, которые осуществляют непосредственное взаимодействие с дисками системы хранения данных.
Ниже представлена классическая архитектура ФС Lustre.
Отказоустойчивость СХД Lustre
Защита от потери данных в случае отказа дисков СХД обеспечивается за счет избыточности данных, реализуемой в RAID-массивах. Защита от потери данных в случае отказа сервера СХД обеспечивается за счет избыточного количества сервисов, размещенных на разных серверах СХД. Для каждого активного сервиса на других узлах СХД запускаются его пассивные копии, которые становятся активными при отказе текущего активного сервиса. Количество таких копий может быть любым. Активная и все пассивные копии каждого сервиса имеют доступ к одному и тому же таргету, поэтому при переключении активного сервиса потери данных не происходит.
Ниже на рисунке представлен пример, иллюстрирующий работу сервиса MDS в режиме Active/Passive.
В случае отказа узла Node1 и при попытке доступа к данным, хранящимся в таргете MDT0, на узле Node2 происходит автоматический переход сервиса MDS0 из режима Passive в режим Active, и все операции ввода-вывода будут продолжены сервисом MDS0 с узла Node2.
Процедура создания СХД Lustre
Для создания СХД Lustre необходимо выполнить следующие шаги:
- Подключить диски к серверам хранения.
- Сделать из дисков RAID-массивы.
- Создать таргеты поверх RAID-массивов (zfs, ldiskfs).
- Запустить сервисы (MGS->MDS->OSS).
- Примонтировать ФС Lustre на узлах клиентах.
В каждой СХД на основе ФС Lustre должны присутствовать все три типа сервисов/таргетов/узлов хранения данных!