Enable passthrough of main/primary GPU in XenServer 6.5SP1

In its default config XenServer 6.5 will not permit you to use your host server’s primary GPU in a VM as a passthrough device. That’s reasonable in most cases, as reusing this GPU leaves the dom0 without output. However, passing through the device works nonetheless in many cases – your mileage may vary.

To convince XenServer to let you freely assign the GPU to VMs add this line to the file /etc/udev/rules.d/05-udev-early.rules:

KERNEL=="vga_arbiter", OPTIONS="ignore_device"

Reboot the server, that’s it.

No sound on Ubuntu Linux: “cannot open mixer: No such file or directory” (solved)

I had trouble getting audio to work on a Ubuntu 15.04 system with Intel chipset audio (Intel Corporation 9 Series Chipset Family HD Audio Controller). Trying to run the ALSA mixer would look like this:

$ alsamixer
cannot open mixer: No such file or directory

The fix was to edit /etc/modprobe.d/alsa-base.conf at the very end of the file (changes bold):

# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=0
options snd-hda-intel index=-2

I modified the index value for the snd-usb-audio module to zero and added a line for the snd-hda-intel module. Afterwards the mixer would start as expected.

Using Wake-on-LAN to power up a XenServer

XenServer Cluster using commodity hardware

I’m a big fan of what can achieved with commodity hardware for free or little cost using virtualization platforms such as XenServer. Sure, ‘real’ server hardware has benefits. It is optimized to excel in certain disciplines. But ordinary gray box PCs are immensely flexible and for a scientist like me who plays with hardware configurations all the time, they are great. (They also save you money if you have the space for non-rack hardware btw.)

One thing where ‘real’ server hardware shines is remote management. Ordinary PCs typically do not have that. But most of the time they have a feature called Wake-on-LAN. This allows powering them up by sending a specially crafted ‘magic’ packet over the Ethernet. Fortunately, XenServer has built-in support to send those packets within a pool of servers and the Windows GUI XenCenter makes using that feature very convenient. Continue reading

Aperture: Insufficient Disk Space

My relationship with Apple’s photo editing program Aperture was always a bit complicated, but generally we get along quite well (despite Apertures dooming end). However, sometimes the program is a bit too demanding:

"There is not enough free space on your Aperture Library Volume to import the selected items. It is estimated that you need at least 17179869175GB of additional free space."

“There is not enough free space on your Aperture Library Volume to import the selected items. It is estimated that you need at least 17179869175GB of additional free space.”

17.179.869.175 GB is a little more than 17 exabyte. Out of curiosity I looked up what that kind of a number means. It is way higher than the number of stars in our galaxy Milky Way (100-400 billion stars). It is also more than four times bigger than the estimated size of the whole World Wide Web back in 2013. And if it had been real photos of about 30MB each (Canon RAW), that would have meant more than 573 million photos (phew). Fortunately Aperture guessed a little bit too high… 🙂

Make persistent changes to /system in Android Emulator

The Android Emulator is part of Google´s Android SDK and allows you to run a virtualized Android system within a window on your desktop. With the normal behavior write access to the system partition of that Android is prohibited. That can be changed using the adb tool:

$ ~/android-sdk-linux/platform-tools/adb remount

While this temporarily permits changes to /system until the next reboot, any changes will be gone when you close the emulator. If you want the Android Emulator to remember whatever you did to /system, place a copy of system.img in ~/.android/avd/avdname.avd/ and call it system-qemu.img:

$ cp ~/android-sdk-linux/system-images/android-21/google_apis/x86_64/system.img ~/.android/avd/avdname.avd/system-qemu.img

Note that the paths in this are examplary and depend on which Android version you wish to use and how you name you virtual device.

Fix for Time Machine backup problem “DIHLDiskImageAttach returned: 999”

For the last couple of days I’ve been plagued by a Time Machine problem for which seemingly nobody (that Google could find) had a solution:

23.01.14 09:53:44,125 com.apple.backupd[13516]: Failed to attach to image: /Volumes/Data/Justus MBP13.sparsebundle, DIHLDiskImageAttach returned: 999

After quite a lot of bug searching I finally found a fix.

Continue reading

Droboshare Dashboard for Mac includes free Xtend SAN iSCSI Initiator (kind of)

Rather than not writing about it at all just some quick notes:

  • The Droboshare Dashboard software includes the Xtend SAN iSCSI Initiator.
  • If you want to use the initiator with non-Drobo iSCSI targets you will have to use the command line interface to configure the target and connect to it. The tool is called xtendsancli. This command line interface (cli) is written in Java and using RMI to talk to some backend which could open up some DIY GUI options.
  • The only limitation of the included Xtend initiator (besides the missing GUI) is that it checks if the target name begins with “iqn.2005-06.com.drobo:”. If you can configure the server side there is no difficulty or downside in just using that name and making your iSCSI target look like a Drobo.

Disk Utility with iSCSI target

That way I was able to make the Drobo iSCSI initiator talk to a Ubuntu 13.10 ‘iscsitarget’ (thats the name of the package) on OS X Mavericks.