Bug 1034072
Summary: | Domain OS can't boot up from specified disk when existing more than 8 multifunction "virtio-blk-pci" disks in that domain. | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Hu Jianwei <jiahu> | ||||||||
Component: | seabios | Assignee: | Gerd Hoffmann <kraxel> | ||||||||
Status: | CLOSED CANTFIX | QA Contact: | Virtualization Bugs <virt-bugs> | ||||||||
Severity: | medium | Docs Contact: | |||||||||
Priority: | medium | ||||||||||
Version: | 7.0 | CC: | ajia, dyuan, flang, hhuang, honzhang, juzhang, kraxel, mzhan, pbonzini, rhod, virt-bugs, virt-docs, virt-maint, xuhan, yruseva | ||||||||
Target Milestone: | rc | ||||||||||
Target Release: | --- | ||||||||||
Hardware: | x86_64 | ||||||||||
OS: | Linux | ||||||||||
Whiteboard: | |||||||||||
Fixed In Version: | Doc Type: | Known Issue | |||||||||
Doc Text: |
The SeaBIOS application runs in real mode for compatibility with BIOS interfaces. This limits the amount of memory available. As a consequence, SeaBIOS is only able to handle a limited number of disks. Currently, the supported number of disks is:
virtio-scsi — 64
virtio-blk — 4
ahci/sata — 24 (4 controllers with all 6 ports connected)
usb-storage — 4
As a workaround for this problem, when attaching a large number of disks to your virtual machine, make sure that your system disk has a small pci slot number, so SeaBIOS sees it first when scanning the pci bus. It is also recommended to use the virtio-scsi device instead of virtio-blk as the per-disk memory overhead is smaller.
|
Story Points: | --- | ||||||||
Clone Of: | |||||||||||
: | 1040714 (view as bug list) | Environment: | |||||||||
Last Closed: | 2014-01-19 10:27:15 UTC | Type: | Bug | ||||||||
Regression: | --- | Mount Type: | --- | ||||||||
Documentation: | --- | CRM: | |||||||||
Verified Versions: | Category: | --- | |||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||
Embargoed: | |||||||||||
Bug Depends On: | |||||||||||
Bug Blocks: | 1040714 | ||||||||||
Attachments: |
|
Description
Hu Jianwei
2013-11-25 08:40:25 UTC
Created attachment 828565 [details]
r7_multi.xml
Created attachment 828566 [details]
r7_without_multi.xml
Created attachment 828567 [details]
NO_bootable.png
Most likely seabios runs out of memory (real mode address space). Not sure we can do much about it, other than switching to OVMF. Workaround: use virtio-scsi instead, needs less memory per disk as all disks share one virtio queue for requests. So, all we can do about this is documenting the limits. Can you please test how many disks seabios can manage for (a) virtio-blk (b) virtio-scsi (all disks on one controller) (c) ahci Test procedere: start guest with boot menu enabled, hit F12, verify all configured disks are listed in the boot menu. thank you. (In reply to Gerd Hoffmann from comment #6) > So, all we can do about this is documenting the limits. > > Can you please test how many disks seabios can manage for > > (a) virtio-blk > (b) virtio-scsi (all disks on one controller) > (c) ahci > > Test procedere: start guest with boot menu enabled, hit F12, > verify all configured disks are listed in the boot menu. > > thank you. Hi Flang, Would you please do some test and update in the bz? Best Regards, Junyi (In reply to Gerd Hoffmann from comment #6) > So, all we can do about this is documenting the limits. > > Can you please test how many disks seabios can manage for > > (a) virtio-blk > (b) virtio-scsi (all disks on one controller) > (c) ahci > > Test procedere: start guest with boot menu enabled, hit F12, > verify all configured disks are listed in the boot menu. > > thank you. Test this bug as follow version: Host # uname -r 3.10.0-55.el7.x86_64 # rpm -q qemu-kvm qemu-kvm-1.5.3-20.el7.x86_64 Results:Max num of seabios *:not test _________________________________________________________________________________________________________________________________________ | Device | virtio-scsi | virtio-blk | ide | sata | virtio-net | rtl8139 | e1000 | usb3.0 | |______________|_______________________|__________________|___________|________|______________|_____________|_______________|___________| | | | | | | | | | | | Max num | 126 | 7 | 4 | 6 | 22 | 22 | 22 | 18 | |one controller| | | | | | | | | |______________|_______________________|__________________|___________|________|______________|_____________|_______________|___________| | | | | | | | | | | | Max num | * | * | * | 93 | * | * | * | * | |mul controller| | | | | | | | | |______________|_______________________|__________________|___________|________|______________|_____________|_______________|___________| Test as follow version: Host # uname -r 3.10.0-55.el7.x86_64 # rpm -q qemu-kvm qemu-kvm-1.5.3-20.el7.x86_64 Steps: 1.Boot guest("-nodefaults ") with the test devices(and without any other devices). 2.Press "F12" 3.See the boot menu Results: Max num of seabios boot menu : Results: ________________________________________________________________________________ | Device | virtio-scsi | virtio-blk | ide | sata | |______________|___________________|__________________|___________|________| | | | | | | | Max num | 126 | 7 | 4 | 6 | |one controller| | | | | |______________|___________________|__________________|___________|________| | | | | | | | Max num | * | * | * | 93 | |mul controller| | | | | |______________|___________________|__________________|___________|________| ________________________________________________________________________ | Device | virtio-net | rtl8139 | e1000 | usb3.0 | |______________|_____________|_____________|_______________|___________| | | | | | | | Max num | 22 | 22 | 22 | 18 | |one controller| | | | | |______________|_____________|_____________|_______________|___________| | | | | | | | Max num | | | | | |mul controller| * | * | * | * | |______________|_____________|_____________|_______________|___________| Test seabios version: seabios-1.7.2.2-4.el7.x86_64 Thanks. So lets apply apply some save margin so small changes in the seabios size don't render the documented limits invalid, and also to leave some room for multiple kinds of interfaces at the same time. How about these limits: virtio-scsi: 64 virtio-blk: 4 ide: 4 (not sure this is needed, you can't have more ide devices anyway ...) ahci/sata: 48 (8 controllers with all 6 ports hooked up). usb-storage: 4 (should be enough for all practical purposes, usb isn't the interface you want use for lots of disks anyway). Paolo? What do you think? Ronen? How we are going to document this? Known issue? Release Notes? Looks great for boot-menu purposes, but I'm sure some customers are looking for more than this number of disks. I've definitely seen bug reports going up to vdj or more. Could we specify that boot disks should be given lower PCI addresses if the need arises? Does that require disabling parallel scanning of hardware (and how much boot speed does parallel scanning really buy)? (In reply to Paolo Bonzini from comment #12) > Looks great for boot-menu purposes, but I'm sure some customers are looking > for more than this number of disks. I've definitely seen bug reports going > up to vdj or more. Sure, that is (seabios) bootable disks only. > Could we specify that boot disks should be given lower PCI addresses if the > need arises? Probably a good idea to mention it. > Does that require disabling parallel scanning of hardware (and > how much boot speed does parallel scanning really buy)? The speedup effect is probably small on virtual hardware which tends to respond pretty fast. I've never actually measured it though. Also the detection order doesn't diverge from scanning order much. Again on virtual hardware, probably also due to hardware responding fast. I'd tend to stay with the upstream default (parallel scanning enabled) due to better test coverage. *** Bug 1066788 has been marked as a duplicate of this bug. *** |