Opened 18 years ago
Last modified 17 years ago
#10 closed defect
ParaVM support — at Version 6
Reported by: | ecprice | Owned by: | nelhage |
---|---|---|---|
Priority: | blocker | Milestone: | Public Beta |
Component: | database | Version: | |
Keywords: | Cc: |
Description (last modified by broder)
Make it possible to create and control ParaVM machines from the web interface and boot them through the database
Change History (6)
comment:1 Changed 17 years ago by tabbott
- Priority changed from minor to major
comment:2 Changed 17 years ago by andersk
The important blocker for paravirtualized guests is a way to load the guest kernel. Having the guest kernel locked at 2.6.18 isn’t acceptable, and even if it were, we’d have to coordinate black-mesa host kernel upgrades with all paravirt guests at once to have the right modules available.
I suspect paravirt console support is straightforward, but paravirt kernel loading requires a mechanism we don’t have, unless we decide we’re willing to trust pygrub.
comment:3 follow-ups: ↓ 4 ↓ 5 Changed 17 years ago by anonymous
Using Pygrub:
- Save the kernel and ramdisk images inside of the guest domain.
- Create a grub config file, /boot/grub/menu.lst in the guest domain that contains an entry for booting off of the kernel and ramdisk images inside of the guest.
- The root option for the kernel entry should look identical to the root option in the original guest domain's config file.
- pygrub seems to understand only a small fraction of the options that grub understands; for example, it does not understand "boot" or "savedefault." A very basic menu.lst file is all that is needed.
- Modify the guest domain's config file to exclude the kernel and ramdisk entries and include a new entry: "bootloader = /path/to/pygrub"
- The "root" line in the domU's config file is probably also unnecessary; it's presence does not seem to affect performance
- Start up the paravm in the same way: xm create -c /etc/xen/paravm_config_file
comment:4 in reply to: ↑ 3 Changed 17 years ago by price
3 was neboat.
- Start up the paravm in the same way: xm create -c /etc/xen/paravm_config_file
There's an example of this in /etc/xen/neboat.para.test1.cfg, starting a test machine neboat_para_test1.
comment:5 in reply to: ↑ 3 Changed 17 years ago by neboat
- Modify the guest domain's config file to exclude the kernel and ramdisk entries and include a new entry: "bootloader = /path/to/pygrub"
Also check that the entry for "disk" contains the device that holds the root portion of the filesystem first in the array; otherwise pygrub, when run from the paravm's config file, will fail.
comment:6 Changed 17 years ago by broder
- Component changed from vnc to database
- Description modified (diff)
- Milestone set to Public Beta
- Owner changed from quentin to nelhage
- Priority changed from major to critical
- Type changed from enhancement to defect
Now that we have pygrub and ParaVMs working, we need support for them from the web interface and database.
Since this is essentially blocking paraVMs support for the service, its priority should be higher.