|
|
| (24 intermediate revisions by 2 users not shown) |
| Line 2: |
Line 2: |
| | | | |
| | {{Anchor|Virtualization}} | | {{Anchor|Virtualization}} |
| | + | |
| | | | |
| | == Virtualization == | | == Virtualization == |
| | In this section, we cover discussion of Fedora virtualization technologies on the | | In this section, we cover discussion of Fedora virtualization technologies on the |
| − | @fedora-virt and @libvirt-list lists. | + | @fedora-virt list. |
| | | | |
| | Contributing Writer: [[User:Dale | Dale Bewley]] | | Contributing Writer: [[User:Dale | Dale Bewley]] |
| Line 13: |
Line 14: |
| | [http://www.redhat.com/mailman/listinfo/fedora-virt fedora-virt list]. | | [http://www.redhat.com/mailman/listinfo/fedora-virt fedora-virt list]. |
| | | | |
| − | ==== Fedora Virt Status ==== | + | ==== Virt Status Report ==== |
| − | [[MarkMcLoughlin|Mark McLoughlin]]
| + | |
| − | posted<ref>http://www.redhat.com/archives/fedora-virt/2009-October/msg00138.html</ref>
| + | |
| − | another excellent round up of virt related bugs and developments. Mark reports
| + | |
| − | "Thankfully, the virt blocker list is now clear, but if you're looking
| + | |
| − | to help with making Fedora 12 even better, there's no better place to
| + | |
| − | start than the F12 target tracker bug<ref>https://bugzilla.redhat.com/showdependencytree.cgi?id=F12VirtTarget&hide_resolved=1</ref>:
| + | |
| − | | + | |
| − | There's over 100 bugs there that need your help!"
| + | |
| − | | + | |
| − | <references />
| + | |
| − | | + | |
| − | ==== Help testing the Windows Registry feature of libguestfs ====
| + | |
| − | [[RichardJones|Richard Jones]]
| + | |
| − | asked<ref>http://www.redhat.com/archives/fedora-virt/2009-October/msg00128.html</ref> for some help testing a new feature of {{package|libguestfs}}
| + | |
| − | | + | |
| − | "If you have any Windows guests, then you can help Fedora to support
| + | |
| − | Windows guests better by spending a few minutes testing the Windows
| + | |
| − | Registry feature we just added to libguestfs 1.0.75."
| + | |
| − | | + | |
| − | To help, all you need is:
| + | |
| − | * A Windows NT/200x/XP/Vista/7/... guest
| + | |
| − | * Fedora 12 or Fedora Rawhide host
| + | |
| − | * <code>libguestfs-tools</code> >= 1.0.75 (from updates or koji<ref>http://koji.fedoraproject.org/koji/packageinfo?packageID=8391</ref>)
| + | |
| − | * a few minutes of your time
| + | |
| − | | + | |
| − | <references />
| + | |
| − | | + | |
| − | ==== KSM Tuning in Fedora 12 ====
| + | |
| − | [[MarkMcLoughlin|Mark McLoughlin]]
| + | |
| − | described<ref>http://www.redhat.com/archives/fedora-virt/2009-October/msg00119.html</ref>
| + | |
| − | the default state of KSM<ref>http://fedoraproject.org/wiki/Features/KSM</ref> on Fedora systems.
| + | |
| − | "For Fedora 13, it'll be off by default in the kernel and the recommended
| + | |
| − | way of switching it on is with 'chkconfig ksm on'"
| + | |
| − | "For Fedora [[Releases/12|12]], it's on by default in the kernel, 'chkconfig ksm on' just changes max pages and the only way of disabling it is by manually
| + | |
| − | writing zero to {{filename|/sys/kernel/mm/ksm/run}}."
| + | |
| − | | + | |
| − | At release of Fedora 12 the kernel will default to a maximum of 2000 merged memory pages. A future F12 kernel update to 2.6.32 will likely disable KSM by default.
| + | |
| − | To take advantage of KSM in Fedora 12, the <code>ksm</code> service must be enabled:
| + | |
| − | <pre>
| + | |
| − | sudo chkconfig ksm on
| + | |
| − | </pre>
| + | |
| − | | + | |
| − | [[MarkMcLoughlin|Mark McLoughlin]]
| + | |
| − | also noted<ref>http://www.redhat.com/archives/fedora-virt/2009-October/msg00112.html</ref>
| + | |
| − | The maximum number of pages which may be merged defaults to half of the system
| + | |
| − | memory, and may also be manually defined in {{filename|/etc/sysconfig/ksm}}.
| + | |
| − | "Here's the logic we have in the init script<ref>http://gitorious.org/ksm-control-scripts/ksm-control-scripts</ref>:"
| + | |
| − | <pre>
| + | |
| − | # unless KSM_MAX_KERNEL_PAGES is set, let ksm munch up to half of total memory.
| + | |
| − | default_max_kernel_pages () {
| + | |
| − | local total pagesize
| + | |
| − | total=`awk '/^MemTotal:/ {print $2}' /proc/meminfo`
| + | |
| − | pagesize=`getconf PAGESIZE`
| + | |
| − | echo $[total * 1024 / pagesize / 2]
| + | |
| − | }
| + | |
| − | </pre>
| + | |
| − | | + | |
| | [[JustinForbes|Justin Forbes]] | | [[JustinForbes|Justin Forbes]] |
| − | points out<ref>http://www.redhat.com/archives/fedora-virt/2009-October/msg00115.html</ref>
| + | posted<ref>http://www.redhat.com/archives/fedora-virt/2009-December/msg00056.html</ref> a Fedora virtualization status report. |
| − | "The limit to half of total memory is because ksm pages are unswappable at
| + | Justin pointed out F13 bugs<ref>http://fedoraproject.org/wiki/Virtualization_bugs</ref> now include Important and Pony classifications in addition to Blocker and Target. |
| − | this time. To be fixed in a future kernel."
| + | |
| − | | + | |
| − | A second service, <code>ksmtuned</code>, may also be enabled.
| + | |
| − | Ksmtuned regulates how aggressively the system will attempt to merge pages.
| + | |
| − | Parameters such as how many pages to scan before sleeping and how long to
| + | |
| − | sleep may be configured in {{filename|/etc/ksmtuned.conf}}.
| + | |
| − | | + | |
| − | Memory pages must be flagged as mergable before KSM will scan them looking for
| + | |
| − | duplicates. At present only Qemu pages will be marked as such.
| + | |
| − | As described in the kernel docs<ref>http://www.kernel.org/doc/Documentation/vm/ksm.txt</ref>,
| + | |
| − | the effect of KSM system memory may be examined in {{filename|/sys/kernel/mm/ksm}}.
| + | |
| − | "A high ratio of pages_sharing to pages_shared indicates good sharing, but
| + | |
| − | a high ratio of pages_unshared to pages_sharing indicates wasted effort."
| + | |
| | | | |
| | <references /> | | <references /> |
| | | | |
| − | === Libvirt List === | + | ==== RHEL and Fedora Virtualization Feature Parity ==== |
| − | This section contains the discussion happening on the
| + | Robert Day wondered how the virtualization features<ref>http://www.redhat.com/virtualization/rhev/</ref> of Red Hat Enterprise Linux 5.4 |
| − | [http://www.redhat.com/mailman/listinfo/libvir-list libvir-list].
| + | compared to Fedora 12. |
| | | | |
| − | ==== Node device enumeration with udev ====
| + | [[DanielBerrange|Daniel Berrange]] |
| − | [[DaveAllan|Dave Allan]] | + | explained<ref>http://www.redhat.com/archives/fedora-virt/2009-December/msg00040.html</ref> |
| − | posted<ref>http://www.redhat.com/archives/libvir-list/2009-October/msg00731.html</ref>
| + | "The KVM based virtualization in RHEL-5.4 is not nearly so far behind |
| − | "a fully functional version of the node device udev<ref>http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html</ref> based backend, incorporating all the feedback from earlier revisions." "...I have also included a patch removing the DevKit backend." | + | Fedora as you might think. The {{package|libvirt}} mgmt stack in RHEL-5.4 was |
| − | | + | rebased to be near parity with [[Releases/11|Fedora 11]], and KVM in RHEL-5.4 is |
| − | Also see FWN#146 "Host Device Enumeration API"<ref>http://fedoraproject.org/wiki/FWN/Issue146#Host_Device_Enumeration_API</ref> for some coverage of the host device enumeration API.
| + | also pretty close to that using what's best described as a hybrid of |
| | + | kvm-83 and kvm-84." |
| | | | |
| | <references /> | | <references /> |
| | | | |
| − | ==== Rewrite of QEMU monitor handling ====
| |
| − | [[DanielBerrange|Daniel Berrange]]
| |
| − | posted<ref>http://www.redhat.com/archives/libvir-list/2009-October/msg00644.html</ref> a
| |
| − | "patch series [which] rewrites the QEMU monitor handling almost completely.
| |
| − |
| |
| − | The key theme here is to move from a totally synchronous way of
| |
| − | interacting with the monitor, to a totally asynchronous way. This
| |
| − | allows " {{package|libvirt}} " to handle receipt & dispatch of asychronous events from
| |
| − | QEMU. For example a notification of a disk-full error, or VM state
| |
| − | change. In the process of doing this re-factoring I have also
| |
| − | dropped in basic support/infrastructure for the JSON based monitor."
| |
| | | | |
| | + | ==== ==== |
| | <references /> | | <references /> |
| | | | |
| − | ==== Libvirt QEMU driver thread safety rules ==== | + | ==== ==== |
| − | In a characteristically long and detailed post [[DanielBerrange|Daniel Berrange]]
| + | |
| − | laid<ref>http://www.redhat.com/archives/libvir-list/2009-October/msg00815.html</ref>
| + | |
| − | donw the law on thread safety rules for the Qemu driver<ref>http://www.libvirt.org/drvqemu.html</ref>.
| + | |
| − | | + | |
| − | "This document describes how thread safety is ensured throughout
| + | |
| − | the QEMU driver. The criteria for this model are:
| + | |
| − | | + | |
| − | * Objects must never be exclusively locked for any pro-longed time
| + | |
| − | * Code which sleeps must be able to time out after suitable period
| + | |
| − | * Must be safe against dispatch asynchronous events from monitor"
| + | |
| − | | + | |
| − | Also see FWN#155 "Thread Safety for libvirtd Daemon and Drivers"<ref>http://fedoraproject.org/wiki/FWN/Issue155#Thread_Safety_for_libvirtd_Daemon_and_Drivers</ref>
| + | |
| − | | + | |
| | <references /> | | <references /> |
In this section, we cover discussion of Fedora virtualization technologies on the
@fedora-virt list.