7

So I'm trying to install the last version of Ubuntu Server 11.10 64bits on my server ( replacing Windows Server 2008 completely ).

Since I need more Sata ports, I bought a PCI Sata RAID Controller based on the chipset SiI3114.

The problem is that when I configure the array to RAID 1, when the installer gets to the point where I partition the disks, the RAID array simply doesn't appear on the list.

The installer asks me if I want to "activate the Serial Ata RAID devices", I choose yes, and nothing is listed.

If I instead of creating an RAID 1 array, create an Raid 0 array, it appears on the list to partition the disk.

This last part, is what I don't understand, it gets recognized when it is a RAID 0 array, but if it is a RAID 1 array it doesn't.

I've read the FakeRaid wiki on ubuntu wiki, and also this post: RAID 10 not being found by installer

Running in RAID 1, and executing the shell on the installer and running the command dmraid -r, I get:

/dev/sdb: sil, "sil_bhbgdfdcfdfc", mirror, ok, 976771072 sectors, data@ 0
/dev/sda: sil, "sil_bhbgdfdcfdfc", mirror, ok, 976771072 sectors, data@ 0 

Looks good I think.

When in RAID 0, using the same commands, I get:

/dev/sdb: sil, "sil_bhbgdfdcfdfc", stripe, ok, 976771072 sectors, data@ 0
/dev/sda: sil, "sil_bhbgdfdcfdfc", stripe, ok, 976771072 sectors, data@ 0 

Everything looks OK, I guess, it's the first time I'm installing Ubuntu Server for real, I've installed 4 or 5 times on VMPlayer to see how everything works.

If I don't configure an array, the disks are recognized with no problem whatsoever, if the PCI card, wasn't detected properly it wouldn't show any disks connected to the card in any instance I think. The card is also capable of RAID 5 and RAID 10, but I haven't tested that yet, later when I arrive home, I will see if the installer detects those RAID arrays.

EDIT: So I arrived home, and started googling again, and i found this, so I ran the command dmraid -ay:

ERROR: device-mapper target type "mirror" is not in the kernel.
RAID set "sil_bhbgdgaaaaba" was not activated.

Then I googled for this error, and what I found kind of scared me, this, basically all I have to do is recompile the Kernel with mirroring support, I can't recompile the kernel I simply don't have the knowledge to do it.. yet I mean..

Can anyone give me a solution that doesn't involve recompiling the kernel?

Second edit: I just downloaded and burned an Ubuntu Live CD, and guess what? The RAID array is detected on the spot ( I'm currently installing Ubuntu in the RAID array ). Now I'm just plain confused, I tough the Ubuntu Server was a Ubuntu version but without an windows manager.

Third edit: Just saved the syslog, to have more information to show:

Oct 24 22:46:43 anna-install: Installing dmraid-udeb
Oct 24 22:46:43 anna[10984]: DEBUG: retrieving dmraid-udeb 1.0.0.rc16-4.1ubuntu4
Oct 24 22:46:43 anna[10984]: DEBUG: retrieving libdmraid1.0.0.rc16-udeb 1.0.0.rc16-4.1ubuntu4
Oct 24 22:46:43 disk-detect: Serial ATA RAID disk(s) detected.
Oct 24 22:46:44 disk-detect: Enabling dmraid support.
Oct 24 22:46:44 kernel: [   76.836245] device-mapper: table: 253:0: mirror: unknown target type
Oct 24 22:46:44 kernel: [   76.836248] device-mapper: ioctl: error adding target to table
Oct 24 22:46:44 disk-detect: ERROR: 
Oct 24 22:46:44 disk-detect: device-mapper target type "mirror" is not in the kernel
Oct 24 22:46:44 disk-detect: 
Oct 24 22:46:44 disk-detect: RAID set "sil_bhbgdgdefacd" was not activated
Oct 24 22:46:44 udevd[9332]: inotify_add_watch(6, /dev/dm-0, 10) failed: No such file or directory
Oct 24 22:46:44 kernel: [   76.931742] device-mapper: table: 253:0: mirror: unknown target type
Oct 24 22:46:44 kernel: [   76.931745] device-mapper: ioctl: error adding target to table
Oct 24 22:46:44 disk-detect: ERROR: 
Oct 24 22:46:44 disk-detect: device-mapper target type "mirror" is not in the kernel
Oct 24 22:46:44 disk-detect: 
Oct 24 22:46:44 disk-detect: RAID set "sil_bhbgdgdefacd" was not activated
Oct 24 22:46:44 udevd[9332]: inotify_add_watch(6, /dev/dm-0, 10) failed: No such file or directory

Thanks

4
  • I had a similar problem installing Oneric and I was able to change a SATA setting to 'AHCI Mode' in my BIOS. Total guess, but may help you... Oct 24, 2011 at 15:39
  • JE2Tom, that sounds like an answer, maybe post it as such so you get credit if it works for Tio!
    – SpamapS
    Oct 24, 2011 at 19:05
  • unfortunately I don't have the 'AHCI Mode' on my Bios... but thanks for your input..
    – Tio
    Oct 24, 2011 at 19:17
  • Rant mode, if I'm allowed, this doesn't make any sense, at least for me, why doesn't Ubuntu Server come with the support for Raid 1 compiled into the kernel? And I'm almost sure that RAID 5 and RAID 10 aren't also ( I can't test it because the Sata cables are too short ), this way only complicates the life for people, when it can be a lot simpler, I understand that the Raid card I bought only supports FakeRaid, but I want to use no matter what, even if it's slower, and what if I had bought a $400 card that doesn't do fake raid and I want to use it? I'd have to recompile the kernel!
    – Tio
    Oct 24, 2011 at 19:49

