Posts Tagged ‘linux’

Ubuntu 12.04, apparmor and libvirt live external snapshots

No Comments »

So I was running into an issue where our Ubuntu machines would not allow live external snapshots via libvirt virsh snapshot-create-as "" --diskspec vda,file= --disk-only. *Note the lack of the “–atomic” option, which is certainly recommended in a mission-critical environment, as it ensures the snapshot completely correctly and dies if it does not — this is due to running an older version of libvirt (0.9.8) because we’re using Precise Pangolin.

agoree@computing-node-3:/var/lib/libvirt/images$ virsh snapshot-create-as fedora-guest2 snap1-fedora-guest2 "1st virsh snap of fedora-guest2" --diskspec vda,file=/var/lib/libvirt/images/snap2-fedora-guest2.img --disk-only
error: internal error unable to execute QEMU command 'blockdev-snapshot-sync': An undefined error has ocurred

The error lead me to this bug report, along with these helpful blog posts.

I ended up simply creating this file:

agoree@computing-node-3:~$ cat /etc/apparmor.d/local/abstraction-libvirt-storage 
"/var/lib/libvirt/images/*" rw,

Then added an include for it in /etc/apparmor.d/libvirt/TEMPLATE, like so:

agoree@computing-node-3:~$ cat /etc/apparmor.d/libvirt/TEMPLATE 
#
# This profile is for the domain whose UUID matches this file.
#

#include <tunables/global>

profile LIBVIRT_TEMPLATE {
  #include <abstractions/libvirt-qemu>
  #include <local/abstraction-libvirt-storage>
}

After a reboot, all worked fine. Next up, using a newer libvirt version on Precise Pangolin for better live snapshot support (namely, “–atomic” option and “virsh blockpull” command to consolidate imgs/snaps).


Installing snap-guest on Ubuntu 12.04

No Comments »

At my current workplace we use libvirt and qemu/kvm running on the latest Ubuntu LTS release for our cloud platform. Recently, I wanted to use the awesome tool to simplify the provisioning of guest images. The configuration is for Fedora, but it can easily be done on Ubuntu.

First install the prerequisite packages:

apt-get install bash sed qemu-img virtinst cloud-utils util-linux genisoimage python-guestfs perl libguestfs-tools libguestfs-perl cloud-utils openssl util-linux

Then clone the git repo:

cd /opt
sudo git clone git://github.com/lzap/snap-guest.git
sudo ln -s /opt/snap-guest/snap-guest /usr/local/bin/snap-guest

You’re now good to go! From the snap-guest link (https://github.com/lzap/snap-guest):
“It’s recommended to use “base” string in the guest name (e.g. fedora-10-base or rhel4-base) to differentiate those files (snap-guest lists them using -l option), but it is not mandatory (option -a lists them all).”

I’d done this previously anyways, so was very easy in my case.

./snap-guest --list
./snap-guest -p /mnt/data/images --list-all

Visit the aforementioned link for further details.


KMix mousewheel bug workaround

No Comments »

There’s a bug in Kmix (I’m running KDE 4.10.3) which causes the mousewheel to increment 15% rather than a more sensible 5% as normal. Add VolumePercentageStep=1.6666 to the file ~/.kde4/share/config/kmixrc and all should be well. Close and reopen kmix, or logout then back in and all will be well 🙂


Adjusting ServerLimit and ThreadLimit in Apache

No Comments »

I was having this issue for a couple weeks and couldn’t figure it out for the life of me. I would attempt to increase the ThreadLimit (and also ServerLimit) above the default of 64 on Apache on an RHEL6 box, but the change just simply would not take. I continually got the following error:

WARNING: ThreadsPerChild of 128 exceeds ThreadLimit value of 64
threads, lowering ThreadsPerChild to 64. To increase, please see the
 ThreadLimit directive.

Which didn’t make since, because I indeed set the ThreadLimit to 128.

Turns out, it was because I was restarting apache, rather than stopping, then starting it. -_____________-