Увеличить размер раздела на FreeBSD

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Solger
мл. сержант
Сообщения: 73
Зарегистрирован: 2008-02-04 13:28:44

Увеличить размер раздела на FreeBSD

Непрочитанное сообщение Solger » 2014-10-02 7:17:25

на сервере под управлением Freebsd 7.0 работают почта и веб-сервер. Сайты лежат на разделе usr - и общий обьём занятого дискового пространства достиг 77 % . Задача - увеличить обьём пространства на usr за счёт уменьшения раздела home. Настроен и работает Gmirror из двух дисков. Сервер в работе. Какие есть варианты?

Код: Выделить всё

FreeBSD XXXXXXXX 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #0: Fri Apr  2 17:48:14 OMSST 2010     admin@XXXXXXX:/usr/obj/usr/src/sys/GENERIC  i386

Код: Выделить всё

Filesystem            Size    Used   Avail Capacity  Mounted on
/dev/mirror/gm0s1a    4.7G    347M    4.0G     8%    /
devfs                 1.0K    1.0K      0B   100%    /dev
/dev/mirror/gm0s1g    142G    7.1G    123G     5%    /home
/dev/mirror/gm0s1d     47G    2.3G     41G     5%    /tmp
/dev/mirror/gm0s1f     95G     67G     20G    77%    /usr
/dev/mirror/gm0s1e    161G     87G     61G    59%    /var
Последний раз редактировалось f_andrey 2014-10-02 7:47:59, всего редактировалось 1 раз.
Причина: Автору. пожалуйста, выбирайте соответствующий раздел форума.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

snorlov
подполковник
Сообщения: 3846
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: Увеличить размер раздела на FreeBSD

Непрочитанное сообщение snorlov » 2014-10-02 8:01:34

Замечу между прочим, что у вас стоит 8-ка, а не 7-ка...
Вариантов множество, самый простой, перенести каталоги сайтов в /home, а на /usr сделать соответвующий симлинк, можно также разбить зеркало, загрузиться с1-го или второго, переразбить 2-ой диск или 1-вый, зафигачить на него новую копию (dump/restore), загрузиться со 2-го/1-го и заново создать зеркало...

guest
проходил мимо

Re: Увеличить размер раздела на FreeBSD

Непрочитанное сообщение guest » 2014-10-02 9:14:06

Solger писал(а):на сервере под управлением Freebsd 7.0 работают почта и веб-сервер. Сайты лежат на разделе usr - и общий обьём занятого дискового пространства достиг 77 % . Задача - увеличить обьём пространства на usr за счёт уменьшения раздела home. Настроен и работает Gmirror из двух дисков. Сервер в работе. Какие есть варианты?

Код: Выделить всё

FreeBSD XXXXXXXX 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #0: Fri Apr  2 17:48:14 OMSST 2010     admin@XXXXXXX:/usr/obj/usr/src/sys/GENERIC  i386

Код: Выделить всё

Filesystem            Size    Used   Avail Capacity  Mounted on
/dev/mirror/gm0s1a    4.7G    347M    4.0G     8%    /
devfs                 1.0K    1.0K      0B   100%    /dev
/dev/mirror/gm0s1g    142G    7.1G    123G     5%    /home
/dev/mirror/gm0s1d     47G    2.3G     41G     5%    /tmp
/dev/mirror/gm0s1f     95G     67G     20G    77%    /usr
/dev/mirror/gm0s1e    161G     87G     61G    59%    /var
что же Вы не показали вывод bsdlabel gm0s1

Solger
мл. сержант
Сообщения: 73
Зарегистрирован: 2008-02-04 13:28:44

Re: Увеличить размер раздела на FreeBSD

Непрочитанное сообщение Solger » 2014-10-02 14:14:03

Код: Выделить всё

[root@mail /etc]# bsdlabel /dev/mirror/gm0s1
# /dev/mirror/gm0s1:
8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
  a: 10179742  4194304    4.2BSD        0     0     0
  b:  4194304        0      swap
  c: 976751937        0    unused        0     0         # "raw" part, don't edit
  d: 102349704 14374046    4.2BSD        0     0     0
  e: 348085938 116723750    4.2BSD        0     0     0
  f: 204785710 464809688    4.2BSD        0     0     0
  g: 307156539 669595398    4.2BSD        0     0     0

guest
проходил мимо

Re: Увеличить размер раздела на FreeBSD

Непрочитанное сообщение guest » 2014-10-02 15:51:18

Solger писал(а):

Код: Выделить всё

[root@mail /etc]# bsdlabel /dev/mirror/gm0s1
# /dev/mirror/gm0s1:
8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
  a: 10179742  4194304    4.2BSD        0     0     0
  b:  4194304        0      swap
  c: 976751937        0    unused        0     0         # "raw" part, don't edit
  d: 102349704 14374046    4.2BSD        0     0     0
  e: 348085938 116723750    4.2BSD        0     0     0
  f: 204785710 464809688    4.2BSD        0     0     0
  g: 307156539 669595398    4.2BSD        0     0     0
смотрим выше и видим какая партиция за кем следует на слайсе:

Код: Выделить всё

