Re: Not working on ATI SB750 as of debian's 1.0.0.rc15 (updated: raid1, 2.6.32, debian's 1.0.0.rc16)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Just tried a rebuild with the former disk and it's not working. Not only do I have to rebuild *from windows*, as my bios does not include any option related (hmpf! I only wish ext2fsd supported mdadm!) and dmraid -R does not seem to work (as far as I understand it's only for isw?), but after the long rebuild and trying to rescan the array I get the following error:

ERROR: pdc: identifying /dev/sdc, magic_0: 0x4b4b9265/0x4b4b9265, magic_1: 0x4b4b9265/0x0, total_disks: 0

I had to resort to limiting HPA in sdc to the same number of sdb (although it was already divisible by 63), only to get the array desynchronized (of course, since I hid some sectors!), and having to wait for the *long* rebuild again (how I miss zfs! ;).. Afterwards it worked again, but it seems the metadata detection code needs some enhancement for this particular case.


(however the can't-rebuild-raid1-without-windows is a *serious* handicap for any serious raid1 usage - both the ATI southbridge and bios *really* suck, as in other promise bios detected by fakeraid I've used the option to rebuild is present).



De: Ezequiel Lara Gómez <jisakiel@xxxxxxxx>
Para: "ATARAID (eg, Promise Fasttrak, Highpoint 370) related discussions" <ataraid-list@xxxxxxxxxx>
Enviado: lun,11 enero, 2010 16:54
Asunto: Re: Not working on ATI SB750 as of debian's 1.0.0.rc15 (updated: raid1, 2.6.32, debian's 1.0.0.rc16)

Thanks so very much! it worked. I swapped the second drive (not the WD one) without success. Although the HPA implementation for the sb750 appears to be buggy (according to hdparm, which says: "HPA setting seems invalid (buggy kernel device driver?)"), after resizing the WD to your number of sectors with Np *and* rebooting and remaking the array it works fine ^_^.


However I would consider this as a dmraid bug, isn't it? I mean: if the promise code always does that, dmraid should not look in the last sectors, but in the last sectors which fulfill that divisibility condition. Sort of hiding those sectors by dmraid and not by HPA (sort of like dmraid or the promise bios seem to do, as I have noticed that I have some sectors less in the raid device than in the drives, although that might be related to gigabyte boundary, which I left enabled this time).

Peeking superficially at the code it would seem to need some massaging in lib/format/ataraid/pdc.c, perhaps adding some logic around begin_sectors[], inside pdc_read_metadata... or inside the do{ } where the sector offsets are checked (I don't know if anywhere else would need to be modified as well; as I said I haven't read it through).

btw I saw in pdc.c some comment... #define pdc_t_raid10 0x2 (not defind by Promise (yet)) (sic). As sb750 seems to have raid5 and 10 options I can extract the metadata to add it if anyone wants (although only if guided a little, as I don't really know where to begin without studying the whole source).


Nevertheless thanks a lot, for now raid1 works ^_^.

PS: Now I have the typical problem where I can't identify the partitions by uuid nor by label (as I see thrice the same ones, lol), but that is easier to solve (just referring to /dev/mapper/pdc_whateverpX will do, although if I knew how to hide sdb and sdc would be nicer, to avoid accidents - suggestions are welcome).

De: James Olson <big_spender12@xxxxxxxxx>
Para: "ATARAID (eg, Promise Fasttrak, Highpoint 370) related discussions" <ataraid-list@xxxxxxxxxx>
Enviado: lun,11 enero, 2010 03:17
Asunto: Re: Not working on ATI SB750 as of debian's 1.0.0.rc15 (updated: raid1, 2.6.32, debian's 1.0.0.rc16)

Hello,
The problem is that Promise raid BIOS stores it's metadata near the end of the drive, but only in a sector number that is evenly divisible by 63 (sectors/track). My WD 250GB drive (originally in a Dell computer) is the same exact size as yours but I reduced it in size using the hdparm -N host protected area function by 2 sectors, see the man page for hdparm to see how to do this:

