В Debian 9.6 у меня есть виртуализация QEMU-KVM. После проблем с электричеством эта машина просто выключилась. После повторного включения я не могу запустить ни одну виртуальную машину из-за этой ошибки:
ошибка: внутренняя ошибка: процесс завершился при подключении к монитору: 2022-02-03T12:01:58.403986Z qemu-system-x86_64: -drive file=/dev/drbd6,format=raw,if=none,id=drive-virtio -disk0,cache=none: Не удалось открыть '/dev/drbd6': файловая система только для чтения
Это происходит на каждой из 4 виртуальных машин. Fdisk видит только это:
Диск /dev/sda: 931,5 ГиБ, 1000204886016 байт, 1953525168 секторов
Единицы: секторы 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода/вывода (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x00037a37
Размер начальных и конечных секторов загрузки устройства Идентификатор типа
/dev/sda1 * 2048 19531775 19529728 9.3G fd Автоопределение рейда Linux
/dev/sda2 19531776 35155967 15624192 7.5G fd Автоопределение рейда Linux
/dev/sda3 35155968 1939451903 1904295936 908G fd Автоопределение рейда Linux
Диск /dev/sdb: 931,5 ГиБ, 1000204886016 байт, 1953525168 секторов
Единицы: секторы 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода/вывода (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x000e1911
Размер начальных и конечных секторов загрузки устройства Идентификатор типа
/dev/sdb1 * 2048 19531775 19529728 9.3G fd Автоопределение рейда Linux
/dev/sdb2 19531776 35155967 15624192 7.5G fd Автоопределение рейда Linux
/dev/sdb3 35155968 1939451903 1904295936 908G fd Автоопределение рейда Linux
Диск /dev/md0: 9,3 ГиБ, 9998098432 байт, 19527536 секторов
Единицы: секторы 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода/вывода (минимальный/оптимальный): 512 байт / 512 байт
Диск /dev/md1: 7,5 ГиБ, 7998525440 байт, 15622120 секторов
Единицы: секторы 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода/вывода (минимальный/оптимальный): 512 байт / 512 байт
Диск /dev/md2: 908 ГиБ, 974998331392 байт, 1904293616 секторов
Единицы: секторы 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода/вывода (минимальный/оптимальный): 512 байт / 512 байт
Я понял, что это проблема drbd (или corosync), о которой я не знал, что она там существует, и вот как это делается. Ниже некоторая информация, которая одинакова на бот-машинах:
# статус службы drbd
• drbd.service — LSB: управление ресурсами DRBD.
Загружено: загружено (/etc/init.d/drbd; создано; предустановка поставщика: включена)
Активен: активен (закрыт) со вт 08.02.2022 11:34:48 CET; 6 минут назад
Документы: man:systemd-sysv-generator(8)
Процесс: 12711 ExecStop=/etc/init.d/drbd stop (code=exited, status=0/SUCCESS)
Процесс: 12793 ExecStart=/etc/init.d/drbd start (code=exited, status=0/SUCCESS)
08 февраля 11:34:47 brain systemd[1]: Запуск LSB: Управление ресурсами DRBD....
08 февраля, 11:34:47 brain drbd[12793]: запуск ресурсов DRBD:[
08 февраля 11:34:47 мозг drbd[12793]: создать разрешение: r0 r1 r10 r2 r3 r4 r5 r6 r7 r8 r9
08 февраля 11:34:47 мозг drbd[12793]: подготовить диск: r0 r1 r10 r2 r3 r4 r5 r6 r7 r8 r9
08 февраля 11:34:47 мозг drbd[12793]: настроить диск: r0: не удалось (применить-al: 20) r1: не удалось (применить-al: 20) r10: не удалось (применить-al: 20) r2: не удалось ( применить-al:20) r3: не удалось (применить-al: 20) r4: не удалось (применить-al: 20) r5: не удалось (применить
08 февраля 11:34:47 мозг drbd[12793]: настроить сеть: r0 r1 r10 r2 r3 r4 r5 r6 r7 r8 r9
08 фев 11:34:47 мозг drbd[12793]: ]
08 февраля 11:34:48 brain drbd[12793]: ПРЕДУПРЕЖДЕНИЕ: stdin/stdout не является TTY; используя /dev/консоль.
08 февраля 11:34:48 brain systemd[1]: запущен LSB: управление ресурсами DRBD..
# кошка /proc/drbd
версия: 8.4.7 (апи: 1/прото: 86-101)
исходная версия: F7D2F0C9036CD0E796D5958
0: cs:Подключен ro:Вторичный/Вторичный ds:Бездисковый/Бездисковый C r-----
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
1: cs:Connected ro:Secondary/Secondary ds:бездисковый/бездисковый C r-----
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
2: cs:Connected ro:Secondary/Secondary ds:бездисковый/бездисковый C r-----
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
3: cs:Connected ro:Secondary/Secondary ds:бездисковый/бездисковый C r-----
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
4: cs:Connected ro:Secondary/Secondary ds:бездисковый/бездисковый C r-----
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
5: cs:Connected ro:Secondary/Secondary ds:бездисковый/бездисковый C r-----
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
6: cs:Connected ro:Secondary/Secondary ds:бездисковый/бездисковый C r-----
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
7: cs:Connected ro:Secondary/Secondary ds:бездисковый/бездисковый C r-----
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
8: cs:Connected ro:Secondary/Secondary ds:бездисковый/бездисковый C r-----
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
9: cs:Connected ro:Вторичный/Вторичный ds:Бездисковый/Бездисковый C r-----
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
10: cs:Connected ro:Вторичный/Вторичный ds:Бездисковый/Бездисковый C r-----
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
Когда я хочу сделать один из дисков основным на VE1, это дает мне ошибку:
# drbdadm первичный r0
0: изменение состояния не удалось: (-2) требуется доступ к данным UpToDate.
Команда 'drbdsetup-84 primary 0' завершается с кодом выхода 17.
На VE2 (вторичном) работает drbdadm вторичное r0.
# drbdadm до r0
open(/dev/vg0/lv-sheep) не удалось: нет такого файла или каталога
Команда 'drbdmeta 0 v08 /dev/vg0/lv-sheep internal apply-al' завершена с кодом выхода 20
И нигде не могу найти /dev/vg0. Все находится в /dev/drbd/vg0/by-disk/lv-sheep.
Я не знаю, существовали ли эти виртуальные машины, должен ли я использовать такую последовательность команд:
# drbdadm create-md r0
# drbdadm до r0
# первичный drbdadm r0 --force
# mkfs.ext4 /dev/drbd0
У кого-нибудь есть мысли?
РЕДАКТИРОВАТЬ: Дополнительные данные
# vgdisplay
--- Группа томов ---
Имя ВГ vg0
Идентификатор системы
Формат lvm2
Области метаданных 1
Последовательность метаданных № 26
Доступ к VG для чтения/записи
Изменяемый размер статуса VG
МАКС. УРОВ. 0
Кур LV 11
Открыть LV 0
Макс. PV 0
Кур ПВ 1
Акт 1 часть
Размер VG 908,04 ГиБ
Размер PE 4,00 МБ
Всего ЧП 232457
Alloc PE / Размер 177664 / 694,00 ГиБ
Бесплатный PE / Размер 54793 / 214,04 ГиБ
VG UUID cHjzTE-lZxc-J6Qs-35jD-3kRn-csJx-g5MgNy
# кошка /etc/drbd.conf
# Вы можете найти пример в /usr/share/doc/drbd.../drbd.conf.example
включить "drbd.d/global_common.conf";
включить "drbd.d/*.res";
# кот /etc/drbd.d/r1.res
ресурс r1 {
устройство /dev/drbd1;
диск /dev/vg0/lv-viewcenter;
метадиск внутренний;
запускать {
# стать первичным на обоих;
}
сеть {
разрешить два основных цвета;
после-сб-0при сбросе-ноль-изменений;
после-сб-1при сбросе-вторичный;
после-сб-2при разъединении;
крам-хмак-алг ша1;
общий секрет "T/L0zE/i9eiPI";
}
синхронизатор {
скорость 200М;
}
на мозг {
адрес 10.0.0.1:7789;
}
на мизинце {
адрес 10.0.0.2:7789;
}
}