Difference between revisions of "Talk:KVM"

From ArchWiki
Jump to: navigation, search
(Created page with "I'm partial to examples on stuff like this, so as I work through this I intend to add some; for example, under the creation of the image: You can name the image whatever you ...")
 
(Enabling huge pages: confirmation for error)
 
(25 intermediate revisions by 8 users not shown)
Line 1: Line 1:
I'm partial to examples on stuff like this, so as I work through this I intend to add some; for example, under the creation of the imageYou can name the image whatever you would like, and likely set the size in GB, so the command to create an image named "arch-standard" with a size of 10G would be:  qemu-img create -f qcow2 arch-standard.qcow2 10G    This will create an image in your current directory; this image file will not be 10G, but something substantially smaller.
+
== Enabling huge pages ==
[[User:Nitmd|Nitmd]] ([[User talk:Nitmd|talk]])
+
With systemd, hugetlbfs is mounted on /dev/hugepages by default, but with mode 0755 and root's uid and gid.
 +
 
 +
I'm giving this a try right now.
 +
[[User:Rbellamy|Rbellamy]] ([[User talk:Rbellamy|talk]]) 03:39, 27 January 2015 (UTC)
 +
 
 +
And not so much... seems I can't access the hugetlbfs as I should.
 +
 
 +
Jan 26 19:57:59 eanna libvirtd[619]: Unable to read from monitor: Connection reset by peer
 +
Jan 26 19:57:59 eanna libvirtd[619]: internal error: early end of file from monitor: possible problem:
 +
                                      2015-01-27T03:57:59.072699Z qemu-system-x86_64: cannot set up guest memory 'pc.ram': Cannot allocate memory
 +
Jan 26 19:57:59 eanna kernel: virbr0: port 2(vnet0) entered disabled state
 +
Jan 26 19:57:59 eanna kernel: device vnet0 left promiscuous mode
 +
Jan 26 19:57:59 eanna kernel: virbr0: port 2(vnet0) entered disabled state
 +
Jan 26 19:57:59 eanna avahi-daemon[669]: Withdrawing workstation service for vnet0.
 +
Jan 26 19:57:59 eanna NetworkManager[576]: <info> (virbr0): link disconnected
 +
Jan 26 19:57:59 eanna systemd-coredump[894]: Process 870 (qemu-system-x86) of user 99 dumped core.
 +
Jan 26 19:57:59 eanna systemd-machined[871]: Machine qemu-prometheus terminated.
 +
Jan 26 19:57:59 eanna gnome-session[711]: Gjs-Message: JS LOG: Failed to launch ibus-daemon: Failed to execute child process "ibus-daemon" (No such file or  directory)
 +
Jan 26 19:57:59 eanna dbus[571]: [system] Activating via systemd: service name='org.freedesktop.GeoClue2' unit='geoclue.service'
 +
Jan 26 19:57:59 eanna libvirtd[619]: error from service: TerminateMachine: No machine 'qemu-prometheus' known
 +
Jan 26 19:57:59 eanna libvirtd[619]: Failed to autostart VM 'prometheus': internal error: early end of file from monitor: possible problem:
 +
                                      2015-01-27T03:57:59.072699Z qemu-system-x86_64: cannot set up guest memory 'pc.ram': Cannot allocate memory
 +
Jan 26 19:57:59 eanna dbus[571]: [system] Activating via systemd: service name='fi.w1.wpa_supplicant1' unit='wpa_supplicant.service'
 +
Jan 26 19:57:59 eanna libvirtd[619]: internal error: Unable to find any usable hugetlbfs mount for 16777216 KiB
 +
Jan 26 19:57:59 eanna dbus[571]: [system] Successfully activated service 'fi.w1.wpa_supplicant1'
 +