# fdisk -l /dev/sdb

Disk /dev/sdb: 249.9 GB, 249999998976 bytes
255 heads, 63 sectors/track, 30394 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x3b0cc04a

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 2550 20482843+ c W95 FAT32 (LBA)
/dev/sdb2 2551 2614 514080 83 Linux
/dev/sdb3 2615 7458 38909430 7 HPFS/NTFS
/dev/sdb4 7459 30393 184225387+ f W95 Ext'd (LBA)
/dev/sdb5 7459 7522 514048+ 82 Linux swap / Solaris
/dev/sdb6 7523 30393 183711276 83 Linux
# hdparm -N /dev/sdb

/dev/sdb:
max sectors = 488281248/488281250, HPA is enabled







---------[ Received Mail Content ]----------

Subject : Re: Not working on ATI SB750 as of debian's 1.0.0.rc15 (updated: raid1, 2.6.32, debian's 1.0.0.rc16)

Date : Sat, 9 Jan 2010 02:34:19 +0000 (GMT)

From : Ezequiel_Lara_Gómez <jisakiel@xxxxxxxx>

To : ataraid-list@xxxxxxxxxx



Gonna have another stab at this, as I would really like to have working multiOS raid. Doesn't work yet as of rc16 and 2.6.32.





The trouble is that metadata is only found in one of the drives, so raid0 can't be activated and raid1 appears as degraded, although in windows (obviously) it works fine, and the bios shows it as functional.



I believe it might be because of slightly different drive sizes, although I can't really confirm it as my two only identical drives are already in use in a different raid1.





In my tests:



sda is my main root drive, sdd is an usb drive, sdb is a western digital of 250G and sdc is a maxtor of 251G (as shown in the bios). Neither of gigabyte boundary options (on/off) make a difference, although in these tests it is off, which is not the default. And I get the same results with raid1 and raid0, although this test is with raid1.





# dmraid -ay -f pdc -vvv -d

NOTICE: checking format identifier pdc

WARN: locking /var/lock/dmraid/.lock

NOTICE: skipping removable device /dev/hda

NOTICE: skipping removable device /dev/hdb

NOTICE: /dev/sdd: pdc discovering

NOTICE: /dev/sdc: pdc discovering

NOTICE: /dev/sdc: pdc metadata discovered

NOTICE: /dev/sdb: pdc discovering

NOTICE: /dev/sda: pdc discovering

DEBUG: _find_set: searching pdc_dihbhdgahc

DEBUG: _find_set: not found pdc_dihbhdgahc

DEBUG: _find_set: searching pdc_dihbhdgahc

DEBUG: _find_set: not found pdc_dihbhdgahc

NOTICE: added /dev/sdc to RAID set "pdc_dihbhdgahc"

DEBUG: checking pdc device "/dev/sdc"

ERROR: pdc: wrong # of devices in RAID set "pdc_dihbhdgahc" [1/2] on /dev/sdc

DEBUG: set status of set "pdc_dihbhdgahc" to 4

DEBUG: checking pdc device "/dev/sdc"

ERROR: pdc: wrong # of devices in RAID set "pdc_dihbhdgahc" [1/2] on /dev/sdc

DEBUG: set status of set "pdc_dihbhdgahc" to 4

RAID set "pdc_dihbhdgahc" already active

INFO: Activating mirror raid set "pdc_dihbhdgahc"

NOTICE: discovering partitions on "pdc_dihbhdgahc"

NOTICE: /dev/mapper/pdc_dihbhdgahc: dos discovering

NOTICE: /dev/mapper/pdc_dihbhdgahc: dos metadata discovered

DEBUG: _find_set: searching pdc_dihbhdgahc1

DEBUG: _find_set: not found pdc_dihbhdgahc1

NOTICE: created partitioned RAID set(s) for /dev/mapper/pdc_dihbhdgahc

RAID set "pdc_dihbhdgahc1" already active

