LINUX.ORG.RU

Сообщения Saigak1

 

Как работает уменьшение заполненной ext4

Добрый день. Подскажите, пожалуйста. Ext4 при уменьшении может писать new size smaller than minimum ( при этом минимальный размер - это почти размер самого раздела) или спокойно уменьшить. От чего это зависит я так и не понял. Например

Файловая система            Размер Использовано  Дост Использовано% Cмонтировано в
/dev/sdb2                     920M         502M  363M           59% /ext4

root@debian:/# resize2fs /dev/sdb1 820M
resize2fs 1.44.5 (15-Dec-2018)
resize2fs: New size smaller than minimum (243884)

243884 (4k block) это 952MB

Заполнял файлами по типу

dd if=/dev/zero of=/ext4/disk.img count=150 bs=1M								

Потом пересоздал, заполнил на 31% и уменьшил сразу до минимума

Файловая система            Размер Использовано  Дост Использовано% Cмонтировано в
/dev/sdb2                     524M         151M  336M           31% /ext4

root@debian:/# resize2fs /dev/sdb2  -M
resize2fs 1.44.5 (15-Dec-2018)
Resizing the filesystem on /dev/sdb2 to 45560 (4k) blocks.
The filesystem on /dev/sdb2 is now 45560 (4k) blocks long.

Уменьшилось.

Далее попробовал на 56% заполнить и уменьшить до минимума:

Файловая система            Размер Использовано  Дост Использовано% Cмонтировано в
/dev/sdb2                     524M         271M  216M           56% /ext4

/dev/sdb2                     402M         271M  103M           73% /ext4

Затем снова пересоздал на больший размер, заполнил и глянул минимальный размер

root@debian:/# df -h
Файловая система            Размер Использовано  Дост Использовано% Cмонтировано в
/dev/sdb2                    1020M         601M  350M           64% /ext4

root@debian:/# e4defrag -v -c /dev/sdb2
e4defrag 1.44.5 (15-Dec-2018)
<File>                                         now/best       size/ext
[1/6] "/ext4"
        File is not regular file
[2/6]/ext4/disk3.img                             2/1          76800 KB
[3/6] "/ext4/lost+found"
        File is not regular file
[4/6]/ext4/disk1.img                             3/1          51200 KB
[5/6]/ext4/disk2.img                             4/1          38400 KB
[6/6]/ext4/disk4.img                             3/1          51200 KB

<Fragmented files>                             now/best       size/ext
1. /ext4/disk2.img                               4/1          38400 KB
2. /ext4/disk4.img                               3/1          51200 KB
3. /ext4/disk1.img                               3/1          51200 KB
4. /ext4/disk3.img                               2/1          76800 KB

 Total/best extents                             12/4
 Average size per extent                        51200 KB
 Fragmentation score                            0
 [0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
 This device (/dev/sdb2) does not need defragmentation.
 Done.

root@debian:/# umount /dev/sdb2
root@debian:/# resize2fs -P /dev/sdb2  -M
resize2fs 1.44.5 (15-Dec-2018)
Estimated minimum size of the filesystem: 274171

Как это работает?При каком проценте заполненности ФС можно уменьшать?

На ext2 и ext3 попробовал, там без проблем уменьшается вплоть до 100% занятого пространства..

 ,

Saigak1
()

Как правильно уменьшать раздел через parted

Здравствуйте. Я очередной ламер пытающийся разобраться в linux. Мне необходимо уменьшить ФС ext4 и затем раздел sdb1 через parted. С fdisk разобрался, проблем не возникло, но вот parted…

Дано:

Debian 11.8

Parted версии 3.4

Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 2147MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  980MB   979MB   ext4         1

Уменьшаю ФС например до 450МБ:

resize2fs /dev/sdb1 450M
resize2fs 1.46.2 (28-Feb-2021)
Resizing the filesystem on /dev/sdb1 to 460800 (1k) blocks.
The filesystem on /dev/sdb1 is now 460800 (1k) blocks long.

Уменьшаю раздел с запасом

parted /dev/sdb resizepart 1 455MB

Пытаюсь монтировать:

mount /dev/sdb1 /test
mount: /test: wrong fs type, bad option, bad superblock on /dev/sdb1, missing codepage or helper program, or other error. 

Если после этого увеличить раздел, например, до 500MB

parted /dev/sdb resizepart 1 500MB

То без проблем монтируется.

Получается, что размер раздела должен быть больше, но как посчитать на сколько минимально требуется уменьшать раздел, чтобы ФС монтировалась?

 , ,

Saigak1
()

RSS подписка на новые темы