It works... I am using it at an office and so far so good but technically Im still toying with it... I need to go out to the office and boot off the external drives and see how their databases are doing. I had to change my crontab file to be more complex then I expected.
You have to tell mdadm that you want to fail, and remove the drive from the array and also have cron automatically add the drive to the array once its been attached to the computer....
At 9:15 in the morning it will fail the drive, remove the drive from the array 5 minutes later, then another 5 minutes it will automatically add it back. I cant come up with a way to do this more intelligently... The server is always running the add command every 5 minutes for all 4 drives. So the doc has to have the drive connected before 9:15 am which is no problem as the drive is usually connected the day before, right before he leaves.. So if today was wednesday wednesday would be disconnected at the end of the day and thursday would be put on... then at 9:20-9:25 am thursday it would be added to the array..
You cant tell mdadm to constantly add otherwise it will fail by saying the device is busy... so the way around it is to fail the device, then remove it, then add it. Them mdadm is happy.
Here is my cron file
*/5 * * * * /sbin/mdadm --manage --add /dev/md1 /dev/disk/by-id/usb-Seagate_FreeAgent_Go_5LY48F4B-0:0-part2
15 9 * * * /sbin/mdadm --manage --fail /dev/md1 /dev/disk/by-id/usb-Seagate_FreeAgent_Go_5LY48F4B-0:0-part2
20 9 * * * /sbin/mdadm --manage --remove /dev/md1 /dev/disk/by-id/usb-Seagate_FreeAgent_Go_5LY48F4B-0:0-part2
*/5 * * * * /sbin/mdadm --manage --add /dev/md1 /dev/disk/by-id/usb-Seagate_FreeAgent_Go_5LY3XA72-0:0-part2
15 9 * * * /sbin/mdadm --manage --fail /dev/md1 /dev/disk/by-id/usb-Seagate_FreeAgent_Go_5LY3XA72-0:0-part2
20 9 * * * /sbin/mdadm --manage --remove /dev/md1 /dev/disk/by-id/usb-Seagate_FreeAgent_Go_5LY3XA72-0:0-part2
*/5 * * * * /sbin/mdadm --manage --add /dev/md1 /dev/disk/by-id/usb-Seagate_FreeAgent_Go_5LY1X2J7-0:0-part2
15 9 * * * /sbin/mdadm --manage --fail /dev/md1 /dev/disk/by-id/usb-Seagate_FreeAgent_Go_5LY1X2J7-0:0-part2
20 9 * * * /sbin/mdadm --manage --remove /dev/md1 /dev/disk/by-id/usb-Seagate_FreeAgent_Go_5LY1X2J7-0:0-part2
*/5 * * * * /sbin/mdadm --manage --add /dev/md1 /dev/disk/by-id/usb-Seagate_FreeAgent_Go_5LY3VSME-0:0-part2
15 9 * * * /sbin/mdadm --manage --fail /dev/md1 /dev/disk/by-id/usb-Seagate_FreeAgent_Go_5LY3VSME-0:0-part2
20 9 * * * /sbin/mdadm --manage --remove /dev/md1 /dev/disk/by-id/usb-Seagate_FreeAgent_Go_5LY3VSME-0:0-part2
30 18 * * * rsync -rPzt --modify-window=2 /Data/*
latname@lastnameddshome.gotdns.com:/cygdrive/c/Apps
25 18 * * * rsync -rPzt --modify-window=2 /Data/mysql/opendental/*
lastname@lastnameddshome.gotdns.com:/cygdrive/c/mysql/data/opendental