За всю историю блога я достаточно часто писал про все возможные расширения дисковой подсистемы Linux (кому интересно, могут сделать поиск по ключу «Диск»)
В части постов, успешным завершением процесса является выполнение команды «resize2fs«, с которой я получил достаточно интересную проблему на одном из серверов.
При попытке изменить расширенный раздел через resize2fs сервер выдал типовую ошибку «resize2fs: Operation not permitted While trying to add group #128«. Я связал это с недавним «розовым экраном» на esxi в результате которого сервер ушел в неконтролируемый ребут, и достаточно быстро нашел достаточно подробно лечение описанной проблемы:
Грузимся в single mode, монтируем систему на чтение:
mount -o remount, ro /
Чинимся:
# dumpe2fs /dev/mapper/vg_local-lv_root | grep Journal\ size Journal size: 128M # tune2fs -O ^has_journal /dev/mapper/vg_local-lv_root # tune2fs -j /dev/mapper/vg_local-lv_root Creating journal inode: done # dumpe2fs /dev/mapper/vg_local-lv_root | grep Journal\ size Journal size: 128M e2fsck -f /dev/mapper/vg_local-lv_root
Однако проблема никуда не исчезла!
«dmesg» принес уже другую ошибку «ext4_group_add:1605: No reserved GDT blocks, can’t resize«. Ошибка даже гуглится — https://access.redhat.com/solutions/1578083, вот только доступ к информации возможен только по подписке. Сюрприз!
Пробуем посмотреть количество свободных блоков:
# tune2fs -l /dev/mapper/vg_local-lv_root | grep -i gdt Reserved GDT blocks: 743
Блоки есть.
Если провести тест и создать img и постепенно его увеличивать, все работает:
dd if=/dev/zero of=ext4.img bs=1M count=1000 dev=$(losetup -vf ext4.img| cut -d" " -f4) mkfs.ext4 ${dev} 5M tune2fs -l ${dev} | grep -i gdt resize2fs ${dev} 15M tune2fs -l ${dev} | grep -i gdt resize2fs ${dev} 25M
Из нагугленного нашлась ссылка 2012 года http://www.spinics.net/lists/linux-ext4/msg35015.html, где автор также столкнулся с похожей проблемой.
У меня меня недавно было обновление ядра на 4 ветку для работы docker:
# lsb_release -rd Description: CentOS release 6.8 (Final) Release: 6.8 # uname -rvmpio 4.9.13-22.el6.x86_64 #1 SMP Sun Feb 26 22:18:35 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Ок. Перегружаемся с ядром 3.18 и раздел чудесным образом расширяется!
Данным решением не горжусь, но проблема решена и достаточно быстро.
Что произошло и как дальше с этим жить стоит разобраться отдельно, но явно не на продакшен системе.