Freebsd свободное место на диске

Freebsd свободное место на диске

четверг, 18 мая 2017 г.

FreeBSD: Расширение дискового пространства

Если в логе постоянно сыпятся ошибки "filesystem full" — это означает, что закончилось место на вашем разделе файловой системы. Вариантов для решения проблемы всего два: удалить ненужные файлы, освободив таким образом место, или расширить дисковое пространство.
В случае расширения диска сперва понадобится увеличить размер вашего HDD в виртуальной среде, RAID-массиве или на системе хранения данных, смотря, что вы используете. Далее действуем следующим образом:
1. Загружаемся в режиме "Single User" (выбор №2 в загрузочном меню).
2. Командой "ls /dev" проверяем, как называется у нас жёсткий диск.

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".

Системы на базе UNIX, весьма стабильны, и если они перестают работать корректно, первым делом, необходимо убедиться в наличие свободного дискового пространства. В данной инструкции приведены примеры консольных команд.

Занимаемое место всеми разделами

Базовая команда, которая работает для всех систем семейства UNIX:

* -h добавлено для более читабельного вывода информации по занимаемому месту. Без данной опции информация будет показана в килобайтах.

Примерный результат выполнения команды:

1 — путь к файловому разделу (диск, внешний накопитель, сетевая шара и так далее).
2 — полный объем раздела.
3 — объем использованного пространства.
4 — сколько еще осталось места.
5 — сколько использовано в процентах.
6 — куда примонтирована файловая система.

Посмотреть занимаемое место папками

Чтобы узнать, какой именно каталог занимает много места, воспользуемся командой:

Читайте также:  Как поднять ftp сервер на linux

* в данном примере смотрим все папки корневого раздела (/).

Примерный вывод будет следующий:

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

То же самое с сортировкой по весу папки:

du -d1 / | sort -nr

Вес одной папки и ее содержимого

Отобразить занимаемое место конкретной папки и всего ее содержимого можно следующей командой:

* отобразит занимаемое место каталогом, в котором мы находимся (можно посмотреть командой pwd).

Что чаще всего занимает место на диске

Из данных, которые могут занимать много места, и которые можно чистить, как правило, являются log-файлы — журналы приложений и операционной системы. Это текстовая информация, которая хорошо поддается сжатию. Чтобы автоматизировать процесс чистки логов, воспользуйтесь инструкцией Ротация логов в Linux и FreeBSD с помощью logrotate.

Также место могут занимать временные данные — они находятся в каталоге /tmp.

Есть виртуальный сервер VPS на DigitalOcean на FreeBSD + ZFS. В панели управления DigitalOcean расширил диск, но df -h продолжал показывать старый размер диска. Способ должен работать и для ZFS на Linux.

Узнаем имя пула с корнем: zfs list . В моем случае это zroot.
Сначала нужно поставить параметр autoexpand (авторасширение) на пул ZFS. На DigitalOcean он стоял по умолчанию.
zpool get autoexpand zroot
Если значение не ON, то включаем автоэкспанд: zpool set autoexpand=on zroot

Далее с помощью gpart list узнаем список разделом диска. В моем случае диск vtbd0 (как sda или vda в Линуксе), раздел vtbd0p3 (как sda3 или vda3 в Линуксе).
Теперь наш раздел нужно принудительно проавтоэкспандить: zpool online -e zroot vtbd0p3

Все, теперь смотрим df -h или zfs list и убеждаемся, что занято все место на диске.

Ссылка на основную публикацию
Cp hosting jino ru
Проверенный временем виртуальный хостинг от надежной компании. Вы платите только за те услуги, которыми действительно пользуетесь Более 18 лет на...
Adblock detector