CephFS — это POSIX-совместимая файловая система, работающая поверх кластера Ceph. Она наследует ключевые свойства Ceph: избыточность, масштабируемость, самовосстановление и высокую доступность.
PVE может управлять собственным кластером Ceph (см.
Кластер Ceph), что упрощает развёртывание CephFS. Современное оборудование позволяет запускать службы хранения и ВМ на одних и тех же узлах без значительного влияния на производительность.
Хранилище типа cephfs поддерживает все общие свойства хранилищ PVE, а также:
monhost — IP-адреса мониторов (только для внешнего Ceph);
path — локальная точка монтирования (по умолчанию: /mnt/pve/<STORAGE_ID>/);
username — пользователь Ceph (только для внешнего кластера);
subdir — подкаталог CephFS для монтирования (по умолчанию — корень /);
fuse — доступ к CephFS через FUSE (по умолчанию 0).
Пример конфигурации (
/etc/pve/storage.cfg):
cephfs: cephfs-external
content backup
monhost 192.168.0.105
path /mnt/pve/cephfs-external
username admin
Допустимые типы содержимого:
backup — резервные копии;
iso — ISO-образы;
vztmpl — шаблоны контейнеров;
мини-сценарии — фрагменты конфигурации;
import — импорт данных.
Добавление хранилища CephFS:
Имя файловой системы CephFS можно узнать командой:
# ceph fs ls
Если используется аутентификация cephx (включена по умолчанию), необходимо предоставить файл ключа (keyring) из внешнего кластера Ceph.
При настройке хранилища в командной строке, предварительно сделать файл с ключом доступным. Один из способов — скопировать файл из внешнего кластера Ceph непосредственно на один из узлов PVE. Например, скопировать файл в каталог
/root узла:
# scp <external cephserver>:/etc/ceph/cephfs.secret /root/cephfs.secret
Команда настройки внешнего хранилища CephFS:
# pvesm add cephfs <name> \
--monhost "10.1.1.20 10.1.1.21 10.1.1.22" \
--content backup --keyring \
/root/cephfs.secret
При настройке внешнего хранилища CephFS в веб-интерфейсе файл ключа указывается в поле Секретный ключ. Он будет сохранён в: /etc/pve/priv/ceph/<STORAGE_ID>.secret.
Ключ можно получить из кластера Ceph:
# ceph auth get-key client.userid > cephfs.secret