INFO: Activating partition raid set "pdc_dihbhdgahc1"

WARN: unlocking /var/lock/dmraid/.lock

DEBUG: freeing devices of RAID set "pdc_dihbhdgahc"

DEBUG: freeing device "pdc_dihbhdgahc", path "/dev/sdc"

DEBUG: freeing devices of RAID set "pdc_dihbhdgahc1"

DEBUG: freeing device "pdc_dihbhdgahc1", path "/dev/mapper/pdc_dihbhdgahc"



I can attach or upload the generated dmraid.pdc folder if anyone wants (don't really want to overload the archives). However it does only contain sdc.xxx files, and nothing about sdb. I can provide dd of the required sectors of the other drive as well (just tell me which ones are!).





Just in case I forced a synchronize with the raidxpert web interface from windows, which already completed, without any difference.



The geometry of the drives (which are slightly different, as the bigger one is older):





root@blackie:~# fdisk -l /dev/sdb





Disk /dev/sdb: 250.0 GB, 250000000000 bytes

255 heads, 63 sectors/track, 30394 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0x85311ed9



Device Boot Start End Blocks Id System

/dev/sdb1 1 30273 243161088 7 HPFS/NTFS

root@blackie:~# fdisk -l /dev/sdc



Disk /dev/sdc: 251.0 GB, 251000193024 bytes

255 heads, 63 sectors/track, 30515 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0x85311ed9



Device Boot Start End Blocks Id System

/dev/sdc1 1 30273 243161088 7 HPFS/NTFS





If anyone should be interested in making ataraid work in SB750 southbridge, just contact me and I will follow instructions for making the tests in the hardware. I have the two drives referred above available for this testing, and might perhaps get another 250G and an additional smaller one if required for any other raid types; so long, I am only trying raid0 and 1 with two of them. I will repeat the test ASAP with the *other* drive (which is exactly 250 IIRC).



Just in case it helps:





jisakiel@blackie:~$ uname -a

Linux blackie 2.6.32-trunk-amd64 #1 SMP Thu Jan 7 17:44:12 UTC 2010 x86_64 GNU/Linux

jisakiel@blackie:~$ apt-cache policy dmraid

dmraid:

Instalados: 1.0.0.rc16-3

Candidato: 1.0.0.rc16-3

Tabla de versión:

*** 1.0.0.rc16-3 0

990 http://ftp.de.debian.org testing/main Packages

500 http://ftp.de.debian.org unstable/main Packages

100 /var/lib/dpkg/status

1.0.0.rc14-7 0

500 http://ftp.de.debian.org stable/main Packages



Motherboard is an Asus M3A78-T with the latest (1701) bios; I can provide as well the raid bios version if needed. SB is the SB750.



Thanks for the attention and sorry for the long email; I would really like to troubleshoot this.





----- Mensaje original ----

> De: Ezequiel Lara Gómez

> Para: ataraid-list@xxxxxxxxxx

> Enviado: mar,17 marzo, 2009 17:58

> Asunto: Not working on ATI SB750 as of debian's 1.0.0.rc15

>

> I saw in this mailing list some patches related to dmraid working in SB600

> (https://www.redhat.com/archives/ataraid-list/2009-March/msg00005.html, and

> redhat's bug

> http://www.redhat.com/archives/ataraid-list/2008-March/msg00015.html ). Debian

> has this patches in experimental's version 1.0.0.rc15-3 in the file

> "09_promise-add-offsets.patch":

>

> -#define PDC_CONFIGOFFSETS 63,255,256,16,399,675,735,974,991

> +#define PDC_CONFIGOFFSETS 63,255,256,16,399,675,735,974,991,911,974,591

>

>

> However it still doesn't work on my Asus M3A78-T with SB750 and latest bios

> (0802).

>

> By the way, I noticed the raid manager, both the windows web-based and the BIOS

> one (duh, of course), allow you to create several raids on a couple of disks,

> and I recall having readed on this list that it -non-full-drive raids- wasn't

> supported as no promise controller was documented to support it yet... I could

> be wrong though.

>

>

> Right now I have three drives: One, a fast WD 150G drive, working standalone,

> and then two slightly different 250G drives (Maxtor and WD, one appears as being

> 251G). The array in bios is created with these two drives as one RAID1 (2x1)

> 200G in size, and then the remaining space as raid0 (~91G IIRC). dmraid -r -vvv

> -d only finds metadata in one of the drives, and only for the first array. I

> also tried in plain whole-disk raid1 and raid0 configuration and it still didn't

> find the metadata on both disks (with debian's version which has that patch

> preapplied!).

>

> I'm more than willing to help debugging / testing this, as I'd really like

> dmraid to work on this configuration (dmraid + IFS for using ext3 in windows =

> multibootheaven ;) ). I can provide dumps if wanted (tar-gzed of course ;) );

