LINUX.ORG.RU
ФорумAdmin

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

 , ,


1

2

Здравствуйте. Я очередной ламер пытающийся разобраться в 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

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

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

Проверь точно размеры размела и фс в байтах. Подозреваю что parted под мегабайтами подразумевает так называемые десятичные мегабайты, они меньше чем настоящие. 450MB = 471859200 байт, попробуй в parted ввести 471 и 472MB.

А почему fdisk не годится?

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)

Надо убедиться, что там мегабайты с одинаковым основанием. И лучше взять калькулятор, и задать в блоках, наверное. Запас не нужен.

Ещё одна стратегия, которой я бы следовал сам: уменьшить ФС с запасом, раздел сделать какой нужно, увеличить ФС, чтобы она заняла новый раздел полностью. Тут нет риска промазать при минимальной внимательности.

anonymous
()
Ответ на: комментарий от firkax

Видимо, вы правы. 471 и 472 MB - была ошибка, но 473MB сработало. ( Раздел с 1049kB начинается, скорее всего этом дело)

В таком случае можете, пожалуйста, написать формулу по которой рассчитали этот размер?

fdisk по сравнению с parted - прекрасен. Но на какой нибудь ВМ его может не быть. Так же может не быть инета и безопасники в определенных организациях могут погладить по хребту за установку того же fdisk без согласований. Плюсом утилиты по хорошему устанавливать нужно со снапшотом. А могут быть ВМ, на которых откат на снапшот = проблемы. ( Подозреваю, что это ВМ с БД либо еще какие)

Поэтому хочу разобраться так сказать стандартными средствами

Saigak1
() автор топика
Ответ на: комментарий от Saigak1

1 мегабайт = 1048576 (1024*1024) байт, но некоторые программы его считают как 1000000 байт и у них размер в мегабайтах получается из-за этого больше. Ещё так считают производители дисков чтобы больший объём указать в рекламных целях. Если указывать размер в байтах то всех этих проблем не будет.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 3)
Ответ на: комментарий от firkax

Ещё так считают производители дисков чтобы больший объём указать в рекламных целях

Производители дисков так считают с момента появления этих самых дисков. https://en.wikipedia.org/wiki/Binary_prefix#Hard_disks

anonymous
()
Ответ на: комментарий от anonymous

Ну разумеется, они с самого начала хотели показать объём побольше. Хотя в какие-то древние времена могли быть и другие причины, ладно.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)

Я пользуюсь parted на своём локалхосте.

Полезное чтиво - info parted, для этого нужно установить пакет parted-doc.

Задаю размеры разделов в G (не путать с GiB, GB) - программа сама делает оптимальный расчёт.

Насчёт MB (GB, KB,..) в документации есть предупреждение, что не всё может пойти, как вы ожидаете.

forest22
()