Лабораторная работа 3. Ceph FS, Ceph Dashboard
ЗИспользовапускние файловой системы Ceph
Запуск ceph-mds
Чтобы услуга Ceph FS работала для клиентов, необходимо запустить демон сервера метаданных (MDS). Для этого создадим папку для демона, пользователя Ceph и запустим службу ceph-mds.
- Запустить демоны MDS на хостах ceph-02, ceph-03:
sudo mkdir -p /var/lib/ceph/mds/ceph-$HOSTNAME sudo ceph-authtool --create-keyring /var/lib/ceph/mds/ceph-$HOSTNAME/keyring \ --gen-key -n mds.$HOSTNAME sudo chown -R ceph. /var/lib/ceph/mds/ceph-$HOSTNAME sudo ceph auth add mds.$HOSTNAME osd "allow rwx" mds "allow" mon "allow profile mds" \ -i /var/lib/ceph/mds/ceph-$HOSTNAME/keyring sudo systemctl enable --now ceph-mds@$HOSTNAME
-
Либо использовать скрипт:
Скрипт для запуска на ceph-01
#!/bin/bash for NODE in ceph-02 ceph-03 do MDS_PATH=/var/lib/ceph/mds/ceph-$NODE; ssh $NODE \ "sudo mkdir -p $MDS_PATH; \ sudo ceph-authtool --create-keyring $MDS_PATH/keyring \ --gen-key -n mds.$NODE; \ sudo chown -R ceph. $MDS_PATH; \ sudo ceph auth add mds.$NODE osd 'allow rwx' mds 'allow' mon 'allow profile mds' \ -i $MDS_PATH/keyring; \ sudo systemctl enable --now ceph-mds@$NODE" done
-
Создание файловой системы
На любом узле кластера необходимо выполнить следующие команды:
-
Чтобы запустить файловую систему ceph, нужно создать два пула: пул для данных и пул для метаданных:
sudo ceph osd pool create cephfs_data 64 sudo ceph osd pool create cephfs_metadata 64
-
Создадим файловую систему:
sudo ceph fs new cephfs cephfs_metadata cephfs_data
С помощью данных команд можно просмотреть статус файловой системы:
sudo ceph fs ls sudo ceph mds stat sudo ceph fs status cephfs
-
Создадим пользователя для подключения к файловой системе и запишем ключ пользователя в отдельный файл:
sudo ceph fs authorize cephfs client.fsclient / rw -o /etc/ceph/ceph.client.fsclient.keyring sudo ceph auth get-or-create-key client.fsclient -o /etc/ceph/fsclient.secret
-
Необходимо скопировать файлы
/etc/ceph/fsclient.secret
и/etc/ceph/ceph.client.fsclient.keyring
на остальные узлы.
Проверка
-
На каждом узле кластера необходимо выполнить следующие команды:
sudo mkdir /mnt/cephfs sudo mount -t ceph fsclient@.cephfs=/ /mnt/cephfs -o secretfile=/etc/ceph/fsclient.secret
-
Проверить статус монтирования:
df -hT | grep ceph
-
На ceph-01 создать файл с произвольным текстом и поместить его в каталог
/mnt/cephfs
:echo "my text for ceph fs" | tee /mnt/cephfs/test.txt
-
Проверить содержание файла на других узлах:
ls /mnt/cephfs/ cat /mnt/cephfs/test.txt
Динамическая миграция ВМ с использованием Ceph FS
-
Поместим образ
cirros
в созданную файловую систему:sudo cp /tmp/cirros.img /mnt/cephfs/cirros.img
-
Запустим ВМ:
sudo virt-install --name cirros --graphics none \ --vcpus 1 --memory 128 --disk "vol=libvirt-pool/cirros" \ --import --autostart
-
Проверим работоспособность запущенной ВМ:
sudo virsh list --all sudo virsh console cirros
-
Дальнейшие действия аналогичны пунктам "Создание ресурса", "Миграция ресурса" лабораторной работы 2.
Запуск Ceph Dashboard
-
В работающем кластере Ceph панель мониторинга Ceph активируется с помощью:
sudo ceph mgr module enable dashboard
-
Сгенерируем и установим самоподписанный SSL сертификат:
sudo ceph dashboard create-self-signed-cert
-
Чтобы иметь возможность войти в систему, вам необходимо создать учетную запись пользователя и связать ее хотя бы с одной ролью. Ceph предоставляет набор предопределенных системных ролей, которые вы можете использовать. Чтобы создать пользователя
admin
с паролемpassword
и ролью администратора, можно воспользоваться следующими командами:echo "password" >> mypass sudo ceph dashboard ac-user-create admin -i mypass --force-password administrator rm mypass
-
В Openstack в группе безопасности добавить правило для порта 8443/tcp.
-
С помощью команды
sudo ceph mgr services
на одном из узлов кластера можно получить ссылки доступных сервисов. Пример вывода:{ "dashboard": "https://172.17.5.232:8443/" }