Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

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

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

5 Answers 5

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.

share|improve this answer
    
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 '12 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 '12 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 '12 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 '12 at 19:41
add comment

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?

share|improve this answer
    
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 '12 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. –  Gilles Apr 30 '12 at 9:16
add comment
up vote 1 down vote accepted

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)
share|improve this answer
add comment

/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.

share|improve this answer
    
I have a hardware RAID. I guess that's why I don't have md devices. –  Bevor Apr 29 '12 at 14:19
    
then perhaps the hardware RAID howto can help you? –  Bram Apr 29 '12 at 14:41
1  
This is from 2004. I wouldn't rely on this. –  Bevor Apr 29 '12 at 19:01
add comment

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.

share|improve this answer
    
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 '12 at 19:57
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.