Як визначити новий розмір resize2fs?


22

Я хочу скоротити файлову систему ext4, щоб звільнити місце для нового розділу та натрапив на resize2fsпрограму. Команда виглядає приблизно так:

resize2fs -p /dev/mapper/ExistingExt4 $size

Як я можу визначити, $sizeчи хочу я видати сувенірно рівно 15 Гб з поточної файлової системи ext4? Чи можу я dfякось використовувати вихід ?

Відповіді:


39

Не слід використовувати, dfоскільки він показує розмір, про який повідомляє файлова система (у цьому випадку ext4).

За допомогою dumpe2fs -h /dev/mapper/ExistingExt4команди дізнайтеся реальний розмір розділу. Цей -hпараметр дозволяє dumpe2fsпоказувати інформацію про суперблок без багато зайвих деталей. З виводу потрібні кількість блоків та розмір блоку .

...  
Кількість блоків:               19506168  
Кількість зарезервованих блоків: 975308  
Безкоштовні блоки: 13750966  
Вільних вводів: 4263842  
Перший блок: 0  
Розмір блоку:                4096  
...

Множення цих значень надасть розмір розділу в байтах . Наведені вище цифри є ідеальним кратним 1024:

$ python -c 'print 19506168.0 * 4096 / 1024'
78024672.0

Оскільки ви хочете зменшити розділ на 15 ГіБ (що в 15 МіБ разів більше 1 Кб):

$ python -c 'print 19506168.0 * 4096 / 1024  -  15 * 1024 * 1024'
62296032.0

Оскільки resize2fsприймає кілька видів суфіксів, один з яких становить K"1024 байти", команда для зменшення розділу до 62296032 KiB стає:

resize2fs -p /dev/mapper/ExistingExt4 62296032K

Без одиниці число буде інтерпретуватися як кратне блокове розмір файлової системи (4096 у цьому випадку). Дивіться man resize2fs (8)


3
man resize2fs: Необов'язково, параметр розміру може бути суфіксований одним із таких позначень одиниць: 's', 'K', 'M' або 'G' для 512 байтових секторів, кілобайт, мегабайт або гігабайт відповідно . Може бути простішим, ніж робити блок-обчислення.
lkraav

1
Ви не пропускаючи ні kв resize2fs -p /dev/mapper/ExistingExt4 62296032?
Sopalajo de Arrierez

@SopalajodeArrierez Правда, столиця Kвідсутня. Без цього листа Resize2fs повинен скаржитися в моєму випадку, оскільки розмір більше, ніж власне диск.
Лекенштейн

2
dumpe2fsне повідомляє розмір розділу; він справді повідомляє про розмір файлової системи. (Що добре, адже це, мабуть, те, що ти хочеш.)
Мехрдад
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.