LINUX.ORG.RU
ФорумAdmin

Proxmox Debian 11. После backup с типом stop ОС меняет привязку sda и sdb местами

 , , ,


1

2

Только столкнулся с proxmox 7.3-6.
VM Debian 11:
sda - lvm
sdb - Directory (ext4)
При нормальной работе: fdisk -l:

Диск /dev/sda: 50 GiB, 53687091200 байт, 104857600 секторов
Disk model: QEMU HARDDISK
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x915be30b

Устр-во    Загрузочный    начало     Конец   Секторы Размер Идентификатор Тип
/dev/sda1  *                2048 102856703 102854656    49G            83 Linux
/dev/sda2              102858750 104855551   1996802   975M             5 Расширенный
/dev/sda5              102858752 104855551   1996800   975M            82 Linux своп / Solaris

Диск /dev/sdb: 100 GiB, 107374182400 байт, 209715200 секторов
Disk model: QEMU HARDDISK
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0xa340bcc9

Устр-во    Загрузочный начало     Конец   Секторы Размер Идентификатор Тип
/dev/sdb1                2048 209715199 209713152   100G            83 Linux

Но раз в 2 дня при бэкапах со стопом (бэкапы делаются 1 раз в сутки в 00:01) и старта машины после бэкапа монитрование sda и sdb меняет местами в fstab -l:
100G определяется как /dev/sda, 50G как /dev/sdb.
При том система загружается, т.к. в grub загрузка идет по UUID. fstab:

UUID=6dec9a04-0070-4117-ae85-da2d159964ab /               ext4    errors=remount-ro 0       1
# swap was on /dev/sdb5 during installation
UUID=d8275689-e223-497f-a89e-291150cf3772 none            swap    sw              0       0
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0
/dev/sdb1 /mnt/data ext4 defaults 0 0

вывод blkid:

/dev/sda1: UUID="6dec9a04-0070-4117-ae85-da2d159964ab" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="915be30b-01"
/dev/sda5: UUID="d8275689-e223-497f-a89e-291150cf3772" TYPE="swap" PARTUUID="915be30b-05"
/dev/sdb1: UUID="147e74ff-c30c-41d9-b313-b4797eeee78e" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="a340bcc9-01"

Я как понимаю что бы все заработало как надо, надо попробовать в fstab /mnt/data примонтировать не через /dev/, а используя UUID (в моем случае: UUID=«147e74ff-c30c-41d9-b313-b4797eeee78e»)?



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

Рядом совсем недавно была тема, что канонические имена меняются. И регулярно возникают такие темы, но кто-же слушает.

Это еще один яркий пример. Его-бы большими красными буквами! Но все-равно никто не будет читать.

Всегда, когда дисков более одного, канонические имена могут распределиться самым случайным образом. Никогда не следует полагаться, что sda всегда будет sda. Прежде чем использовать, убедиться, что это именно тот диск, который тебе нужен. Ориентироваться по УУИД-ам не пожелаешь и врагу.

Простой и наглядный вариант. Назначить разделу метку тома. Монтировать по метке.

И мимоходом. Более глупую разметку, чем у тебя на sda сложно придумать.

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

Более глупую разметку, чем у тебя на sda сложно придумать.

Есть подозрение что «гениальную» схему разметки придумал не юзер.

Ориентироваться по УУИД-ам не пожелаешь и врагу.

«Метки» людям, UUID программам.

@MarAV будь последователен: замени монтирование «по имени устройства» на монтирование «по UUID».

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

Заменил, и не помогло. В выходные делался бэкап pve через stop. В итоге при загрузке ФС вывод fdisk -l:

Диск /dev/sda: 100 GiB, 107374182400 байт, 209715200 секторов
Disk model: QEMU HARDDISK
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0xa340bcc9

Устр-во    Загрузочный начало     Конец   Секторы Размер Идентификатор Тип
/dev/sda1                2048 209715199 209713152   100G            83 Linux


Диск /dev/sdb: 50 GiB, 53687091200 байт, 104857600 секторов
Disk model: QEMU HARDDISK
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x915be30b

Устр-во    Загрузочный    начало     Конец   Секторы Размер Идентификатор Тип
/dev/sdb1  *                2048 102856703 102854656    49G            83 Linux
/dev/sdb2              102858750 104855551   1996802   975M             5 Расширенный
/dev/sdb5              102858752 104855551   1996800   975M            82 Linux своп / Solaris

После повторного ребута:

Диск /dev/sda: 50 GiB, 53687091200 байт, 104857600 секторов
Disk model: QEMU HARDDISK
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x915be30b

