FreeBSD: Как увеличить/изменить ufs раздел диска

Print Friendly, PDF & Email

Задача:

Увеличить размеры UFS разделов диска

---------------------------------------------------------------

Смотрим информацию о дисках и имеющихся разделах.

ot@cloud:/ # df -H
Filesystem      Size    Used   Avail Capacity  Mounted on
/dev/da0s1a      20G     17G    1.0G    94%    /
devfs           1.0k    1.0k      0B   100%    /dev
/dev/da1p1      4.8T    2.6T    1.8T    59%    /mnt/da1p1
zroot/docker    3.9G     24k    3.9G     0%    /usr/docker
zroot           3.9G     24k    3.9G     0%    /zroot
root@cloud:/ # swapctl -lhs
Device:            Bytes      Used:
/dev/da0s1b         1.0G       673M
Total:              1.0G       673M
root@cloud:/ # gpart show
=>      63  41942977  da0  MBR  (20G)
        63         1       - free -  (512B)
        64  41942976    1  freebsd  [active]  (20G)

=>       0  41942976  da0s1  BSD  (20G)
         0  39845888      1  freebsd-ufs  (19G)
  39845888   2097088      2  freebsd-swap  (1.0G)

=>        40  9663676336  da1  GPT  (4.5T)
          40  9663676336    1  freebsd-ufs  (4.5T)

root@cloud:/ #

Виртуальный системный диск имеет размер 20 GB. Так как это виртуальный сервер на ESXi, заходим в панель администрирования ESXI и увеличиваем его до 30 GB. После сервер необходимо перезагрузить.

Подключаемся и проверяем

root@cloud:/ # gpart show
=>      63  62914497  da0  MBR  (30G)
        63         1       - free -  (512B)
        64  41942976    1  freebsd  [active]  (20G)
  41943040  20971520       - free -  (10G)

=>       0  41942976  da0s1  BSD  (20G)
         0  39845888      1  freebsd-ufs  (19G)
  39845888   2097088      2  freebsd-swap  (1.0G)

=>        40  9663676336  da1  GPT  (4.5T)
          40  9663676336    1  freebsd-ufs  (4.5T)

Расширяем место в разделе FreeBSD и проверяем проделанное.

root@cloud:/ # gpart resize -i 1 da0
da0s1 resized
root@cloud:/ # gpart show da0
=>      63  62914497  da0  MBR  (30G)
        63         1       - free -  (512B)
        64  62914496    1  freebsd  [active]  (30G)

root@cloud:/ #

И так на данный момент имеем SWAP размеров в 1 GB, который будем увеличивать до 8 и остальное место отдадим для системы.

Отключаем SWAP

root@cloud:/ # swapinfo
Device          1K-blocks     Used    Avail Capacity
/dev/da0s1b       1048544        0  1048544     0%
root@cloud:/ # swapoff /dev/da0s1b
root@cloud:/ # swapinfo
Device          1K-blocks     Used    Avail Capacity
root@cloud:/ #

Удаляем SWAP и проверяем

root@cloud:/ # gpart delete -i 2 da0s1
da0s1b deleted
root@cloud:/ # gpart show
=>      63  62914497  da0  MBR  (30G)
        63         1       - free -  (512B)
        64  62914496    1  freebsd  [active]  (30G)

=>       0  62914496  da0s1  BSD  (30G)
         0  39845888      1  freebsd-ufs  (19G)
  39845888  23068608         - free -  (11G)

=>        40  9663676336  da1  GPT  (4.5T)
          40  9663676336    1  freebsd-ufs  (4.5T)

root@cloud:/ #

Редактируем vi /etc/fstab

vi /etc/fstab

комментируем строку относящуюся к SWAP

# Device        Mountpoint      FStype  Options Dump    Pass#
/dev/da0s1a     /               ufs     rw      1       1
#/dev/da0s1b    none            swap    sw      0       0
/dev/da1p1      /mnt/da1p1      ufs     rw      0       0
#/dev/da2p1     /mnt/da2p1      ufs     rw      0       0

