Я скопировал (dd) раздел из / dev / sdb3 (раздел GPT) в / dev / vg0 / lv0_sys (lvm2 lv)
Обязательно нужно настроить uuid на одном из них, я обнаружил, что blkid показывает мне два разных uuid для двух. Удивленный, я поискал другие способы отображения uuid и пришел к tune2fs. tune2fs дал мне одинаковый uuid для обоих. Это означает, что tune2fs и bklid дают мне разные uuid для копии в / dev / mapper / vg0-lv0_sys
Обратите внимание, что я использовал символическую ссылку / dev / vg0 / lv0_sys для создания копии, но использовал прямой путь / dev / mapper ... для получения uuid. Символьная ссылка не работает с blkid. Но с tune2fs он работал.
Итак, что делает blkid? Есть ли у раздела / lv собственный uuid, который отличается от uuid файловой системы, но может быть таким же? А blkid это показывает?
Полный вывод blkid:
/dev/sda2: UUID="634cfda6-5ebd-4c12-9480-e9effb2c9c69" TYPE="ext2"
/dev/sda3: UUID="69fa6b8a-4c53-409b-aec7-d72b1ca9463a" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda4: UUID="966c08c5-1588-4456-9d82-3c42d6a8e09c" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda5: UUID="414cef10-c56c-4b23-8508-698ed49360f9" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda6: UUID="MI8wFf-3wqr-fYR0-iVOk-1gAJ-mDuG-yaUpoK" TYPE="LVM2_member"
/dev/sda7: UUID="RoZLP3-Owd8-5Fkm-Q33j-X6nS-Eju5-Bqw3Xr" TYPE="LVM2_member"
/dev/sda8: UUID="fFStIK-Cvqy-kGYt-JDlx-JAAT-VcHb-apY50V" TYPE="LVM2_member"
/dev/sda9: UUID="EImDQ9-UGI7-sUsM-ihar-vDuB-SSlb-wz7bhy" TYPE="LVM2_member"
/dev/sdb2: UUID="83556c87-b5f5-44e9-be53-2ae46cab8931" TYPE="ext2"
/dev/sdb3: UUID="25e6c972-e769-4216-bc18-8d2d1eefa6a1" TYPE="ext4"
/dev/sdb4: UUID="D2wdPj-RiS1-7ea0-KUUE-NLuq-UZUa-Fe3FuY" TYPE="LVM2_member"
/dev/mapper/vg0-lv0_sys: UUID="bc2de0a1-4de2-4e61-a19e-376409528fd9" TYPE="ext4"
/dev/mapper/vg3-lv0_sys: UUID="e9131371-71af-4dcc-a0f6-83673da1330c" SEC_TYPE="ext2" TYPE="ext3"
/dev/mapper/vg3-lv1_sys: UUID="ddf0a6d9-7bec-41ee-b141-376cb5540d45" TYPE="ext4"
/dev/mapper/vg3-lv3_swap: UUID="98ef4d82-2994-46ea-9897-36fab66b133a" TYPE="swap"
/dev/mapper/vg3-lv4_data: UUID="53a306ad-f10b-44cf-90d6-bdb8b4abae3b" SEC_TYPE="ext2" TYPE="ext3"
/dev/sdg1: LABEL="M-@;9M-^X" UUID="CE2C-4586" TYPE="vfat"
Дополнительный вопрос: что будет использовать grub2 для определения загрузочной файловой системы?
Вывод blockdev --getsize64 / dev / sdb3 / dev / vg0 / lv0_sys
29997662208
28991029248
Возможно, мне следует добавить следующее: целевой раздел меньше, но я уменьшил размер файловой системы (около 26 ГБ) перед ее копированием. Я предполагаю, что когда dd прерывает копирование из-за конца целевого пространства, файловая система должна быть полностью записана. E2fsck / dev / vg0 / lv0_sys не дал мне ошибок
Если ты не бежишь blkid
как root, он не может читать любой информация об устройствах и, следовательно, должна полагаться на кеш.
Всегда беги blkid
как root, если что-то изменилось в дисках.
Я видел аналогичную проблему с диском, повторно используемым из установки VMWare и перемещенным в XFS. blkid
был сообщение неверной или неверной информации. В принятый ответ показал, что информация о разделе была расположена с другим смещением, чем я ожидал, и что это могло запутать blkid
. Вы могли видеть то же самое?
Также этот отчет об ошибке от Red Hat похоже, соответствует вашему сценарию. Я бы доверял blkid
над tune2fs
с этой точки зрения.
На самом деле у меня возникла проблема с кешем, который использует blkid.
Если я добавлю опцию -p для обхода кеша, тогда blkid даст мне правильный ответ.
После этого, вызывая blkid один раз без -p, но все еще с sudo (что необходимо в сочетании с -p), и после этого при каждом обычном вызове blkid в любое время даст мне правильный и актуальный идентификатор.