Устр-во    Загрузочный    начало     Конец   Секторы Размер Идентификатор Тип
/dev/sda1  *                2048 102856703 102854656    49G            83 Linux
/dev/sda2              102858750 104855551   1996802   975M             5 Расширенный
/dev/sda5              102858752 104855551   1996800   975M            82 Linux своп / Solaris


Диск /dev/sdb: 100 GiB, 107374182400 байт, 209715200 секторов
Disk model: QEMU HARDDISK
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0xa340bcc9

Устр-во    Загрузочный начало     Конец   Секторы Размер Идентификатор Тип
/dev/sdb1                2048 209715199 209713152   100G            83 Linux

Содержание fstab:

UUID=6dec9a04-0070-4117-ae85-da2d159964ab /               ext4    errors=remount-ro 0       1
UUID=d8275689-e223-497f-a89e-291150cf3772 none            swap    sw              0       0
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0
UUID=147e74ff-c30c-41d9-b313-b4797eeee78e /mnt/data ext4 defaults 0 0

blkid:

/dev/sda1: UUID="6dec9a04-0070-4117-ae85-da2d159964ab" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="915be30b-01"
/dev/sda5: UUID="d8275689-e223-497f-a89e-291150cf3772" TYPE="swap" PARTUUID="915be30b-05"
/dev/sdb1: UUID="147e74ff-c30c-41d9-b313-b4797eeee78e" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="a340bcc9-01"

lsblk -o NAME,UUID,PARTUUID:

NAME   UUID                                 PARTUUID
sda
├─sda1 6dec9a04-0070-4117-ae85-da2d159964ab 915be30b-01
├─sda2                                      915be30b-02
└─sda5 d8275689-e223-497f-a89e-291150cf3772 915be30b-05
sdb
└─sdb1 147e74ff-c30c-41d9-b313-b4797eeee78e a340bcc9-01
sr0

Куда копать? Что-то не совсем понимаю…

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

Невнимательно я читал тему. :(

У Вас проблема не с порядком монтирования разделов во время загрузки, а с именованием дисковых устройств.

Провёл небольшое исследование вопроса, и…

если коротко, то «гуру решили» (просто первая статья в выдаче гугла – остальные в том же духе выдержаны), что нельзя полагаться на имена дисковых устройств … и забрали у «ретроградов» все возможности держаться за persistent disk names.

В интернете всё ещё есть голоса, утверждающие что «правило udev поможет», но wiki Debian забирает эту иллюзию:

Bullseye (5.7.0)

Under systemd-udev its not possible to rename block devices, so using NAME=sda in udev rules doesn't work. Instead you must create symlinks using SYMLINK+="mydiska" or something. There are also whole trees of persistent name symlinks created by default now under /dev/disk/by-{id,label,partuuid,path,uuid}.

Какие именно проблемы создаёт чехарда с именами дисков? (может быть проще отказаться от постоянных имён?)

Если средствами ВМ нельзя «жестко» задать порядок «инициализации» дисков (я не знаю возможно ли это), то на ум приходят только разного вида «костыли» в конфиге grub. (

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

На самом деле прочел Ваш текст и решил проверить, только сегодня за все дни произошла такая ситуация и Вы правы: на самом деле изменение наименование дисковых устройств ни к чему плохому (по крайней мере визуально) не привела, так как mount в fstab идет по UUID.

Мне просто такое поведение со старта не очень понравилось - я и задался вопросом.

Пока поработаем как есть, но не думаю, что будут проблемы

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

Точно. Разметка - полная дичь.

Даёшь виртуалке один диск под /boot, на котором делаешь партиции и даёшь ещё пачку дисков под / /home и прочие /var, на которых НЕ делаешь НИ партиции, НИ lv. Потому что оно там нахрен не надо. Сразу ФС создаёшь на диске.

targitaj ★★★★★
()
Ответ на: комментарий от andytux

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

Примерно до пятой, что ли, версии ядра такого не было. Потом хреновы ядрёные улучшаторы в очередной раз чего-то там «улучшили». Потому что, конечно же, /dev/disk/by-uuid/49d9d6de-df83-47a7-b4b7-bc8baab37a6b или /dev/disk/by-path/pci-0000:00:0d.0-ata-1 вместо /dev/sda — это же просто и понятно, правда ведь?

alegz ★★★★
()
Ответ на: комментарий от MarAV

Я думал над этой ситуацией (постоянное именование дисковых устройств). Фактически, сейчас все «захоркоджено» до предела: все эти метки, UUID и др. варианты «прибиты» к конкретным устройствам(разделам). Только имя файла устройства в /dev может быть «переменной». Проблема, скорее психологическая, чем «компьютерная».

master_0K
()