info: mpt raid status change on Debian 6/VMware

EDIT: I suggest you read the comment below by ndavis. Just get rid of the problem entirely 😉

I’m getting mails sent to root on a fresh install of Debian 6 with official VMware Tools, whining about RAID status changes, which is odd, since I have no visible RAID configs this Debian install should be worrying about.

Message contents:

This is a RAID status update from mpt-statusd. The mpt-status program reports that one of the RAIDs changed state: Report from /etc/init.d/mpt-statusd on <SERVER>

I don’t know what causes it, and the forums I’ve stumbled upon have offered fixes, but no actual explanation.

In order to disable the messages (and the daemon itself), do the following as root:

/etc/init.d/mpt-statusd stop
echo RUNDAEMON=no > /etc/default/mpt-statusd

Remove the BDEDrive partition created by MDT installation

I’ve wanted to shrink the primary partition on a couple of workstation in order to install other operating systems (Linux) alongside Windows 7. In order to do this, the BDEDrive partition needs to go.

This partition is created by MDT by default, but can be disabled in a setting (DoNotCreateExtraPartition=YES in customsettings.ini).

I haven’t really done any research on what the partition is for. I’m assuming BitLocker which I don’t use anyway.

Here’s how you get rid of BDEDrive:

bcdboot c:\windows /s c:

Now, feel free to delete the BDEDrive partition. Remember to mark your Windows partition as Active before rebooting.

Dabbling with torrents

Ok. This probably doesn’t belong on a work related blog, but I have nowhere else to publish the stuff I do at home (for fun or otherwise), so here’s a post about getting FlexGet to cooperate with a local Transmission daemon in Mac OS X. I use this setup to automate my downloads of TV shows (yes I tend to pay for them once out on Blu Ray so don’t get all uppity about it, I’m not about to go into a legal debate but I consider this a somewhat grey area). Please note that these steps work on 10.6 and 10.7 (I suppose 10.8 should be fine as well but I haven’t tried it yet).

First off, install Transmission, whichever version works for you. You can install the GUI one and it’ll work just fine.

Next, install FlexGet from terminal (or SSH to your Mac if that’s your cuppa):

sudo easy_install flexget

Next you need to install the transmission rpc plugin:

sudo easy_install transmissionrpc

There. FlexGet is installed, but won’t start automatically. You need to create a launch agent first. First, find out where FlexGet installed itself by typing:

which flexget

This will tell you the path to FlexGet (most commonly /usr/local/bin/flexget).

Create the file /Users/[USERNAME]/Library/LaunchAgents/com.flexget.plist and paste the following code:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "">
<plist version="1.0">

Change the path to reflect the response from which flexget if needed.

Next, run the following command:

launchctl load -w /Users/[USERNAME]/Library/LaunchAgents/com.flexget.plist

Now you need to add a config. If there’s no ~/.flexget directory yet, create it and create the file config.yml in it.

Now this is where the power of FlexGet and YAML come in to play. Keep in mind that the data structure hierarchy in YAML is maintained by outline indentation, so the proper ammount of whitespaces is imperative for this to work. There’s a lot of things you can do with YAML and the various plugins included in FlexGet and I won’t get into a lot of it. For more stuff it can do for your torrenting, check the links at the bottom of the post.

Anyway. The most imperative part is the connection to your Transmission RPC, which can be done with the following:

This line should be indented 4 spaces and align with the plugin statements. I’ll paste an example config.yml further down.

The .netrc file contains login details to your Transmission RPC. Make sure you enable remote access and authentication in the Transmission GUI first:

Then create the .netrc file in your ~/ directory and add login details like this in that file:

Be sure to chmod the file to prevent unauthorized access afterwards:

chmod 600 ~/.netrc

Ok. So here’s a basic config.yml to get you started:

So what does all this do?

presets: will let you define the preset, which you can then attach to a tracker feed (you can create different presets for different trackers, or use multiple trackers for the same preset, whichever you prefer. FlexGet is immensly powerful and this example is very basic).

tv: is just the name I chose for this preset.

series: invokes the series plugin.

settings: well.. duh. Preset settings. 🙂

720p: a settings group I use. I use a 2007 Mac Mini for playback and it doesn’t have the horsepower for 1080p.

propers: will look for and download propers and repacks that arrive within a defined time from the initial release.

quality: various quality settings. I only want 720p HDTV releases. !webdl and !webrip will reject releases that match.

720p: call the settings group and apply settings to all the downloads I request.

– name of show: Well. What do you like? The path below can be omitted if you want to move stuff around manually. I use it to have Transmission move the show into it’s proper place after download so my HTPC will see it, and still keep seeding it.

transmission: Nothing special here. This is just the transmission rpc call block.

tasks: This used to be named feeds. Add your trackers, priorities and RSS feeds with download links here (use feeds without cookies).

The links below contain way more detailed descriptions of everything you can use in your config.yml. Have a look there if you need help and ideas.

Ok. That’s pretty much it. Your torrenting should take care of itself pretty much now. I’ve not had to bother with it for ages, and Plex which I use as a HTPC player will automatically download subtitles from Everything is as automated as I could ever hope for 🙂

And now: LINKS! – For those interested in reading about YAML – The best RSS downloader imaginable. And so much more! – Intelligent filter for TV-series. – The cookbook, with lots of config suggestions, and some really powerful scripts.

Blog hiatus

