[Eisfair] [E1] als Gast in KVM (virtio-Treiber)

Rolf Bensch azubi at bensch-net.de
Do Sep 14 17:00:40 CEST 2017


Hallo Marcus,

Am 13.09.2017 um 20:35 schrieb Marcus Roeckrath:
> Hallo Rolf,
> 
> Rolf Bensch wrote:
> 
>> korrekt vermutet, das habe ich jetzt behoben. Diese Fehlermeldung ist
>> jetzt weg, busybox bleibt.
> 
> Vor dem "Notfallfallback" auf die Busybox müsste eine Fehlermeldung kommen.
> 
> Wie lautet die?

scsi0 : ahci
scsi1 : ahci
scsi2 : ahci
scsi3 : ahci
scsi4 : ahci
scsi5 : ahci
ata1: SATA max UDMA/133 abar m4096 at oxfebd1000 port 0xfebd1380 irq44
ata2: SATA max UDMA/133 abar m4096 at oxfebd1000 port 0xfebd1380 irq44
ata3: SATA max UDMA/133 abar m4096 at oxfebd1000 port 0xfebd1380 irq44
ata4: SATA max UDMA/133 abar m4096 at oxfebd1000 port 0xfebd1380 irq44
ata5: SATA max UDMA/133 abar m4096 at oxfebd1000 port 0xfebd1380 irq44
ata6: SATA max UDMA/133 abar m4096 at oxfebd1000 port 0xfebd1380 irq44
ata2: SATA link down (SStatus 0 SControl 300)
ata3: SATA link down (SStatus 0 SControl 300)
ata4: SATA link down (SStatus 0 SControl 300)
ata6: SATA link down (SStatus 0 SControl 300)
ata5: SATA link down (SStatus 0 SControl 300)
ata1: SATA link down (SStatus 0 SControl 300)
scsi6 : Virtio SCSI HBA
Waiting for SCSI/SATA/PATA devices comming up ...
Creating busybox symlinks ...
Mounting proc ...
Mounting sys ...
Mounting tmpfs on /dev ...
rootdev is a number: 803
MAJOR in hex is 8.
MINOR in hex is 03.
MAJOR in dec is 8.
MINOR in dec is 03.

Cannot find MAJOR 8 MINOR 3 in /proc/diskstats!
This means there is no driver for yout hardware
in the initramfs or the driver was not loaded

Entering rescue shell ...
Type "rootdev root_device" to set device to boot.
    example: "rootdev /dev/sda1"
Then exit rescue shell with "exit" to continue booting.

BusyBox v1.22.1......
/ #

> 
>>> Falls das virtio_scsi weitere Module benötigt (Ausgabe von lsmod im
>>> laufenden System hilft bei der Ermittlung), müssen auch diese Module ins
>>> initramfs Dateisystem kopiert und im init-Skript in richtiger Reihenfolge
>>> geladen werden.
>>
>> Das ist nicht so einfach. Habe die Boot-Platte jetzt bei SATA belassen
>> und zusätzlich eine virtio-Platte eingebunden. Die virtio-Platte beibt
>> unsichtbar.
> 
> Also ein fdisk -l zeigt nur die SATA-Paltte an aber nicht die virtio?

Ja, genaus so.

> 
>>> eis # lsmod
>>> virtio_scsi             6769  0
>>> scsi_mod               71083  3 libata,sd_mod,virtio_scsi
> 
> scsi_mod muss auch (vor virtio_scsi) in der initrd geladen werden, vermute
> aber, das das schon in der initrd wegen der SATA-Geschichte drinsteckt.

In /initramfs/init steht scsi_mod vor virtio_scsi


> Das sagt auch die modules.dep zum VIRT-Kernel.
> 
> Da im gebooteten System beide Module geladen sind, sollte eigentlich nun die
> Platte sichtbar sein.

Ich sehe nur /dev/sda[1-4]
> 
>> Was kann ich daraus erkennen? Der virtio-Treiber ist geladen - aber
>> fehlt irgendwas?
> 
> Ich kann auch nur vermuten, da ich keinen Zugriff und keine Erfahrung mit
> solchen Hostingsystemen habe.
> 
> Mach mal ein lspci -vv und schau nach
> 
>          Kernel driver in use:
>          Kernel modules:
> 

Hier die storage-relevanten Bezüge:


> 00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II] (prog-if 80 [Master])
> 	Subsystem: Red Hat, Inc Qemu virtual machine
> 	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
> 	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> 	Latency: 0
> 	Region 0: [virtual] Memory at 000001f0 (32-bit, non-prefetchable) [size=8]
> 	Region 1: [virtual] Memory at 000003f0 (type 3, non-prefetchable)
> 	Region 2: [virtual] Memory at 00000170 (32-bit, non-prefetchable) [size=8]
> 	Region 3: [virtual] Memory at 00000370 (type 3, non-prefetchable)
> 	Region 4: I/O ports at c600 [size=16]
> 	Kernel driver in use: PIIX_IDE
> 	Kernel modules: ata_piix, pata_acpi, ata_generic > 00:05.0 SATA controller: Intel Corporation 82801IR/IO/IH 
(ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] (rev 02) (prog-if 01 
[AHCI 1.0])
> 	Subsystem: Red Hat, Inc QEMU Virtual Machine
> 	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
> 	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> 	Latency: 0
> 	Interrupt: pin A routed to IRQ 42
> 	Region 4: I/O ports at c5c0 [size=32]
> 	Region 5: Memory at febd1000 (32-bit, non-prefetchable) [size=4K]
> 	Capabilities: [a8] SATA HBA v1.0 BAR4 Offset=00000004
> 	Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
> 		Address: 00000000fee0100c  Data: 4161
> 	Kernel driver in use: ahci
> 	Kernel modules: ahci
> 
> 00:08.0 SCSI storage controller: Red Hat, Inc Virtio SCSI
> 	Subsystem: Red Hat, Inc Device 0008
> 	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
> 	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> 	Latency: 0
> 	Interrupt: pin A routed to IRQ 11
> 	Region 0: I/O ports at c500 [size=64]
> 	Region 1: Memory at febd2000 (32-bit, non-prefetchable) [size=4K]
> 	Capabilities: [40] MSI-X: Enable+ Count=4 Masked-
> 		Vector table: BAR=1 offset=00000000
> 		PBA: BAR=1 offset=00000800
> 	Kernel driver in use: virtio-pci
> 
> 00:09.0 SCSI storage controller: Red Hat, Inc Virtio block device
> 	Subsystem: Red Hat, Inc Device 0002
> 	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
> 	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> 	Latency: 0
> 	Interrupt: pin A routed to IRQ 11
> 	Region 0: I/O ports at c540 [size=64]
> 	Region 1: Memory at febd3000 (32-bit, non-prefetchable) [size=4K]
> 	Capabilities: [40] MSI-X: Enable+ Count=2 Masked-
> 		Vector table: BAR=1 offset=00000000
> 		PBA: BAR=1 offset=00000800
> 	Kernel driver in use: virtio-pci

Das Modul habe ich aus der Base-Konfig wieder entfernt. Ich denke, das 
war richtig oder?

Grüße (und vielen Dank) Rolf


Mehr Informationen über die Mailingliste Eisfair