Для каких целей драйвер блочного устройства использует минорные числа?

Есть несколько мест, где у вас может быть «свободное место на диске».

  1. У вас может быть дисковое пространство, которое не находится в разделе (неразмеченное пространство).
  2. У вас может быть неиспользуемый раздел.
  3. На физическом томе LVM может быть свободное место. Как правило, физический том LVM располагается поверх раздела.
  4. У вас может быть свободное место в файловой системе. Файловая система находится поверх логического тома LVM.

Преобразование между (1) и (2) с помощью создания и удаления разделов тривиально (если, конечно, вы не превысили максимальное количество разделов). Сумма всего свободного пространства во всех физических томах в группе томов является свободным пространством в группе томов, что достаточно близко для нашего обсуждения.

Первые два назовите уровнем раздела (вероятно, то, что вы видите в gparted). Вызовите №3 уровень VG ( vgs покажет это, или vgdisplay , или pvdisplay и т. Д.). Вызов №4 уровня FS ( df показывает это).

Ключевым моментом является то, что уровни не смотрят друг в друга. Если вы попытаетесь создать новый раздел, неважно, сколько свободного места в файловой системе на разделе 1, вы не сможете использовать его для раздела 2.

Это похоже на то, что вы запустили. к.

Вы можете конвертировать свободное дисковое пространство между уровнями, но это часто нетривиально.Например, вы можете использовать resize2fs , чтобы сжать файловую систему, а затем сжать логический том, на котором она находится (преобразование свободного пространства из уровня FS в уровень VG). Затем вы можете сжать один из LVM PV и изменить размер раздела, преобразовав свободное пространство на уровне PV в уровень раздела. (Все эти операции нетривиальны и могут привести к потере данных в случае неправильного выполнения).

Вы можете сделать обратное, добавив раздел, создав на нем PV, добавив PV в группу томов, используя lvextend для расширения LV, на котором находится файловая система, и, наконец, используя resize2fs , чтобы добавить это пространство к свободному пространству файловой системы. (Эти операции довольно безопасны.)

1
22.08.2018, 06:25
1 ответ

The only purpose I can imagine, is to distinguish between different hard disks but not partitions.

Верно.

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

Главное, для чего используется exception, — это не заморачиваться поддержкой разделов на устройствах вроде LVM, где они, как правило, не нужны.

(Если вам действительно нужно, чтобы ядро ​​предоставляло под-разделы в LVM, вы можете использовать kpartx, который создает новые устройства сопоставления устройств с именами устройств, которые удобно выглядят как обычный шаблон имен разделов. ).

0
28.01.2020, 00:30

Теги

Похожие вопросы