Заметки по sheepdog, сделанные после аварии

Один из дисков дошел до 100% заполнения, и его никак было не освободить.

Удаление ненужных файлов tmp невозможно было сделать никакими способами.

Пытались сначала делать усечение (cat /dev/zero > filename.tmp), а затем удаление. Не получилось, т.к. при схеме записи COW (Copy-On-Write) блоки реально не удаляются с диска.

После остановки узла, получилось отмонтировать командой:

fuser -mk /osd-04

После повтроного запуска узла, наблюдалось неправильное количество v-node:

Чтобы исправить надо делать reweight кластера:

dog cluster reweight

Теперь все хорошо. По 128 vnodes стало.

root@cu-rgpu-01:~# dog node list
  Id   Host:Port         V-Nodes       Zone
   0   10.212.0.101:7000    128 1694553098
   1   10.212.0.102:7000    128 1711330314
   2   10.212.0.103:7000    128 1728107530

Далее смотрим лог /var/lib/sheepdog/sheep.log

Там много записей типа copy policy 29c7a8 not found?

обратите внимание на 29c7a8 - это конкретный volume

Смотрим подробности:

ls -l /vm-rpool/volumes/osd-05/ | grep 29c7a8
...
-rw-r----- 1 root root  4194304 Dec 27 14:50 0029c7a80000c7ee

С 3-го по 8-ой символ имени файла - это идентификатор тома вот в выводе, вы увидите объекты, принадлежащие тому они начинаются с 00 29c7a8  это хэшкод имени тома или его ID если же начинается с 8 файл - это метаданные тома в принципе, какой то объект не может быть найден, можно сделать попытку найти его в /vm-rpool/volumes/osd-4 и 5 потом, просто его можно скопировать в нужный vdi Надо выгрузить списки файлов по 29c7a8 из двух каталогов и сравнить.

Кроме того, надо следить за рамером логов в разеделе /var/lib/sheepdog и периодически перемещать старые логи на /vm-rpool/volumes Сейчас диски будут доступны. Они были недоступны в момент, когда мы остановили sheepdog на первом узле. сейчас, если диска еще нет, первый узел sheepdog отработает как gateway, перенаправляя запросы на другой узел и достанет объект со 2го или 3го узла. Сейчас будет работать, но медленнее.

Надо включать компрессию, т.к. данные жмутся в 1.27 раза - это очень хорошо.

Ограничение на уровне zfs пула не действенно и может привести к тем же последствиям Надо квоты выставлять на проекты.

Опубликовано: 28.12.2018