3 Answers 3

3

Problem solved, all it took was my Portuguese ingenuity or "Desenrascanço". The uncanny ability passed down through the generations to solve any problem with merely a penny and a string. ( I didn't solve the problem with a penny and a string but you get the point ).

So here is the solution:

  1. Connect one of the disks to the motherboard, let's call source from now on.
  2. Install Ubuntu Server on source disk.
  3. Run sudo apt-get update
  4. Run sudo apt-get upgrade
  5. Install dmraid, by running sudo apt-get install dmraid
  6. Put the modules dm-mod and dm-mirror inside the /etc/modules file, just sudo nano /etc/modules
  7. Connect the source disk to the PCI card on the first SATA port, connect the other disk on any other port
  8. Create the RAID 1 array. And boot the computer using the RAID array, it's going to boot, because one of the disks is bootable.
  9. Confirm that the raid is running by issuing: sudo dmraid -ay, something on the lines of this should appear: "*sil_bhbgdjddagcc: 0 976771072 mirror core 2 131072 nosync 2 /dev/sdd 0 /dev/sde 0 1 handle_errors.*"
  10. Disconnect the second disk ( the one that is not the source disk ).
  11. Boot from the array again, and make a change to any file. Then shutdown.
  12. Connect the disconnected drive and rebuild the array.
  13. Wait a long time...

...and if everything went well you should now have a running RAID 1 array on your server.

How did I check if the RAID 1 array was working? Just boot from each drive separately connected to the motherboard, if it boot's then it means that the rebuild was done correctly.

After checking that the rebuild was done correctly you have to rebuild again. After finishing with this boot's and rebuilds, you just have to change one file on one disk while using the RAID 1 array, then shutdown, disconnect the disks from the array.

Then boot from them separately and check for the change you made to that file is on both disks, if the changes are there, it means the RAID 1 array is working. Then it's time for another rebuild, and the system is ready to use.

Why do I have to rebuild the array every time I boot from one or another, because every time the server boots there are changes on the disks, that's why.

This solution doesn't work with another types of RAID arrays, RAID 5 should be a no go, because the data is spread across the disks, RAID 10, shouldn't work either because the data is stripped and mirrored, RAID 0 is not a problem because it's detected by the install.

1
  • Complicado! Glad it worked though. I went back to no RAID, and daily backups to the second internal drive. Not as good as RAID but good enough for me. Nov 4, 2011 at 10:53
3

Im also portuguese and I have a much better solution:

  1. Install Ubuntu Server 11.04 which installs just fine on RAID 1 arrays
  2. Do a do-release-upgrade after installation is complete.

A few minutes later your system will be running Ubuntu 11.10

1
  • Your solution is just perfect.. if only you found this question earlier, I would've used that solution for sure... the problem is that I'm very new to Ubuntu also.. I couldn't guess that the 11.04 server version add the Raid 1 modules available in the installation..
    – Tio
    Nov 21, 2011 at 16:30
1

1.) sudo lsmod Check and see if the (dm_raid) module has loaded?

2.) sudo dmraid -tay either of these commands work (sudo dmraid -ay) Test the raid array?

3.) gedit /boot/grub/device.map and add

(hd0) /dev/sda
(hd1) /dev/sdb

4.) gedit /etc/fstab comment out (/dev/mapper/sil_biabadbhagdc1) and (/dev/mapper/sil_biabadbhagdc5) place a # in front of those lines.

Add your UUID's like so, you can use this command to get your UUID's (sudo blkid)

Mine looks like this:

# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# /dev/mapper/sil_biabadbhagdc1 
UUID="01331dc5-0c78-49ab-9cf5-655b645110d2 /               ext4    errors=remount-ro 0       1
#/dev/mapper/sil_biabadbhagdc5 
UUID="ea62296d-27ef-4b59-8206-e89d7a31a844 none            swap    sw              0       0

5.) sudo reboot and check your log files, keep in mind do not use the () in these commands. I am using raid0 with a SYBA PCI-X 4 port sata II Raid card. On a Tyan board with two Seagate 320 drives. This may or may not work for you. Good Luck.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .