Hyper-V Generation 2 Support for Linux Guests

Recently Microsoft announced Generation 2 Virtual Machines which really is an UEFI guest without the emulated PCI bus. Initially the only supported Operating Systems were:

  • Windows 8 (Integration Services Update Required)
  • Windows 8.1
  • Windows Server 2012 (Integration Services Update Required)
  • Windows Server 2012 R2

Well, now you can add pretty much any Linux distribution to the list right now. Thanks to the hard work being done by the Linux Integration Services team, they’ve got the mainline Linux kernel working right on Hyper-V under a Generation 2 platform. However the only distribution that will install correctly inside a Generation 2 Virtual Machine is OpenSuSE 13.1.

However if you want your Linux distribution to run inside a Generation 2 VM right now, you’ll have to install it manually via debootstrap or something similar. One thing to keep min mind is if your kernel is older than 3.11, you’ll need to either backport specific changes or upgrade to a newer mainline version of the kernel before you can even proceed to install your favorite distribution inside a generation 2 virtual machine.

Integration components wise, most of the modules will load just fine except hyperv_fb, the framebuffer device driver for Hyper-V guests. Unfortunately hyperv_fb is broken under a generation 2 VM hence why you’ll need to have EFI framebuffer support compiled in your kernel or you won’t get any video at all! The same goes for GRUB, it’ll also need efi_uga and efi_gop modules built in your bootx64.efi GRUB image. And oh, did I forget to mention that you’ll also have to disable Secure Boot as Hyper-V doesn’t support any way to loading public certificates into the Secure Boot database?

So if you want to take the plunge on having a Linux Generation 2 VM, be my guest. Start reading those git commit logs and start cherry picking! Remember, your mileage may vary. 😉

Samba 4 Active Directory Domain Controller for a Microsoft Failover Cluster

With the release of Samba 4, there’s now the possibility of running an Active Directory-compatible controller on most *nixes out there. Don’t get me wrong about the real Active Directory solution from Microsoft out there, it’s a great solution for larger enterprises, but for the others out there who are either too restricted in terms of budgeting or just don’t want to touch a Microsoft Windows Server for Active Directory; Samba 4 can be a good option.

Up until now, using a Samba 4 AD domain controller for a Microsoft Failover Cluster is almost next to impossible as the validation pages fail on this error:

An error occurred while executing the test.
There was an error initializing the network tests.

There was an error creating the server side agent (CPrepSrv).

Creating an instance of the COM component with CLSID {E1568352-586D-43E4-933F-8E6DC4DE317A} from the IClassFactory failed due to the following error: 80070721 A security package specific error occurred. (Exception from HRESULT: 0x80070721).

Fortunately there is a way to temporarily resolve this issue. That solution is to add any value to the servicePrincipalName attribute via ADSI Edit or the Active Directory Users and Computers MMC snap-in. (Sorry folks, can’t use Active Directory Administrative Center as Samba4 doesn’t currently emulate an AD DS Web Service server…). And yes the people at the Samba project are aware about this “bug” due to the way of a developer interpreting how the security should have been implemented. (Sorry Andrew, I didn’t mean to throw you under the bus 😉

After adding that attribute, you should be able to validate successfully and have a fully functional Hyper-V cluster for almost next to nothing. (Except the cost of a Windows 8 Pro license)

Edit: Apologies of me being a little ambiguous on “any value” to the servicePrincipleName attribute. What I really meant was setting a non-NULL value on servicePrincipalName on the user who’s performing the validation checks and forming the cluster, not the computer account of the cluster member.

Getting faster optical media write speeds on your laptop (Well, sorta via iSCSI)

Ever been in a situation where you have plenty of 16x DVD-R media but your laptop’s slimline DVD writer has a maximum write speed of 8x?

I’m sure you’ve been there. For most users having a DVD to write slower than usual is not a big deal if they’re just creating a DVD for an odd occasion or two. (I mean, with USB’s flash drives and hard drives with an storage capacity that’s about 210x of what a DVD can store, who even bothers with optical drives anymore?)
Continue reading “Getting faster optical media write speeds on your laptop (Well, sorta via iSCSI)”