3

I just installed the latest Ubuntu 12.04 and obviously it screws something up. I'm not sure if this has anything to do with the fact that I have a Raid 1 but at the moment, I have sda and sdb which point to the same device:

# blkid
/dev/sda1: UUID="88aa922a-4304-406e-8abd-edc2e9064d79" TYPE="ext2" 
/dev/sda2: UUID="22b881d5-6f5c-484d-94e8-e231896fa91b" TYPE="swap" 
/dev/sda3: UUID="e1fa161b-b014-4a6b-831a-9d8f9e04be07" TYPE="ext3" 
/dev/sda5: UUID="6ed19886-1cba-47b2-9ce0-7c2ea8f9c3c9" SEC_TYPE="ext2" TYPE="ext3" 
/dev/sdb1: UUID="88aa922a-4304-406e-8abd-edc2e9064d79" TYPE="ext2" 
/dev/sdb2: UUID="22b881d5-6f5c-484d-94e8-e231896fa91b" TYPE="swap" 
/dev/sdb3: UUID="e1fa161b-b014-4a6b-831a-9d8f9e04be07" SEC_TYPE="ext2" TYPE="ext3" 
/dev/sdb5: UUID="6ed19886-1cba-47b2-9ce0-7c2ea8f9c3c9" TYPE="ext3" 

But I have only one "visible" hard disc, so this ought to be sda. In my earlier version (10.10) /dev/mapper took care of it. Look at the mount points below. In the current version, this doesn't work anymore, so I entered sda mount points to fstab at first, which seemed to work, but when I execute the mount command, I saw that suddendly one partition was mounted as sdb instead of sda. So I tried to use the UUID as file system in fstab but the problem still exists. Which is even worse: It mixes up both devices. That means it sometimes mount one partition as sda, at next reboot it is suddendly sdb. And it behaves as it would mount different hard drives, because my /home partition was mounted once as sda, now as sdb and changes and setting I made in file system were suddenly "reset". What can I do? Should I delete all sdb block specials?

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
#/dev/mapper/pdc_ccfhbjbeeg3 /               ext3    errors=remount-ro 0       1
#/dev/mapper/pdc_ccfhbjbeeg1 /boot           ext2    defaults        0       2
#/dev/mapper/pdc_ccfhbjbeeg5 /home           ext3    defaults        0       2
#/dev/mapper/pdc_ccfhbjbeeg2 none            swap    sw              0       0
#/dev/sda1                   /boot           ext2    defaults        0       2
#/dev/sda2                   none            swap    sw              0       0
#/dev/sda3                   /               ext3    errors=remount-ro 0     1
#/dev/sda5                   /home           ext3    defaults        0       2

UUID=e1fa161b-b014-4a6b-831a-9d8f9e04be07      /               ext3    errors=remount-ro 0     1
UUID=88aa922a-4304-406e-8abd-edc2e9064d79       /boot           ext2    defaults        0       2
UUID=6ed19886-1cba-47b2-9ce0-7c2ea8f9c3c9      /home           ext3    defaults        0       2
UUID=22b881d5-6f5c-484d-94e8-e231896fa91b       none            swap    sw     0       0

UPDATE
by the way, the Ubuntu installer shows the RAID array and not the partitions. See also https://bugs.launchpad.net/ubuntu/+bug/973147

3
  • Are you using md? What is the output to sudo mdadm --detail /dev/md*? And the output of cat /proc/partitions
    – jippie
    Apr 29, 2012 at 13:19
  • /dev/md*? I've never heard that before and I don't have such devices.
    – Bevor
    Apr 29, 2012 at 13:27
  • So you are using a BIOS-based "software" raid with an on-board chip.
    – Nils
    Apr 29, 2012 at 19:32

5 Answers 5

1

Look if you can hide your real disks if your activate a raid. This is possibly a setting in the main or the RAID-BIOS of your PC.

I had similar problems with CentOS 5.5 which went away after an upgrade to 5.6.

After browsing the web a little bit about these pseudo-raid-devices I followed the advice given there and deactivated it. Afterwards I rebuild to a pure software-raid with pure Linux-means (man mdadm).

On the way I did not loose any data and gained lots of space - I placed some of my partitions into a RAID0-configuration for data that need to be fast and can be restored very easily.

