Вчера в моей системе произошел сбой, вынудивший меня выполнить полную перезагрузку на моем хост-компьютере при запуске двух виртуальных машин. Первая машина выжила, а вторая была переведена в режим только чтения. После входа в виртуальную машину я получаю следующие сообщения.
Невозможно настроить ведение журнала. [Errno 30] Файловая система только для чтения: '/var/log/landscape/sysinfo.log' run-parts: / etc / update-mot.d / 50-landscape-sysinfo завершился с кодом возврата 1 / usr / lib / ubuntu-release-upgradeder / release-upgrade-motd: 31: невозможно создать / var / lib / ubuntu-release-upgradeder / release-upgrade-available: Файловая система только для чтения mktemp: не удалось создать файл с помощью шаблона '/var/lib/update-notifier/tmp.XXXXXXXXXX': исполняемые части файловой системы только для чтения: /etc/update-motd.d/95-hwe- eol завершился с кодом возврата 1 / usr / lib / update-notifier / update-motd-fsck-at-reboot: 38: невозможно создать / var / lib / update-notifier / fsck-at-reboot: файловая система только для чтения
Я проверил файл образа диска с хоста, который в данном случае является файлом qcow2, который я использую в тандеме с KVM.
sudo qemu-img check ubuntu204.qcow2
Результат:
В образе ошибок не обнаружено. 245760/245760 = 100,00% выделено, 0,00% фрагментировано, 0,00% сжато кластеров Конечное смещение изображения: 16108814336
Я прочитал, что это принудительное состояние для защиты файловой системы и что если я просканирую диск и все будет в порядке, я можно просто выйти из режима только для чтения, как мне это сделать со следующей таблицей разделов на tty в режиме только для чтения?
loop0 0
loop1 0
loop2 0
loop3 0
loop4 0
loop5 0
|-sda 0 15G 0 disk
|-sda1 0 1M 0 part
|-sda2 0 1G 0 part /boot
|-sda3 0 14G 0 part
|-ubuntu--vg-ubuntu--lv 0 14G 0 lvm /
|-sr0 1 1024M 0 rom
Из предупреждений я подозреваю, что может быть проблема с автоматическими обновлениями
Я бы также вас будет интересовать дальнейшая информация относительно дальнейших проверок, которые вы порекомендуете для обеспечения целостности обеих машин.
Как восстановить файл образа диска qcow2 использование fsck с хоста
Загрузить модуль сетевого блочного устройства:
sudo modprobe nbd max_part = 8
Poweroff machine:
sudo virsh destroy virtual-machine
Подключить образ диска:
sudo qemu -nbd --connect = / dev / nbd0 /var/lib/libvirt/images/virtual-machine.qcow2
Проверить диск: (Диск теперь смонтирован на хосте, вы можете увидеть его в nautilus / explorer)
sudo fsck / dev / nbd0p2
У меня было смонтировано два дополнительных диска, которые я только что просканировал как nbd-dm3, так и nbd0p2, вот пример ожидаемого результата, на который я только что ответил утвердительно.
fsck from util-linux 2.25.2
e2fsck 1.42.12 (29-Aug-2014)
/dev/nbd0p1: recovering journal
/dev/nbd0p1 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Inodes that were part of a corrupted orphan linked list found. Fix<y>? yes
Inode 274 was part of the orphaned inode list. FIXED.
Inode 132276 was part of the orphaned inode list. FIXED.
Deleted inode 142248 has zero dtime. Fix<y>? yes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences: -603674 -623174 +(689342--689343)
Fix<y>? yes
Free blocks count wrong for group #18 (15076, counted=15077).
Fix<y>? yes
Free blocks count wrong for group #19 (11674, counted=11675).
Fix<y>? yes
Free blocks count wrong (632938, counted=670871).
Fix<y>? yes
Inode bitmap differences: -274 -132276 -142248
Fix<y>? yes
Free inodes count wrong for group #0 (52, counted=53).
Fix<y>? yes
Free inodes count wrong for group #16 (99, counted=100).
Fix<y>? yes
Free inodes count wrong for group #17 (519, counted=520).
Fix<y>? yes
Free inodes count wrong (204392, counted=204599).
Fix<y>? yes
/dev/nbd0p1: ***** FILE SYSTEM WAS MODIFIED *****
/dev/nbd0p1: 101833/306432 files (0.2% non-contiguous), 553321/1224192 blocks
Отключить устройство:
sudo qemu-nbd --disconnect / dev / nbd0
/ dev / nbd0 отключено
Запустите машину и проверьте, работает ли она:
virsh запустить виртуальную машину
Источник: https://gist.github.com/islander/8517685e3a9f7e0e1d458033710f0893