No, I’ve not gone the way of the jackalope, I am however on parental leave combined with a vacation, totalling in 3 months of time off work. Now I’m not one to complain but sometimes I still need to get my geek on.

I recently decided to scrap my old trusty file server that’s been occupying space and generating heat in my guest room, in order to replace it with a space saving NAS. I decided on scrapping the 500GB and 1TB harddrives in the server as well and bought a Netgear ReadyNAS Ultra 4 along with 4x Seagate Barracuda Green 5900RPM 2TB drives. I’ve arranged those in a RAID-5 configuration in order to have some fail tolerance that was previously provided by my Windows Home Server 2003 share mirroring.

I also bought a Netgear ReadyNAS Ultra 2 that will be used with 2x Seagate Barracuda 1TB drives salvaged from the file server. This NAS will use a RAID-1 mirror and be placed at a friend’s house for off site backup. We’re both on 100/100mbit links so throughput for rsync backups should suffice.

Right now I’m also taking the leap of scrapping uTorrent at home and replacing it with the macports version of Deluge. Since the BitTorrent clients for the ReadyNAS are outdated and or blocked from the private trackers I use, I’ve decided to run my torrenting from the Mac Mini I use as Plex server and client. The reason for this, is uTorrent can’t handle my need to transfer completed downloads to different directories and still keep seeding them (yes I’m aware of the option to append torrent labels but it doesn’t suit my needs entirely). The WebUI for Deluge is powerful enough and allows me to enter a path to move data to while it’ll keep seeding afterwards, and I’ve started to like using it since I’ve been running it on my seedbox in Luxembourg for over a year now.

I’m sorta hoping Apple will refresh the Mac Mini this year. Mine is a 2007 model and has been running pretty much 24/7 for the past 5 years. It’s due for retirement, in part because it is underpowered and cannot properly decode 1080p, or keep up with multiple streams to iOS devices while taking care of all my torrenting needs. Aside from that, I think the hardware is about to give in. It tends to overheat on occasion even though the system fan has been replaced. An SSD might breathe some new life into the machine but I’m not sure the investment would be worth it. I plan on a Roku 2 XS with the Plex client for the bedroom and a new Mac Mini (once they release the Ivy Bridge ones) by the TV.

So.. that’s what I’m up to, besides taking care of my lovely daughter that is 🙂 Speaking of which, someone needs a diapy change. Ta!

Another shot at the Citrix sidebyside error

It seems that just installing the Visual C++ runtimes as stated in my previous post ( didn’t do the trick for everyone. I have a couple of more solutions to try that have worked well for us in those cases the runtime doesn’t help:

1. Uninstall the Citrix Receiver plugin

2. Delete the following registry values (64-bit machines):

HKLM\SOFTWARE\Wow6432Node\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Control

HKCU\SOFTWARE\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Control

3. Install version of the Citrix Receiver plugin (you’ll have to Google that on your own, I have no reliable download links to add here).

4. ???

5. Profit

If the above doesn’t help, there are some useful tips on the following page:

Veeam extract and vmware-vdiskmanager

Since we’re too.. conservative.. to rely entirely on disk storage for our backups, we dump all our VMs to tape once every week. We don’t want to rely on Veeam Backup and Replication in order to restore from tape, so we decided to extract everything from the latest backup every saturday afternoon when no other backups are running.

We’re using Veeam Backup and Replications included extract utility for this, which will extract all vmx, vmdks etc to a folder of our choosing. After that, we want to 7zip the files before sending them off to a BackupExec job (nope, not relying on BackupExecs compression either). I ran into a problem when I was trying to write a simple batch file for the post processing, that would call vmware-vdiskmanager.exe to shrink all the vms extracted. vdiskmanager can’t handle wildcards, and needed the filenames passed to it, from subdirs (which included vm numbers) extracted by Veeam extract.

My solution is a quick and dirty powershell script which will call vmware-vdiskmanager on every vmdk it finds in the path specified (excluding the files we can’t shrink):

get-childitem -include *.vmdk -exclude *-flat.vmdk,*-ctk.vmdk -recurse | % {
echo "", "Processing $_"
D:\Veeam\bin\vmware-vdiskmanager.exe -k $_.FullName


The initiator could not send an iSCSI PDU.

So.. I’ve spent all day trying to figure out why our backup server lost connection with the storage NAS. At first, I thought the server iSCSI initiator service had died on me since I could connect and access the NAS iSCSI target from my workstation. Ok. Problem solved. Reboot the server (the universal approach) and I should be fine!

Or so I thought.

Still no connection. The backup server locked up entirely every time I tried adding the now removed discovery portal, or a quick connect to the target.. whatever i tried.. crash!


Ok. I tried connecting to a different iSCSI target… which to my surprise worked perfectly. So.. is it the target then? Apparently yes. After numerous reboots I could no longer even access the volume manager in the QNAP device which was pretty odd.. It worked 2 minutes ago. Not even a reboot or shutdown command would do anything. I tried a shell reboot.. Nothing. The NAS was entirely unresponsive, except for the Web UI which would show but gather no data from the device, and SSH which worked (but no commands did, not even nano would do anything).

A cold reboot and 7 hours of disk resyncing later, the NAS was live again. A forced connection through the backup network IP bound to the iSCSI initiator… and… SUCCESS!

What’s the moral of this story?

I don’t know. Some days just aren’t meant to be fun, and hugs from a loved one can be a great source of inspiration (K).