d: 102349704 14374046           --> /tmp    47GB (41GB free)
e: 348085938 116723750         --> /var    161GB (61GB free)
f: 204785710 464809688         --> /usr      95GB (20GB free)
g: 307156539 669595398        --> /home  142GB (123GB free, 7GB -used)
home начинается с 669595398 и идет за usr (204785710+464809688), на home всего используется 7GB,
которые мы, ВРЕМЕННО, можем скопировать в /usr.
скопировали - путь открыт, bsdlabel - редактируем таблицу - увеличиваем в f: size
2097152 секторов = 1GB, хотите увеличить на 10Gb -> 2097152*10=20971520

было:
f: 204785710 - размер в секторах, начинается с сектора 464809688, после увеличения на 10GB (кстати, в bsdlabel
можно при редактировании задавать размер в MB, GB:
f: 225757230 464809688
g: * *

* - означает автоматически пересчитать размер и начало партиции g:
ну или можно самому посчитать начало: 225757230+464809688=690566918, вместо размера * (все что осталось)
g: * 690566918 ...

сохранили, вышли из редактора - если все правильно, bsdlabel запишет (man bsdlabel и не забыть про kern.geom.debugflags

теперь можно посмотреть bsdlabel, затем расширить growfs /dev/mirror/gm0s1f
и заново создать FS для g: -> newfs /dev/mirror/gm0s1g

Увы, на ходу сделать не получится - single user mode или с livecd(disc0)

Другой вариант:

Код: Выделить всё

/dev/mirror/gm0s1g    142G    7.1G    123G     5%    /home
/dev/mirror/gm0s1f     95G     67G     20G    77%    /usr
/home - 142GB
/usr - 95
делаем rsync /usr в /home - должны получить: /home/bin /home/games /home/include /home/lib и тд...

Важное: если у Вас что-то пишется в /usr в процессе работы - остановите эти сервисы и затем rsync

перегружается в single-user mode или с livecd(disc0) и меняем в /etc/fstab точки монтирования, было:

Код: Выделить всё

/dev/mirror/gm0s1g   /home
/dev/mirror/gm0s1f   /usr
делаем:

Код: Выделить всё

/dev/mirror/gm0s1g   /usr
/dev/mirror/gm0s1f   /home
выполняем fsck_ffs -fy для всех, монтируем и грузимся в multiuser (или просто перезагружаемся после редактирования fstab)

если все Ok, то /usr теперь будет 142GB, а в /home остался старый usr - удаляем и переносим туда то что было в home

понятно?

Важное: пропустить через мозк, а не тупо копировать, чтобы не ошибиться в вычислениях size и буквах партиций.

Алекс
проходил мимо

Увеличить размер раздела на FreeBSD

Непрочитанное сообщение Алекс » 2017-01-03 15:25:01

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

Стоит Фри 7.1, на ней файловый сервер. Запущен софтовый Реид 1 gmirror. Команды resize нет еще в этой версии. Диски в рейде по 2Тб заполнены. Купил 2 по 4Тб, заменил физически по очереди, стали перезаписались но размер зеркала остался тот же 1,8 ТБ.
если можно опишите детально по командно как сделать чтобы расширить зеркало до физических дисков в 4 ТБ?
Как правильно разрушить/остановить реид и заново его создать чтобы не потерять информацию?

guest
проходил мимо

Увеличить размер раздела на FreeBSD

Непрочитанное сообщение guest » 2017-01-03 21:55:41

Алекс писал(а):Добрый день.
Я совсем новичек во Free, прошу помогите пожалуйста разобраться как правильно сделать чтобы не убить рабочий сервер.
Правильно - это установить под Виртуалкой FreeBSD и изучать.

- "Я совсем новичек во Free..."

из оперы:
- "Мы сами люди не местные, подайте..."

На будущее, системный администратор - это профессия, и если верхнее вызывает сочуствие,
это не означает что кто-то сделает за Вас работу.

Без обид, ничего личного.
Стоит Фри 7.1, на ней файловый сервер. Запущен софтовый Реид 1 gmirror. Команды resize нет еще в этой версии. Диски в рейде по 2Тб заполнены. Купил 2 по 4Тб, заменил физически по очереди, стали перезаписались но размер зеркала остался тот же 1,8 ТБ.
если можно опишите детально по командно как сделать чтобы расширить зеркало до физических дисков в 4 ТБ?
Как правильно разрушить/остановить реид и заново его создать чтобы не потерять информацию?
Правильно, нужно было сделать так:
- установить один из новых дисков 4TB в работающую систему
- оформить новый диск как загрузочный, создать слайсы и партиции
- создать файловые системы на новом диске
- сделать dump/restore файловых систем текущих на пустые новые fs на новом диске
- далее загрузиться с нового диска
- если все работает, далее установить второй диск 4TB и создать зеркало

Все остальное, зависит от релиза системы, от разметки и файловых систем на рабочем зеркале.

Все что Вы просите Вам расписать:
- детально
- по командно
- "разрушить"/остановить
- заново создать
...
Есть в Handbook и куче руководств в сети.

ps. Для информации - 7.1-RELEASE уже много лет не поддерживается.