Freebsd увеличение размера диска

Обновлено: 04.07.2024


Возникла проблема - на большом рейд 5 массиве закончилось свободное место, забэкапить куда-либо 1.5ТБ данных не предоставилось возможности.

Внимательно посмотрев на рейд контроллер удалось установить что он умеет в рабочий массив добавлять диски :).

Вырубаем сервер, втыкаем дополнительный винт, включаем, понеслось,
более суток новый винт вливался в общее пространстово 5 рейда.

Для наглядности sysinstall --> fdisk смотрим:

Видим что у нас появилось свободное место после нашего слайса s1, копируем последний сектор(3750067967) идем дальше

Нужно отмонтировать все разделы с данного жеского диска и проверить их на ошибки fsck.

Дальше fdisk`om поправляем размер как видит его система.

Смотрим что получилось

Поправляем размер партиции на наш новый "3750052887":

Хотя там и написано "raw" part, don't edit" надо в обеих строчках поменять размер.

*Важное примечание: growfs не может работать с разделами дисков больше 2Тб.

Далее делаем нашему растянутому разделу fsck -y
и можем смело монтировать.[i]

А где же в начале стать фраза что мол вы все делаете на свой страх и риск, и лучше сделать перед этим резервную копию?

Да чего ты несёшь то?
Американизируй всё блин.
Вы вааще ребята на свой страх и риск делаете!
И компьютер включаете!
И ещё не забудь дописать с какого сайта взял.
Тут люди делом заняты а не мозго(клюйством)

Написано же, что невозможно сделать резерв на 1,5 Тб :)
Да и нафик оно надо - умные люди сами догадаются, что им делать

Автор не упомянул, что RAID-массив железячный. Интересно посмотреть, как growfs работает с софтовыми райд-массивами.

Также думаю работает, growfs же уже в размеченой логически партиции работает, тут разници же нет железный он или нет.

Сложно мля написал, надо самому тестить дабы понять, подробнее распиши.

В каком слове не понятно?

Сделал по этой же статье резайз слайса /usr, в однопользовательском режиме, всё получилось. единственное - на этапе bsdlabel надо подключить /tmp и /usr, после не забыть отмонтировать.

lissyara, 2010-03-22 в 15:57:07

Нормально написано.
Тока что делал на amd64 FreeBSD8 - было / и swap
бутился с LiveFS CD, снёс из сисисталла swap, переразметился, создал на остатке swap заново - полёт нормальный =)

ОЛОЛО, 2010-12-16 в 5:15:22

Тупейшая статья.
при чём тут райд и изменение размера раздела?
Нахрен нужна и что делает growfs ?

Бесмыссленный набор действий без обьяснений что и зачем делается.

Alex Keda, 2010-12-16 в 8:58:25

Очень хорошо изложено. Для понимания что делается и зачем - достаточно.
Если вам недостаточно - читайте man по используемым командам.

2ОЛОЛО
Вы случаем не выпускник компьютерной академии "Шаг"?
Оттуда обычно выпускают людей, с подобной манерой поведения и уровнем профессионализма.

Gracer, 2011-07-28 в 3:54:27

Автору спасибо за хорошую статью, но под Vmware не прокатило. Кончилось место на почтовом серваке, забился /usr под завязку. Увеличить слайс удалось, а вот с bsdlabel -e . облом вышел. Причем /usr был последним разделом - вообще красота. Но после редактирования размеров разделов система писала: bsdlabel: Class not found, а growfs отказалась расти, указывая, что размер раздела не изменился.
Видимо, еще какая-то хитрость нужна под виртуальные системы.

Dmitriy_K, 2011-11-14 в 3:22:20

Yaroslav, 2012-10-05 в 13:05:24

Zezya, 2013-09-21 в 15:45:59

Спасибо за статью! Помогла оттолкнуться для решения своей задачи:
Увеличил диск на виртуалке proxmox для гостевой системы freebsd 9.1? там как водится GPT, поэтому манипуляции проводил через LIVE CD с утилитами gpart:
-recover (чтоб увиделось добавленное в секции free)
-delete (удалил SWAP, был последним мешал для расширения)
-resize (расширил последнюю, оставив место для SWAP)
-add (добавил SWAP)
ну и последний штрих growfs и fsck. Всё работает!
И тут вопрос: Расширить можно только последний раздел?

Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.


3. Далее смотрим сколько занимают текущие данные на диске "da0" и сколько свободного места не разбито: "gpart show da0".


4. Добавляем всё свободное пространство в активный геом "freebsd": "gpart resize -i 1 da0" и затем сохраняем изменения: "gpart commit da0s1".
5. Выполним "gpart show da0" и увидим, что теперь свободное пространство отсутствует, а наш активный геом увеличился в размере.


6. Командой "gpart show da0s1" отображаем состав геома "freebsd". Видим, что в нашем примере он состоит из двух разделов: основного и свопа.


Чтобы увеличить основой раздел "freebsd-ufs", необходимо удалить сначала своп. Затем его нужно будет пересоздать заново.
7. Удаляем второй раздел геома, являющийся свопом: "gpart delete -i 2 da0s1".


8. Расширяем основной раздел: "gpart resize -i 1 -a 4k -s 14G da0s1", указывая какого размера он должен стать.


9. Теперь остаётся только создать своп на оставшемся свободном месте: "gpart add -t freebsd-swap -a 4k da0s1".


10. Заключительный штрих - расширяем файловую систему на основном разделе командой: "growfs /dev/da0s1a".


После выполненных шагов перезагружаемся в обычном режиме.

Данная инструкция создавалась по файловой системе UFS. Что касается ZFS, то последовательность действий примерно такая же:
1. Загружаемся в режиме "Single User" и выполняем "ls /dev", чтобы узнать имена дисков и разделов.


2. Просматриваем количество доступного места: "gpart show da0". В этом случае расширяемый раздел является последним, поэтому при добавлении свободного места не требуется лишних манипуляций со свопом.


3. Расширяем геом "freebsd-zfs": "gpart resize -i 3 da0". Проверяем, добавилось ли место: "gpart show da0".


4. Командой "zpool list" просматриваем, какие пулы существуют в системе и какого они размера.


5. Расширяем необходимый пул: "zpool online -e zroot da0p3". Затем проверяем, корректно ли увеличился размер пула: "zpool list".

Данный факт, казалось бы, был всего нюансом (т.к. это был VPS сервер на выделенной машине VMWare ESXi).
Увеличить "физически" жесткий диск на виртуальной машине, как все понимают не предоставило проблем.

Но я и подумать не мог, что столкнусь с трудностями переопределения разметки тома файловой системы FreeBSD (UFS).
Как оказалось, Acronis - не умеет работать с этим типом файловой системы. И его дург Gparted (который можно скачать в LiveCD) тоже отказался понимать его (хотя должен, судя по списку поддерживаемых файловых систем).
Почему Gparted не понравился мой HDD, я разбираться не стал и сразу начал крутить маны по самой FreeBSD, результат приведен ниже.

Советую сразу перезагрузить систему в однопользовательском режиме (Single user), однако некоторые комманды становятся доступными если установить флаг:

Изменить разметку диска

И так, если был изменен HDD (например в виртуальной машине или добавлен HDD в раид массив), то необходимо обновить структуру конца диска, делается это утилитой gdisk:

В приведенном выше листинге выполняются следующие команды:

Изменить разметку разделов

После изменения разметки диска, нам нужно изменить разметку разделов, тут приходит на помощь утилита gpart.

В приведенном выше листинге, я удалил раздел подкачки и растянул основной раздел на все свободное место.

Изменить размер файловой системы

После изменения разметки разделов, необходимо изменить размер файловой системы, утилита growfs.

И в заключение - обязательно проверьте диск на ошибки:

Удачной Вам работы с дисками! И не забывайте главное правило - ЗАБЭКАПЬСЯ!

Источник : Google , Uni x -форумы и отдельно хочется отметить "Моя дикая страничка"

Комментарии (6)

Спасибо!
Готовлюсь к похожей операции.
Только один вопрос - а удаленный радел подкачки восстанавливать не надо?

Раздел подкачки - на ваше усмотрение. Создавайте если памяти мало (я в любом случае создаю).
Но данные из раздела подкачки - восстанавливать не надо.

Олег, добрый день. А как можно уменьшит диск?

забыл swapoff -a указать еще

стоит FreeBSD на Hyper-V, расширил диск с 30 до 100, но фряха видит прежний размер

ни как не могу увеличить. Подскажите как пожалуйста.


6 Янв 2020 22:01:28 | 2 комментария

Увеличение корневого раздела xfs без перезагрузки сервера (без LVM)

Очень часто при использовании виртуализации корневой раздел на машинах делают небольшим и в какой-то момент место на нем заканчивается, а подчистить уже ничего нельзя. Если бы использовался LVM (Logical Volume Manager), то расширение раздела не представляло бы проблем, но когда для корневого раздела не используется LVM, то его расширение без остановки сервера многим видится проблемным. На самом деле никаких проблем с расширением корневого раздела без перезагрузки нет.

Ниже читайте как можно быстро расширить корневой раздел с xfs (или ext4) без остановки сервера.

Исходные данные: Виртуальный сервер (гипервизор VMware) с ОС Oracle Linux 7 и корневым разделом с файловой системой xfs без LVM
Задача: Расширить корневой раздел сервера без перезагрузки и остановки работы сервисов.

Последовательность действий будет такая:

1. Увеличиваем виртуальный диск на котором располагается корневой раздел в VMware.

Думаю здесь нет ничего сложного. Заходим в VMware vSphere или если vSphere не используется, то просто в Web-интерфейс VMware, выбираем нашу VM и увеличиваем раздел на 10 Гигабайт.

Изначально системный диск у меня был размером 8 Гигабайт.

2. Расширение раздела и файловой системы в самой VM.

Нам нужно увеличить корневой раздел на диске vda, посмотрим какие разделы там есть (lsblk) и куда они примонтированы (mount):

Мы видим, что корневой раздел является вторым - vda2, имеет размер 7.5G (Гигабайт). Так же мы видим, что весь диск vda имеет размер 18G, то есть действия в п.1 прошли успешно, до этого vda был размером 8G (Гигабайт).

Посмотрим размер разделов и сколько там свободного места:

На корневом разделе свободно всего 986M (Мегабайт), а сам раздел имеет размер 7.5G (Гигабайт)

Для увеличения раздела нам понадобится утилита growpart, по умолчанию она не устанавливается. Установим ее.

Для Oracle (RedHat) Linux выполните:

Для Ubuntu (Debian) Linux выполните:

Синтаксис утилиты growpart простой:

Мы знаем, что у нас корневой раздел расположен на устройстве /dev/vda, а номер партиции - 2, увеличиваем раздел:

Теперь можно расширить файловую систему xfs на все пространство увеличенного раздела с помощью утилиты xfs_growfs. Если бы ФС корневого раздела была ext4, то мы бы воспользовались утилитой resize2fs.

По выводу "data blocks changed from XXX to YYY" мы можем констатировать, что расширение ФС прошло, проверим размер корневого раздела:

Мы видим, что раздел vda2 стал размером 17.5G (Гигабайт), а свободного места на корневом разделе xfs стало 11G (Гигабайт).

На этом все, до скорых встреч. Если у Вас возникли вопросы или Вы хотите чтобы я помог Вам, то Вы всегда можете связаться со мной разными доступными способами.

Читайте также: