TGViewer
Неопознанный кактус Неопознанный кактус @kvktyc · 33 subscribers
Post #117 57
FreeBSD с UFS на криво размеченном диске

Столкнулся я тут с проблемой при развертывании VPS из моего образа системы (образ официальный, но для хостера - мой). Прежде я разворачивался из ZFS-образов, там проблем не было, это крайне прогрессивная файловая система, но она во-первых избыточно прогрессивная, а во-вторых прогрессивность сильно не бесплатная. И когда мне понадобился микроинстанс с буквально 1Гб RAM - ZFS туда воткнуть конечно можно, но это прям боль и преодоления. Зачем, если есть замечательная UFS? (Unix Fast File System). Она же кстати родственник AAPFS (эпловской), но развиваются давно параллельно.

Так вот, всё замечательно развернулось, кроме того, что система видит лишь 5G из реальных 50 (и ей их хватило с заделом, что интересно). Диск я переразметил и расширил, о чем даже успел здесь опубликовать заметку. Но нет - выяснилось, что место "присвоено", но не "освоено", а выполнить growfs никакими уговорами не удалось: "Device Busy".

Что я только ни делал, как я там только не загружался в single user mode - ни в какую. Я так понял причина в сетапе из RAID, EFI и того как это всё привинчено на сам корневой раздел. Требовать что-то от хостера я не могу, они и так идут мне навстречу, принимая от меня кастомные образы систем, так что я взялся решать вопрос сам. Можно было конечно докинуть еще гигабайт оперативки и взять ZFS, но это не по спортивному, мы сдаваться не привыкли.

Вот как всё в итоге получилось сделать:

# gpart show da0
=> 34 125833142 da0 GPT (5G)
34 121 1 freebsd-boot (61K)
155 66584 2 efi (33M)
66739 2097152 3 freebsd-swap (1.0G)
2163891 10485760 4 freebsd-ufs (5.0G)
12649651 31565 - free - (15M)


Наш единственный диск (da0) надо "восстановить"
# gpart recover da0

Теперь свободное место определилось, создаем отдельную партицию
# gpart add -t freebsd-ufs -l data da0

# gpart show da0
=> 34 125833142 da0 GPT (60G)
34 121 1 freebsd-boot (61K)
155 66584 2 efi (33M)
66739 2097152 3 freebsd-swap (1.0G)
2163891 10485760 4 freebsd-ufs (5.0G)
12649651 31565 - free - (15M)
12681216 113147904 5 freebsd-ufs (54G)
125829120 4056 - free - (2.0M)


Создадим файловую систему
# newfs -U /dev/da0p5

Создаем точку монтирования
# mkdir /mnt/disk

Монтируем раздел
# mount /dev/da0p5 /mnt/disk

Переносим систему целиком через dump и restore на новый диск
# cd /mnt/disk
# dump -0af - / | restore -rf -\


Теперь нужно в скопированном fstab изменить точку монтирования
# ee /mnt/disk/etc/fstab
Меняем строку с корневой точкой монтирования, у меня это было
/dev/gpt/rootfs / ufs rw,noatime 1 1
На
/dev/da0p5 / ufs rw,noatime 1 1

И теперь самое важное: меняем загрузочный раздел
# gpart set -a bootme -i 5 da0

Перезагружаемся
# shutdown -r now

И попадаем в систему с новой точки монтирования
# gpart show da0
=> 34 125833142 da0 GPT (60G)
34 121 1 freebsd-boot (61K)
155 66584 2 efi (33M)
66739 2097152 3 freebsd-swap (1.0G)
2163891 10485760 4 freebsd-ufs (5.0G)
12649651 31565 - free - (15M)
12681216 113147904 5 freebsd-ufs [bootme] (54G)
125829120 4056 - free - (2.0M)


Конечно если бы у меня был физический доступ к системе, я бы полностью переразметил диски и не осталось бы даже артефактов прежней разметки, но такой способ добиться своего тоже вполне себе рабочий.
  • 🤯 4
  • 👍 1
More from @kvktyc
  1. Sep 13, 2026Не тот саундтрек сделали к игре, не тот. И аккорды нам расставили не те, но эту песню возм…
  2. Sep 12, 202626 дюймовый монитор, на котором в 1995 Джон Кармак работал над Quake: Intergraph InterView…
  3. Sep 12, 2026С детства за космос Я вырос на этой фантастике, зачитал до дыр все книги Ефремова, Стругац…
  4. Sep 12, 2026Русский космизм У нас есть очень здравое и ценное наследие в культуре восприятия космоса и…
  5. Sep 11, 2026Платформы Немного странно, что купленная в Steam игра, она же на PlayStation и она же на X…
  6. Sep 9, 2026Программист ИИ Claude бежал из бизнеса из-за «угрозы человечеству» Специалист по обучению…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →