Op 26-11-18 om 15:02 schreef Frans van Berckel: > Hoi Paul, > > Ik begin positief. Ik heb hier totaal geen kaas van gegeten. ;-) > > On Mon, 2018-11-26 at 11:43 +0100, Paul van der Vlis wrote: >> Hallo, >> >> Ik heb een -niet zo belangrijke- virtuele machine die niet meer wil >> booten. Dit stoort me, ik heb tot nu toe mijn virtuele machines >> steeds kunnen repareren bij problemen. Een andere keer zou ditzelfde >> misschien kunnen gebeuren bij een belangrijke virtuele machine, toch? > > Zeker, liever nu, dan later als je er niet meer bij kan komen. > >> Platform is kvm/qemu met libvirt, ik gebruik qcow2 virtuele disks. >> Deze gedragen zich eigenlijk gewoon als een disk. > > Wat is de naam van het block device, /dev/vda ?
/dev/nbd0. Dat gebruik ik in elk geval bij fdisk. >> Na booten van de VM wordt grub niet gestart. De VM staat wel als >> "running" in "virsh list", en ik kan er ook naartoe connecten via de >> virtuele console. Normaal verschijnt Grub, maar nu niets. > > Staat Grub, in de config, op non verbose, of iets als hide? In /etc/default/grub staat niets over (non) verbose of hide. Er was een optie die Linux op non-verbose zet, maar die had ik al verwijderd. Echter, ik heb echter de indruk dat Grub niet start, het kan dus niets starten. Een verbose-grub zou inderdaad mooi zijn! >> Ik heb een fsck uitgevoerd en er was weliswaar een probleem, maar dat >> is nu opgelost. Ik kan nu bij het filesysteem en dan chrooten. In de >> logs van de VM zie ik geen pogingen tot booten. > > Zit er tussen die commando's fdisk (of iets gelijk's)? Nee, geen fdisk. Ik doe zoiets: ---- if test "$1" = ""; then echo "no VM specified"; exit; fi VM=$1 # echo "/data/$VM.qcow2" modprobe nbd max_part=63 qemu-nbd -d /dev/nbd0 > /dev/null # voor de zekerheid qemu-nbd -c /dev/nbd0 /data/$VM.qcow2 kpartx -a /dev/nbd0 sleep 1 lvchange -a y /dev/vg0 # if ! test $? = 0; then exit; fi mount /dev/vg0/root /mnt/ mount --bind /dev/ /mnt/dev mount -t proc proc /mnt/proc mount -t sysfs none /mnt/sys echo "tik exit om te stoppen" debian_chroot="$VM" chroot /mnt cd umount /mnt/proc umount /mnt/sys umount /mnt/dev umount /mnt lvchange -a n /dev/vg0 kpartx -d /dev/nbd0 qemu-nbd -d /dev/nbd0 --- Bij de fsck doe ik net zoiets, alleen dan niet mounten maar zoiets: e2fsck -p -f /dev/vg0/root Dit is Jessie. In Stretch is "kpartx" niet meer nodig. Ik boot van een partitie in LVM. Ah, misschien mist de lvm module in grub: nee, hij is er gewoon. >> Uiteraard heb ik grub opnieuw geïnstalleerd met de optie "--recheck", >> dan zie ik verder geen foutmelding. > > Check! > >> Virsh met debug opties ("virsh -d4 start ..") geeft ook niets. >> In de logs van libvirt lijkt de VM gewoon te starten. >> Andere virtuele machines doen het goed. >> >> Ik heb even geen idee meer, jullie misschien? > > Dit is wat je allemaal niet ziet. Wat zie je wel voor een meldingen? ----- root@kvm:/data# virsh start --console kvm65 Domain kvm65 started Connected to domain kvm65 Escape character is ^] ----- Normaal verschijnt nu het grub menu, maar nu dus niets. > Of is het iets van voor Grub, op disk niveau zeg maar? Laat fdisk je > bijvoorbeeld iets zinvols zien? Vergelijk dat eens met een andere VM. > > # fdisk -l /dev/vda In de chroot: ----- (kvm65)root@kvm:/# fdisk -l /dev/nbd0 Disk /dev/nbd0: 1000 GiB, 1073741824000 bytes, 2097152000 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x8d736134 Device Boot Start End Sectors Size Id Type /dev/nbd0p1 * 2048 2097149951 2097147904 1000G 8e Linux LVM (kvm65)root@kvm:/# ----- > Als het geen VM was, zou ik iets als wipefs draaien. In feite is er niet veel verschil. > Werkt dat ook met > /dev/vda? !! Doe dit zonder -a !! Anders ben je alles kwijt. > > # wipefs /dev/sda Hmm, ik ken dit commando niet. Wat is je doelstelling precies? Realiseer je dat ik LVM gebruik wat het vast ingewikkelder maakt. Ik heb 1 LVM partitie waarin alles zit, ook /boot. Dat is iets wat wel vaker wordt afgeraden, maar ik doe het al jaren bij VM's. Ahum. Grub2 ondersteund dit gewoon. Groet, Paul -- Paul van der Vlis Linux systeembeheer Groningen https://www.vandervlis.nl/