|
|
(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 /> |