Ceph предоставляет файловую систему, которая работает поверх того же хранилища объектов, что и блочные устройства RADOS. Сервер метаданных (MDS) используется для сопоставления поддерживаемых RADOS объектов с файлами и каталогами, что позволяет Ceph предоставлять POSIX-совместимую, реплицированную файловую систему. Это позволяет легко настраивать кластерную, высокодоступную, общую файловую систему. Серверы метаданных Ceph гарантируют, что файлы равномерно распределены по всему кластеру Ceph В результате даже случаи высокой нагрузки не перегрузят один хост, что может быть проблемой при традиционных подходах к общим файловым системам, например, NFS.
PVE поддерживает как создание гиперконвергентной CephFS, так и использование существующей CephFS в качестве хранилища для хранения резервных копий, ISO-файлов и шаблонов контейнеров.
26.6.9.1. Сервер метаданных (MDS)
В кластере можно создать несколько серверов метаданных, но по умолчанию только один может быть активным. Если MDS или его узел перестает отвечать, становится активным другой резервный MDS. Ускорить передачу данных между активным и резервным MDS можно, используя параметр
hotstandby при создании сервера, или, после его создания, установив в соответствующем разделе MDS в
/etc/pve/ceph.conf параметр:
mds standby replay = true
Если этот параметр включен, указанный MDS будет находиться в состоянии warm, опрашивая активный, чтобы в случае возникновения каких-либо проблем быстрее взять на себя управление.
Этот активный опрос оказывает дополнительное влияние на производительность системы и активного MDS.
Для работы CephFS требуется настроить и запустить по крайней мере один сервер метаданных. MDS можно создать в веб-интерфейсе PVE ( → → и нажать кнопку Создать):
Или из командной строки, выполнив команду:
# pveceph mds create
26.6.9.2. Создание CephFS
Создать CephFS можно либо в веб-интерфейсе PVE ( → → и нажать кнопку Создать CephFS):
Или с помощью инструмента командной строки
pveceph, например:
# pveceph fs create --pg_num 128 --add-storage
В результате будет создана CephFS с именем cephfs, пул данных cephfs_data со 128 группами размещения и пул метаданных cephfs_metadata с четвертью групп размещения пула данных (32). Параметр --add-storage (опция Добавить как хранилище) добавит CephFS в конфигурацию хранилища PVE.
26.6.9.3. Удаление CephFS
Уничтожение CephFS сделает все ее данные непригодными для использования. Это действие нельзя отменить!
Чтобы полностью и корректно удалить CephFS, необходимо выполнить следующие шаги:
Отключить всех клиентов, не являющихся PVE (например, размонтировать CephFS в гостевых системах);
Отключить все связанные записи хранилища CephFS PVE (чтобы предотвратить автоматическое монтирование);
Удалить все используемые ресурсы из гостевых систем (например, ISO-образы), которые находятся на CephFS, которую нужно уничтожить;
Вручную размонтировать хранилища CephFS на всех узлах кластера с помощью команды:
# umount /mnt/pve/<STORAGE-NAME>
где <STORAGE-NAME> — имя хранилища CephFS в PVE.
Убедиться, что для этого CephFS не запущен ни один сервер метаданных (MDS), остановив или уничтожив их. Это можно сделать в веб-интерфейсе или в командной строке, выполнив команду:
# pveceph stop --service mds.NAME
чтобы остановить их, или команду:
# pveceph mds destroy NAME
чтобы уничтожить их.
Следует обратить внимание, что резервные серверы будут автоматически повышены до активных при остановке или удалении активного MDS, поэтому лучше сначала остановить все резервные серверы.
Теперь можно уничтожить CephFS, выполнив команду:
# pveceph fs destroy NAME --remove-storages --remove-pools
Это автоматически уничтожит базовые пулы Ceph, а также удалит хранилища из конфигурации PVE.
После этих шагов CephFS должен быть полностью удален, и при наличии других экземпляров CephFS, остановленные серверы метаданных можно снова запустить для работы в качестве резервных.