4
  • Good tip, the joke is that I didn't find any RAID settings in BIOS, so it really looks that my RAID is only a fake RAID. I guess I will give mdadm a try.
    – Bevor
    Apr 30, 2012 at 5:55
  • This is a red herring. The BIOS has nothing to do with it; it is the kernel and the dmraid package that detects and activates the array in Linux, and the underlying physical disks are never hidden.
    – psusi
    Apr 30, 2012 at 19:09
  • @psusi not quite. On my "fakeraid" there was such a setting. dmraid detected the fakeraid similar to what Bevor wrote (nvidia...). Prior to setting the harddisks to hidden the OS detected each partiton three times - in the VG, on sda and on sdb.
    – Nils
    Apr 30, 2012 at 19:28
  • dmraid does not recognize or support any such flag. In recent releases of Ubuntu, it does remove the partitions from the underlying disks when it activates the raid array ( with the -Z switch ), but the raw disk itself is still visible. This has nothing to do with a bios setting though. The bios does not even have a setting to hide component devices since the bios and windows driver always only present the virtual raid disk to the OS.
    – psusi
    Apr 30, 2012 at 19:41
1

I suspect you have a “fake RAID” controller. These RAID controllers only provide minimal support in the BIOS; the bulk of the work is done in a Windows driver. Linux often copes poorly with these controllers because it lacks Windows drivers. Seeing single UUID but two disks is common symptom of fake RAID (the Windows driver would know that there are two disks but they are supposed to have identical content).

