Назад | Перейти на главную страницу

Как я могу восстановить общий размер каталога с помощью Gluster Self-Heal

Я строю кластер glusterfs, тип - Striped Replicated Volumes с 4 такими серверами:

Volume Name: test-volume
Type: Striped-Replicate
Volume ID: bdb596e6-a7d2-44a4-8791-1b4fdc57469c
Status: Started
Number of Bricks: 1 x 2 x 2 = 4
Transport-type: tcp
Bricks:
Brick1: 10.90.245.18:/exp1
Brick2: 10.90.245.35:/exp2
Brick3: 10.90.245.36:/exp3
Brick4: 10.90.245.37:/exp4

Я монтирую его с клиента, а файл размером 100 ГБ загружаю на тестовый том. Каждый файл на сервере должен быть 50Гб. Пока я загружаю данные в кластер, я выключаю сервер кластера. Пока клиент завершает загрузку файла, запустите сервер и запустите службу glusterd. А потом вот такая информация по лечению блеска:

root@alyrokif:/exp1# gluster volume heal test-volume info
Gathering Heal info on volume test-volume has been successful

Brick 10.90.245.18:/exp1
Number of entries: 0

Brick 10.90.245.35:/exp2
Number of entries: 0

Brick 10.90.245.36:/exp3
Number of entries: 0

Brick 10.90.245.37:/exp4
Number of entries: 0

и каталог хранилища на перезапущенном сервере, например:

root@xetvmcjg:/exp2# ll -h
total 742M
drwxr-xr-x  3 root root 4.0K Mar 28 16:37 ./
drwxr-xr-x 24 root root 4.0K Mar 27 16:30 ../
drw------- 72 root root 4.0K Mar 28 16:36 .glusterfs/
-rw-r--r--  2 root root 50G Mar 28 16:37 testfile

В остальных 3 серверах было 50G. Но на перезапущенном сервере было всего 742 МБ. Итак, как я могу сделать эти 742 МБ на 50 ГБ.

Я предполагаю, что вы используете Gluster 3.3

Gluster выполняет проактивное самовосстановление, хотя, возможно, потребуется подтолкнуть его, чтобы это заметить. Это может быть вызвано доступом к файлу со стороны клиента, что должно заставить его (в течение 10 минут) заметить, что синхронизация не завершена, и начать лечение.

Вы также можете принудительно исцелить:

gluster volume heal testvol

И заставить его лечить все на томе, независимо от необходимости (это может занять чрезвычайно долго если у вас много файлов)

gluster volume heal testvol full

Вы уже нашли команду для отслеживания прогресса заживления, хотя это также отражено в файлах журнала gluster.