> drives are clean and I won't use them until I get this to work. If needed I'll

> give more precise info about my setup from windows / the bios.

>

>

>

> PS:

>

> jisakiel@blackie:~/src/dmraid/dmraid-1.0.0.rc15/debian/patches$ sudo dmraid -r

> -vvv -d

> WARN: locking /var/lock/dmraid/.lock

> NOTICE: skipping removable device /dev/hda

> NOTICE: skipping removable device /dev/hdb

> NOTICE: /dev/sdc: asr discovering

> NOTICE: /dev/sdc: ddf1 discovering

> NOTICE: /dev/sdc: hpt37x discovering

> NOTICE: /dev/sdc: hpt45x discovering

> NOTICE: /dev/sdc: isw discovering

> NOTICE: /dev/sdc: jmicron discovering

> NOTICE: /dev/sdc: lsi discovering

> NOTICE: /dev/sdc: nvidia discovering

> NOTICE: /dev/sdc: pdc discovering

> NOTICE: /dev/sdc: sil discovering

> NOTICE: /dev/sdc: via discovering

> NOTICE: /dev/sdb: asr discovering

> NOTICE: /dev/sdb: ddf1 discovering

> NOTICE: /dev/sdb: hpt37x discovering

> NOTICE: /dev/sdb: hpt45x discovering

> NOTICE: /dev/sdb: isw discovering

> NOTICE: /dev/sdb: jmicron discovering

> NOTICE: /dev/sdb: lsi discovering

> NOTICE: /dev/sdb: nvidia discovering

> NOTICE: /dev/sdb: pdc discovering

> NOTICE: /dev/sdb: pdc metadata discovered

> NOTICE: /dev/sdb: sil discovering

> NOTICE: /dev/sdb: via discovering

> NOTICE: /dev/sda: asr discovering

> NOTICE: /dev/sda: ddf1 discovering

> NOTICE: /dev/sda: hpt37x discovering

> NOTICE: /dev/sda: hpt45x discovering

> NOTICE: /dev/sda: isw discovering

> NOTICE: /dev/sda: jmicron discovering

> NOTICE: /dev/sda: lsi discovering

> NOTICE: /dev/sda: nvidia discovering

> NOTICE: /dev/sda: pdc discovering

> NOTICE: /dev/sda: sil discovering

> NOTICE: /dev/sda: via discovering

> INFO: RAID device discovered:

>

> /dev/sdb: pdc, "pdc_bcdgijjhcg", mirror, ok, 410156288 sectors, data@ 0

> WARN: unlocking /var/lock/dmraid/.lock









_______________________________________________

Ataraid-list mailing list

Ataraid-list@xxxxxxxxxx

https://www.redhat.com/mailman/listinfo/ataraid-list



_______________________________________________
Ataraid-list mailing list
Ataraid-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/ataraid-list

[Index of Archives]     [Linux RAID]     [Linux Device Mapper]     [Linux IDE]     [Linux SCSI]     [Kernel]     [Linux Books]     [Linux Admin]     [GFS]     [RPM]     [Yosemite Campgrounds]     [AMD 64]

  Powered by Linux