Jan 26 19:57:59 eanna NetworkManager[576]: <info> wpa_supplicant started
 +
  Jan 26 19:57:59 eanna polkitd[598]: Registered Authentication Agent for unix-session:c1 (system bus name :1.29 [gnome-shell --mode=gdm], object path /org/ freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.
 +
Jan 26 19:57:59 eanna dbus[571]: [system] Successfully activated service 'org.freedesktop.GeoClue2'
 +
Jan 26 19:57:59 eanna gnome-session[711]: Gjs-Message: JS LOG: No permission to trigger offline updates: Polkit.Error: GDBus.Error:org.freedesktop. PolicyKit1.Error.Failed: Action org.freedesktop.packagekit.trigg
 +
Jan 26 19:57:59 eanna org.freedesktop.Telepathy.AccountManager[715]: (process:921): libnm-glib-WARNING **: Error in get_property: Method "Get" with  signature "ss" on interface "org.freedesktop.DBus.Properties" d
 +
Jan 26 19:57:59 eanna libvirtd[619]: Failed to autostart VM 'atlas': internal error: Unable to find any usable hugetlbfs mount for 16777216 KiB
 +
[[User:Rbellamy|Rbellamy]] ([[User talk:Rbellamy|talk]]) 04:11, 27 January 2015 (UTC)
 +
 
 +
:I think the proper way to manually set hugepage size is with sysctl:
 +
:    sysctl vm.nr_hugepages=550
 +
:
 +
:Then you can enable it permanently by creating the file "/etc/sysctl.d/40-hugepags.conf" and putting the following inside it:
 +
:    vm.nr_hugepages=550
 +
:[[User:Meskarune|Meskarune]] ([[User talk:Meskarune|talk]]) 20:53, 14 September 2017 (UTC)
 +
 
 +
: I just wanted to confirm that with default permissions on dev/hugepages, this error happened: https://gist.github.com/meskarune/90a2c561488303a16e67554cc108e47e
 +
:[[User:Meskarune|Meskarune]] ([[User talk:Meskarune|talk]]) 17:57, 4 November 2017 (UTC)
 +
 
 +
== Merge KVM article into QEMU ==
 +
 
 +
Because the QEMU-KVM fork of QEMU has been deprecated/obsoleted as of QEMU 1.3 [http://wiki.qemu.org/KVM] (about 9 months ago as of this writing [http://git.qemu.org/?p=qemu.git;a=tags]) and QEMU is now on version 1.6, we should strongly consider merging the [[KVM]] article into the main article for [[QEMU]]. A separate article for the KVM fork made sense historically, but now that the fork has been merged upstream, we should just keep everything on one page.
 +
 
 +
Does anyone disagree?<br>
 +
-- [[User:Jstjohn|Jstjohn]] ([[User talk:Jstjohn|talk]]) 16:29, 16 September 2013 (UTC)
 +
 
 +
:Good idea, I don't think anybody can disagree, as the main section of this article, [[KVM#How_to_use_KVM]], already just links to [[QEMU]] ^^
 +
:If then somebody considers [[QEMU]] to have become too long, it should be discussed to split it in some other way.
 +
:-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 01:06, 18 September 2013 (UTC)
 +
 
 +
::The problems of [[KVM#Tips_and_tricks]] should be solved along the way, especially [[KVM#Live_snapshots]] which belongs to [[libvirt]] and not to [[QEMU]]. It should also be clearly stated which features are KVM-specific to avoid confusion.
 +
::-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 10:44, 22 September 2013 (UTC)
 +
 
 +
:::I just merged [[KVM#Live_snapshots]] into [[libvirt]].
 +
:::-- [[User:Jstjohn|Jstjohn]] ([[User talk:Jstjohn|talk]]) 01:03, 7 November 2013 (UTC)
 +
 
 +
== Works with "AMD FX(tm)-8350 Eight-Core Processor" using 2013.11.01 64-bit ==
 +
 
 +
Using Arch Linux release 2013.11.01 in 64-bit mode... it boots fine. Following the wikis... this is basically the parameters I used
 +
 
 +
  $ /usr/bin/qemu-system-x86_64 -boot d -m 1024 -hda '/home/user/path/to/storage' -cdrom '/path/to/archlinux-2013.11.01-dual.iso' -net nic,vlanx=0 -net user,vlan=0 -localtime -k en-gb -smp 8 -enable-kvm -cpu host &
 +
 
 +
* I also booted the Gentoo minimal ISO 20131010 in 64-bit mode (go to gentoo to find out more) using the same parameter but different ISO
 +
 
 +
$ /usr/bin/qemu-system-x86_64 -boot d -m 1024 -hda '/home/user/path/to/storage' -cdrom '/path/to/install-amd64-minimal-20131010.iso' -net nic,vlan=0 -net user,vlan=0 -localtime -k en-gb -smp 8 -enable-kvm -cpu host &
 +
 
 +
* During live CD boot up... I see this error message... which I think is normal...
 +
 
 +
Failed to access perfctr msr (MSR c0010001 is ffffffffffffffff)
 +
 
 +
* You also get errors about not being able to access hardware... obvious why :p (unless I'm wrong)
 +
 
 +
* I haven't installed Arch Linux in the guest yet (busy :p) but will get some time to
 +
 
 +
* from what I can see, the parameter "nested" is already set to "1" for the {{ic|kvm_amd}} module when using the {{ic|systool}} command before applying the "nested" parameter myself
 +
 
 +
* I found loading {{ic|kvm}} or {{ic|kvm_amd}} loads both
 +
 
 +
* you should say {{ic|grep svm /proc/cpuinfo}} for AMD
 +
 
 +
* I have another AMD machine which has "AMD Phenom II x4 955" (showing the {{ic|svm}} CPU flag from {{ic|/proc/cpuinfo}} file which too is using Arch Linux (my server) when I have time... will try it out there
 +
 
 +
* I do plan to move to Intel... better drivers... lets get cracking before I move to Intel
 +
 
 +
* I'm new to wiki code :p<br>
 +
-- [[User:Sinatosk|Sinatosk]] ([[User talk:Sinatosk|talk]]) 22:34, 4 November 2013

Latest revision as of 17:58, 4 November 2017

Enabling huge pages

With systemd, hugetlbfs is mounted on /dev/hugepages by default, but with mode 0755 and root's uid and gid.

I'm giving this a try right now. Rbellamy (talk) 03:39, 27 January 2015 (UTC)

And not so much... seems I can't access the hugetlbfs as I should.

Jan 26 19:57:59 eanna libvirtd[619]: Unable to read from monitor: Connection reset by peer
Jan 26 19:57:59 eanna libvirtd[619]: internal error: early end of file from monitor: possible problem:
                                     2015-01-27T03:57:59.072699Z qemu-system-x86_64: cannot set up guest memory 'pc.ram': Cannot allocate memory
Jan 26 19:57:59 eanna kernel: virbr0: port 2(vnet0) entered disabled state
Jan 26 19:57:59 eanna kernel: device vnet0 left promiscuous mode
Jan 26 19:57:59 eanna kernel: virbr0: port 2(vnet0) entered disabled state
Jan 26 19:57:59 eanna avahi-daemon[669]: Withdrawing workstation service for vnet0.
Jan 26 19:57:59 eanna NetworkManager[576]: <info> (virbr0): link disconnected
Jan 26 19:57:59 eanna systemd-coredump[894]: Process 870 (qemu-system-x86) of user 99 dumped core.
Jan 26 19:57:59 eanna systemd-machined[871]: Machine qemu-prometheus terminated.
Jan 26 19:57:59 eanna gnome-session[711]: Gjs-Message: JS LOG: Failed to launch ibus-daemon: Failed to execute child process "ibus-daemon" (No such file or  directory)
Jan 26 19:57:59 eanna dbus[571]: [system] Activating via systemd: service name='org.freedesktop.GeoClue2' unit='geoclue.service'
Jan 26 19:57:59 eanna libvirtd[619]: error from service: TerminateMachine: No machine 'qemu-prometheus' known
Jan 26 19:57:59 eanna libvirtd[619]: Failed to autostart VM 'prometheus': internal error: early end of file from monitor: possible problem:
                                     2015-01-27T03:57:59.072699Z qemu-system-x86_64: cannot set up guest memory 'pc.ram': Cannot allocate memory
Jan 26 19:57:59 eanna dbus[571]: [system] Activating via systemd: service name='fi.w1.wpa_supplicant1' unit='wpa_supplicant.service'
Jan 26 19:57:59 eanna libvirtd[619]: internal error: Unable to find any usable hugetlbfs mount for 16777216 KiB
Jan 26 19:57:59 eanna dbus[571]: [system] Successfully activated service 'fi.w1.wpa_supplicant1'
Jan 26 19:57:59 eanna NetworkManager[576]: <info> wpa_supplicant started
Jan 26 19:57:59 eanna polkitd[598]: Registered Authentication Agent for unix-session:c1 (system bus name :1.29 [gnome-shell --mode=gdm], object path /org/ freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.
Jan 26 19:57:59 eanna dbus[571]: [system] Successfully activated service 'org.freedesktop.GeoClue2'
Jan 26 19:57:59 eanna gnome-session[711]: Gjs-Message: JS LOG: No permission to trigger offline updates: Polkit.Error: GDBus.Error:org.freedesktop. PolicyKit1.Error.Failed: Action org.freedesktop.packagekit.trigg
Jan 26 19:57:59 eanna org.freedesktop.Telepathy.AccountManager[715]: (process:921): libnm-glib-WARNING **: Error in get_property: Method "Get" with  signature "ss" on interface "org.freedesktop.DBus.Properties" d
Jan 26 19:57:59 eanna libvirtd[619]: Failed to autostart VM 'atlas': internal error: Unable to find any usable hugetlbfs mount for 16777216 KiB

Rbellamy (talk) 04:11, 27 January 2015 (UTC)

I think the proper way to manually set hugepage size is with sysctl:
sysctl vm.nr_hugepages=550
Then you can enable it permanently by creating the file "/etc/sysctl.d/40-hugepags.conf" and putting the following inside it:
vm.nr_hugepages=550
Meskarune (talk) 20:53, 14 September 2017 (UTC)
I just wanted to confirm that with default permissions on dev/hugepages, this error happened: https://gist.github.com/meskarune/90a2c561488303a16e67554cc108e47e
Meskarune (talk) 17:57, 4 November 2017 (UTC)

Merge KVM article into QEMU

Because the QEMU-KVM fork of QEMU has been deprecated/obsoleted as of QEMU 1.3 [1] (about 9 months ago as of this writing [2]) and QEMU is now on version 1.6, we should strongly consider merging the KVM article into the main article for QEMU. A separate article for the KVM fork made sense historically, but now that the fork has been merged upstream, we should just keep everything on one page.

Does anyone disagree?
-- Jstjohn (talk) 16:29, 16 September 2013 (UTC)

Good idea, I don't think anybody can disagree, as the main section of this article, KVM#How_to_use_KVM, already just links to QEMU ^^
If then somebody considers QEMU to have become too long, it should be discussed to split it in some other way.
-- Kynikos (talk) 01:06, 18 September 2013 (UTC)
The problems of KVM#Tips_and_tricks should be solved along the way, especially KVM#Live_snapshots which belongs to libvirt and not to QEMU. It should also be clearly stated which features are KVM-specific to avoid confusion.
-- Lahwaacz (talk) 10:44, 22 September 2013 (UTC)
I just merged KVM#Live_snapshots into libvirt.
-- Jstjohn (talk) 01:03, 7 November 2013 (UTC)

Works with "AMD FX(tm)-8350 Eight-Core Processor" using 2013.11.01 64-bit

Using Arch Linux release 2013.11.01 in 64-bit mode... it boots fine. Following the wikis... this is basically the parameters I used

$ /usr/bin/qemu-system-x86_64 -boot d -m 1024 -hda '/home/user/path/to/storage' -cdrom '/path/to/archlinux-2013.11.01-dual.iso' -net nic,vlanx=0 -net user,vlan=0 -localtime -k en-gb -smp 8 -enable-kvm -cpu host &
  • I also booted the Gentoo minimal ISO 20131010 in 64-bit mode (go to gentoo to find out more) using the same parameter but different ISO
$ /usr/bin/qemu-system-x86_64 -boot d -m 1024 -hda '/home/user/path/to/storage' -cdrom '/path/to/install-amd64-minimal-20131010.iso' -net nic,vlan=0 -net user,vlan=0 -localtime -k en-gb -smp 8 -enable-kvm -cpu host &
  • During live CD boot up... I see this error message... which I think is normal...
Failed to access perfctr msr (MSR c0010001 is ffffffffffffffff)
  • You also get errors about not being able to access hardware... obvious why :p (unless I'm wrong)
  • I haven't installed Arch Linux in the guest yet (busy :p) but will get some time to
  • from what I can see, the parameter "nested" is already set to "1" for the kvm_amd module when using the systool command before applying the "nested" parameter myself
  • I found loading kvm or kvm_amd loads both
  • you should say grep svm /proc/cpuinfo for AMD
  • I have another AMD machine which has "AMD Phenom II x4 955" (showing the svm CPU flag from /proc/cpuinfo file which too is using Arch Linux (my server) when I have time... will try it out there
  • I do plan to move to Intel... better drivers... lets get cracking before I move to Intel
  • I'm new to wiki code :p

-- Sinatosk (talk) 22:34, 4 November 2013