If you have a fake RAID device (and you probably do: consumer-grade RAID controllers are almost always fake RAID), and you aren't sharing the disks with Windows, turn off RAID in the BIOS. Then enable Linux's software RAID, which for RAID-1 is superior in all respects (except when you're sharing the disks with Windows).

See also the Ubuntu fake RAID howto, How do I differentiate “fake RAID” from real RAID?

2
  • Thanks for the tip. I don't use Windows, so I could try it. Is the problem that I don't have /dev/mapper-devices anymore related to this problem too?
    – Bevor
    Apr 30, 2012 at 5:51
  • @Bevor Indeed, Linux detected separate drives so it didn't see any RAID devices and the device mapper didn't kick in. Apr 30, 2012 at 9:16
1

I found a very easy solution to get my (obviously fake) hardware RAID working again.

After I reinstalled Ubuntu 12.04 I didn't reboot but stayed in try mode. Then I mounted / and edited

/usr/share/initramfs-tools/scripts/local-top/dmraid

I added dmraid -ay after the last comment:

# Activate any dmraid arrays that were not identified by udev and vol_id.
dmraid -ay
if devices=$(dmraid -r -c); then
    for dev in $devices; do
        dmraid-activate $dev
    done
fi

I think that's it, but at first I added

dm-raid45
dm-mirror
dm-region-hash

to

/etc/modules

I'm not sure if this important at all, because after first boot (which finally worked without falling back to maintenance console), /etc/modules didn't contain those 3 modules anymore, so I guess you can omit it.

When I execute mount, I see /dev/mapper mounted again:

/dev/mapper/pdc_ccfhbjbeeg3 on / type ext3 (rw,errors=remount-ro)
/dev/mapper/pdc_ccfhbjbeeg1 on /boot type ext2 (rw)
/dev/mapper/pdc_ccfhbjbeeg5 on /home type ext3 (rw)
0

/dev/md* are raid devices. If you have set up raid as you claim you have you should not be accessing the underlying disks (/dev/sd*) directly.

blkid output of my RAID(5) setup:

/dev/sda1: UUID="aac68ff3-3351-4a2a-82ea-7e897a1ad340" TYPE="swap"
/dev/sda2: UUID="aadb3ed5-2365-04e5-b346-60fb1d3e86d5" UUID_SUB="10f3563d-0192-de95-5ca2-f72389ba2ea4" LABEL="localhost.localdomain:0" TYPE="linux_raid_member"
/dev/sda3: UUID="401bb12a-05ca-74a0-24bc-a3406d480931" UUID_SUB="36083341-9766-5646-dc70-e58fb031c078" LABEL="localhost.localdomain:1" TYPE="linux_raid_member"
/dev/sdc1: UUID="7981b4e0-a056-4eeb-98d7-a50a86e6f214" TYPE="swap"
/dev/sdc2: UUID="aadb3ed5-2365-04e5-b346-60fb1d3e86d5" UUID_SUB="43ef231e-baf7-ddd5-c5ff-9415b328dd1a" LABEL="localhost.localdomain:0" TYPE="linux_raid_member"
/dev/sdc3: UUID="401bb12a-05ca-74a0-24bc-a3406d480931" UUID_SUB="e034768e-8c1d-47c9-67f1-7f9dd255221c" LABEL="localhost.localdomain:1" TYPE="linux_raid_member"
/dev/sdb1: UUID="d4d654c8-9eba-4c06-93b0-f4e753031950" TYPE="swap"
/dev/sdb2: UUID="aadb3ed5-2365-04e5-b346-60fb1d3e86d5" UUID_SUB="033c2e47-f5e2-d3e6-193f-b528ded6781d" LABEL="localhost.localdomain:0" TYPE="linux_raid_member"
/dev/sdb3: UUID="401bb12a-05ca-74a0-24bc-a3406d480931" UUID_SUB="409f0399-657b-39a3-9809-a8142e6f11cf" LABEL="localhost.localdomain:1" TYPE="linux_raid_member"

These are the physical partitions

/dev/md0: UUID="2a535ad6-130b-4d4a-b71c-04a708d24dbf" TYPE="ext4"
/dev/md1: UUID="uHEOea-lPCj-XbNi-afv5-rL4o-2Kda-00Zec0" TYPE="LVM2_member"

These are the RAID devices, they are used as physical volumes for the LVM below

/dev/mapper/vg0-root: LABEL="Fedora-13-x86_64" UUID="791ec0fb-6fcd-42c7-9d47-f2fdf2d0ad8b" TYPE="ext4"
/dev/mapper/vg0-tmp: UUID="32d0abc7-e035-4acf-a0fa-95109f6ef4e2" TYPE="ext4"
/dev/mapper/vg0-mail: UUID="c6779ecb-bc95-4af7-8c10-b749b37d5989" TYPE="ext4"
/dev/mapper/vg0-mm: UUID="f317f0be-971e-4d53-a8d0-cd7e685fb444" TYPE="ext4"
/dev/mapper/vg0-data: UUID="c3f37fd7-4c21-4423-b33a-faf384386a4d" TYPE="ext4"
/dev/mapper/vg0-srv: UUID="ebb588ea-53fc-4fba-90a9-47190823cec4" TYPE="ext4"
/dev/mapper/vg0-virt: UUID="dd77de03-61b5-403b-ac23-a61fdbf1749a" TYPE="ext4"
/dev/mapper/vg0-var: UUID="be092184-dd3a-4be1-83a0-624f01d25431" TYPE="ext4"
/dev/mapper/vg0-home: UUID="88462fa0-2e4c-4b8b-971b-c014f15a2ec8" TYPE="ext4"

You can see which RAID devices are available by checking /proc/mdstat, it should contain something like:

$ cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md1 : active raid5 sda3[0] sdc3[3] sdb3[1]
      1950372864 blocks super 1.1 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
      bitmap: 2/8 pages [8KB], 65536KB chunk

md0 : active raid1 sda2[0] sdc2[2] sdb2[1]
      524276 blocks super 1.0 [3/3] [UUU]

unused devices: <none>

Here too you see the md* devices. If you do not have these you are not really using RAID.

The Software RAID HOWTO is a really good reference to learn more about this.

3
  • I have a hardware RAID. I guess that's why I don't have md devices.
    – Bevor
    Apr 29, 2012 at 14:19
  • then perhaps the hardware RAID howto can help you?
    – Bram
    Apr 29, 2012 at 14:41
  • 1
    This is from 2004. I wouldn't rely on this.
    – Bevor
    Apr 29, 2012 at 19:01
0

Since you are not dual booting with windows, you should stop using the fakeraid and rebuild the system using plain mdadm software raid. Since you mounted the individual disks, you corrupted the raid array, getting both copies out of sync with one another. Even if you now mount the array correctly, reads may sometimes return out of sync data from the other disk, which could cause massive filesystem corruption.

Note that you have to actually delete the raid array to get rid of it, not just switch the controller mode back to non raid, or Ubuntu will still recognize and try to use it.

Also do remember that raid is not a substitute for backups. It is intended to increase speed and/or reduce downtime in the face of hardware failure; it does not protect against data loss.

1
  • You are right. That's why I reinstalled Ubuntu. Luckily the RAID does work while installation. Ok, my /home data stayed the same but I had as good as no changes there.
    – Bevor
    Apr 30, 2012 at 19:57

You must log in to answer this question.

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