[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Grub komt niet



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/


Reply to: