Первый сообщает UUID файловой системы ext4 на md
блочном устройстве. Это помогает системе идентифицировать файловую систему уникально среди файловых систем, доступных в системе. Это хранится в структуре файловой системы, то есть в данных, хранящихся на устройстве md.
Второй - UUID устройства RAID. Это помогает подсистеме md однозначно идентифицировать это конкретное устройство RAID. В частности, это помогает идентифицировать все блочные устройства, которые принадлежат массиву RAID. Он хранится в метаданных массива (на каждом члене). Члены массива также имеют свой собственный UUID (в системе md они могут также иметь UUID раздела, если они являются разделами GPT (которые сами будут храниться в таблице разделов GPT) или тома LVM ...).
blkid
немного вводит в заблуждение, так как он возвращает идентификатор структуры, хранящейся на устройстве (для таких структур, о которых он знает, как и большинство файловых систем, членов LVM и устройств подкачки). Также обратите внимание, что весьма обычно иметь блочные устройства со структурами с одинаковыми UUID (например, снимками LVM). И блочное устройство может содержать что угодно, включая вещи, структура которых не включает UUID.
Так, например, у вас может быть система с 3 дисками с разделением GPT. Эти диски могут иметь всемирное имя, которое однозначно идентифицирует его. Допустим, 3 диска разделены по одному разделу на каждый ( /dev/sd[abc]1
). Каждый раздел будет иметь UUID GPT, хранящийся в таблице разделов GPT.
Если эти разделы составляют массив md RAID5. Каждый из них получит md UUID в качестве члена RAID, а массив получит UUID в качестве устройства md RAID.
Это /dev/md0
может быть далее разделено с MSDOS или разделением типа GPT. Например, у нас может быть /dev/md0p1
раздел с UUID GPT (хранится в таблице разделов GPT, которая хранится в данных / dev / md0).
Это может быть физический том для LVM. Как таковой он получит PV UUID. Группа томов также будет иметь VG UUID.
В этой группе томов вы должны создавать логические тома, каждый из которых получает LV UUID.
На одном из этих LV (например /dev/VG/LV
) вы можете создать файловую систему ext4. Эта файловая система получит UUID ext4.
blkid /dev/VG/LV
получил бы (ext4) UUID этой файловой системы. Но как раздел внутри тома VG, он также получит UUID раздела (некоторые схемы разделения, такие как MSDOS / MBR, не имеют UUID). Эта группа томов состоит из членов PV, которые сами являются другими блочными устройствами. blkid /dev/md0p1
даст вам PV UUID. Он также имеет UUID раздела в таблице GPT /dev/md0
. /dev/md0
Сам сделан из других блочных устройств. blkid /dev/sda1
вернет UUID участника рейда. Он также имеет UUID раздела в таблице GPT /dev/sda
.
mdadm
? Мы просто изменили образ сервера и UUID разные, поэтому мы хотим восстановить предыдущие UUID, чтобы нам не нужно было изменять все файлы конфигурации. По сути,/dev/md0
имеет новый UUID, и мы хотим вернуть его к старому (идентифицированному из резервной копии), чтобы система загружалась без дополнительных изменений.man mdadm
) Или ext4 UUID (см.man tune2fs
)? Это проблема загрузки, связанная с поиском корневой файловой системы или сборкой RAID-массива на основе mdadm.conf, хранящегося в initramfs. В любом случае, мне кажется проще обновить mdadm.conf или fstab / grub.cfg, чем смешиваться с UUID.Другой UUID уже был объяснен. Они есть не только в файловых системах. Просто есть UUID для разных вещей: массив raid, устройство, раздел, контейнеры LUKS, PVM LVM ... и, наконец, файловые системы.
Лично меня раздражает то, что даже способ форматирования этих UUID отличается.
BLKID:
mdadm:
Как вы можете видеть, они являются одинаковыми UUID, но
blkid
печатают их тире, в-
то время какmdadm
используются двоеточия:
. Таким образом, вы получаетеd8b8b4e5-e47b-2e45-2093-cd36f654020d
противd8b8b4e5:e47b2e45:2093cd36:f654020d
.Очень раздражает, особенно если вы хотите работать с UUID в скриптах. Не очевидно, как конвертировать из одного форматирования в другое.
источник
:
или тире-
существуют просто для того, чтобы люди могли читать длинные UUID кусками и не теряться где-то посередине. UUID на самом деле является двоичным числом и не имеет тире или двоеточий. Он реализован в Linux как беззнаковое массив символов:unsigned char uuid_out[16]
. Очевидно, спецификация UUID также имеет представление о вариантах и версиях , которые мы можем увидеть реализованными, установив для старшего байтаuuid_out[6]
значение 4 .UUID blkid выше «32cb0a6e-8148-44e9-909d-5b23df045bd1» является правильным, то есть то, что ОС будет использовать для поиска RAID-массива.
mdadm имеет свой собственный «внутренний» UUID, который не используется непосредственно операционной системой и используется в файле mdadm.conf, например:
"ARRAY / dev / md1 level = raid1 num-devices = 2 uuid = f204c558: babf732d: 85bd7296: bbfebeea"
mdadm не должен вызывать ничего UUID, когда он отделен от того, который распознает blkid и ОС. Может быть, это следует назвать mduuid или что-то еще, чтобы избежать путаницы.
источник