Перезагружаемся в «2. Boot Single user»

Убеждаемся в отсутствии свапа, и проверяем разделы на диске

Увеличиваем размер диска до 22G

gpart resize -i 1 -a 4k -s 22G da0s1

Создаём свап на оставшемся свободном диске

 gpart add -t freebsd-swap -a 4k da0s1

Убираем изменения в файле /etc/fstab и перезагружаемся. Если не получилось, перезагружаемся и тогда изменяем fstab и ещё раз перезагружаемся.

Проверяем что всё сделано правильно

root@cloud:/ # swapinfo
Device          1K-blocks     Used    Avail Capacity
/dev/da0s1b       8388576        0  8388576     0%
root@cloud:/ # gpart show
=>      63  62914497  da0  MBR  (30G)
        63         1       - free -  (512B)
        64  62914496    1  freebsd  [active]  (30G)

=>       0  62914496  da0s1  BSD  (30G)
         0  46137344      1  freebsd-ufs  (22G)
  46137344  16777152      2  freebsd-swap  (8.0G)

=>        40  9663676336  da1  GPT  (4.5T)
          40  9663676336    1  freebsd-ufs  (4.5T)

root@cloud:/ #

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

root@cloud:/ # growfs -y /dev/da0s1a
super-block backups (for fsck_ffs -b #) at:
 41031872, 42314112, 43596352, 44878592, 46160832, 47443072, 48725312, 50007552, 51289792, 52572032, 53854272, 55136512, 56418752, 57700992, 58983232, 60265472, 61547712, 62829952, 64112192, 65394432, 66676672
root@cloud:/ # fsck -yf -t ufs /dev/da0s1a
** /dev/da0s1a (NO WRITE)
SETTING DIRTY FLAG IN READ_ONLY MODE

UNEXPECTED SOFT UPDATE INCONSISTENCY
** Last Mounted on
** Root file system
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
UNREF FILE I=81143  OWNER=root MODE=100666
SIZE=0 MTIME=Oct  9 21:44 2020
CLEAR? no

UNREF FILE I=81312  OWNER=mysql MODE=100600
SIZE=0 MTIME=Oct  9 21:44 2020
CLEAR? no

UNREF FILE I=81315  OWNER=mysql MODE=100600
SIZE=0 MTIME=Oct  9 21:44 2020
CLEAR? no

UNREF FILE I=81324  OWNER=mysql MODE=100600
SIZE=0 MTIME=Oct  9 21:44 2020
CLEAR? no

UNREF FILE I=81325  OWNER=mysql MODE=100600
SIZE=0 MTIME=Oct  9 21:44 2020
CLEAR? no

** Phase 5 - Check Cyl groups
FREE BLK COUNT(S) WRONG IN SUPERBLK
SALVAGE? no

SUMMARY INFORMATION BAD
SALVAGE? no

BLK(S) MISSING IN BIT MAPS
SALVAGE? no

451655 files, 4329500 used, 3792363 free (45411 frags, 468369 blocks, 0.6% fragmentation)
root@cloud:/ # gpart show
=>      63  83886017  da0  MBR  (40G)
        63         1       - free -  (512B)
        64  83886016    1  freebsd  [active]  (40G)

=>       0  83886016  da0s1  BSD  (40G)
         0  67108864      1  freebsd-ufs  (32G)
  67108864  16777152      2  freebsd-swap  (8.0G)

=>        40  9663676336  da1  GPT  (4.5T)
          40  9663676336    1  freebsd-ufs  (4.5T)

root@cloud:/ # df -h
Filesystem      Size    Used   Avail Capacity  Mounted on
/dev/da0s1a      31G     17G     12G    58%    /
devfs           1.0K    1.0K      0B   100%    /dev
/dev/da1p1      4.4T    2.8T    1.2T    69%    /mnt/da1p1
zroot/docker    3.6G     23K    3.6G     0%    /usr/docker
zroot           3.6G     23K    3.6G     0%    /zroot
root@cloud:/ #
Помогла статья? Есть возможность отблагодарить автора

QR Link:

QR Code

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *