Vinum and Promise ATS Raid card

David Dooley dpd at Raffles-IT.com
Wed Dec 24 17:24:17 PST 2003


Thanks to the one respondent that wrote to me off the list with a patch that I
was able to apply to vinumio.c file. vinum now recognises my devices, great,
unfortunatly the patch I have is not the whole story. 

After applying the patch


***./sys/dev/vinum/vinumio.c.orig	Thu May  2 01:43:44 2002---
./sys/dev/vinum/vinumio.c	Sat Oct  4 18:46:00 2003***************
*** 78,83 ****
--- 78,85 ----
  	devmajor = 116;
      else if (bcmp(dname, "wd", 2) == 0)			    /* IDE disk */
  	devmajor = 3;
+     else if (bcmp(dname, "ar", 2) == 0)			    /* ATA RAID ckw */
+ 	devmajor = 157;
      else if (bcmp(dname, "da", 2) == 0)
  	devmajor = 13;
      else if (bcmp(dname, "vn", 2) == 0)

I can now add the volume to vinum and create sub-disks, plexes and volumes,
fantastic.

The configuration file I used is

	drive BigDrive device /dev/ar0e

	volume Home
	 plex org concat
	  sd len 20971520s drive BigDrive

	volume Build
	 plex org concat
	  sd len 10485760s drive BigDrive

	volume Shares
	 plex org concat
	  sd len 10485760s drive BigDrive

	volume Books
	 plex org concat
	  sd len 10485760s drive BigDrive

	volume MP3
	 plex org concat
	  sd len 251658240s drive BigDrive

	volume Pictures
	 plex org concat
	  sd len 41943040s drive BigDrive

this then yields an out output of the vinum list command. Please excuse the
var , tmp and usr volumes shown, that's a separate vinum configuration that
mirrors my root file systems and works fine even between reboots....

# vinum list  
4 drives: 
D YouCrazy        State: up  Device /dev/da0h   Avail: 4578/4578 MB (100%) 
D UpWindow        State: up  Device /dev/da1h   Avail: 4578/4578 MB (100%) 
D BigDrive        State: up  Device /dev/ar0e   Avail: 212505/381465 MB (55%)

9 volumes:
V var                   State: up       Plexes:       2 Size:       1024 MB
V tmp                   State: up       Plexes:       2 Size:       1024 MB
V usr                   State: up       Plexes:       2 Size:       2530 MB
V Home                  State: up       Plexes:       1 Size:         10 GB
V Build                 State: up       Plexes:       1 Size:       5120 MB
V Shares                State: up       Plexes:       1 Size:       5120 MB
V Books                 State: up       Plexes:       1 Size:       5120 MB
V MP3                   State: up       Plexes:       1 Size:        120 GB
V Pictures              State: up       Plexes:       1 Size:         20 GB

12 plexes:
P var.p0              C State: up       Subdisks:     1 Size:       1024 MB
P tmp.p0              C State: up       Subdisks:     1 Size:       1024 MB
P usr.p0              C State: up       Subdisks:     1 Size:       2530 MB
P var.p1              C State: up       Subdisks:     1 Size:       1024 MB
P tmp.p1              C State: up       Subdisks:     1 Size:       1024 MB
P usr.p1              C State: up       Subdisks:     1 Size:       2530 MB
P Home.p0             C State: up       Subdisks:     1 Size:         10 GB
P Build.p0            C State: up       Subdisks:     1 Size:       5120 MB
P Shares.p0           C State: up       Subdisks:     1 Size:       5120 MB
P Books.p0            C State: up       Subdisks:     1 Size:       5120 MB
P MP3.p0              C State: up       Subdisks:     1 Size:        120 GB
P Pictures.p0         C State: up       Subdisks:     1 Size:         20 GB

12 subdisks:
S var.p0.s0             State: up       PO:        0  B Size:       1024 MB
S tmp.p0.s0             State: up       PO:        0  B Size:       1024 MB
S usr.p0.s0             State: up       PO:        0  B Size:       2530 MB
S var.p1.s0             State: up       PO:        0  B Size:       1024 MB
S tmp.p1.s0             State: up       PO:        0  B Size:       1024 MB
S usr.p1.s0             State: up       PO:        0  B Size:       2530 MB
S Home.p0.s0            State: up       PO:        0  B Size:         10 GB
S Build.p0.s0           State: up       PO:        0  B Size:       5120 MB
S Shares.p0.s0          State: up       PO:        0  B Size:       5120 MB
S Books.p0.s0           State: up       PO:        0  B Size:       5120 MB
S MP3.p0.s0             State: up       PO:        0  B Size:        120 GB
S Pictures.p0.s0        State: up       PO:        0  B Size:         20 GB

Which it the sort of thing I wanted, fantastic.

The only problem is that when I reboot the box the configuration looks like
this

2 drives:
D YouCrazy          State: up    Device /dev/da0s1h     Avail: 0/4578 MB (0%)
D UpWindow          State: up    Device /dev/da1s1h     Avail: 0/4578 MB (0%)
D BigDrive          State: referenced       Device  Avail: 0/0 MB

9 volumes:
V var                   State: up       Plexes:       2 Size:       1024 MB
V tmp                   State: up       Plexes:       2 Size:       1024 MB
V usr                   State: up       Plexes:       2 Size:       2530 MB
V Home                  State: down     Plexes:       1 Size:         10 GB
V Build                 State: down     Plexes:       1 Size:       5120 MB
V Shares                State: down     Plexes:       1 Size:       5120 MB
V Books                 State: down     Plexes:       1 Size:       5120 MB
V MP3                   State: down     Plexes:       1 Size:        120 GB
V Pictures              State: down     Plexes:       1 Size:         20 GB

12 plexes:
P var.p0              C State: up       Subdisks:     1 Size:       1024 MB
P tmp.p0              C State: up       Subdisks:     1 Size:       1024 MB
P usr.p0              C State: up       Subdisks:     1 Size:       2530 MB
P var.p1              C State: up       Subdisks:     1 Size:       1024 MB
P tmp.p1              C State: up       Subdisks:     1 Size:       1024 MB
P usr.p1              C State: up       Subdisks:     1 Size:       2530 MB
P Home.p0             C State: faulty   Subdisks:     1 Size:         10 GB
P Build.p0            C State: faulty   Subdisks:     1 Size:       5120 MB
P Shares.p0           C State: faulty   Subdisks:     1 Size:       5120 MB
P Books.p0            C State: faulty   Subdisks:     1 Size:       5120 MB
P MP3.p0              C State: faulty   Subdisks:     1 Size:        120 GB
P Pictures.p0         C State: faulty   Subdisks:     1 Size:         20 GB

12 subdisks:
S var.p0.s0             State: up       PO:        0  B Size:       1024 MB
S tmp.p0.s0             State: up       PO:        0  B Size:       1024 MB
S usr.p0.s0             State: up       PO:        0  B Size:       2530 MB
S var.p1.s0             State: up       PO:        0  B Size:       1024 MB
S tmp.p1.s0             State: up       PO:        0  B Size:       1024 MB
S usr.p1.s0             State: up       PO:        0  B Size:       2530 MB
S Home.p0.s0            State: crashed  PO:        0  B Size:         10 GB
S Build.p0.s0           State: crashed  PO:        0  B Size:       5120 MB
S Shares.p0.s0          State: crashed  PO:        0  B Size:       5120 MB
S Books.p0.s0           State: crashed  PO:        0  B Size:       5120 MB
S MP3.p0.s0             State: crashed  PO:        0  B Size:        120 GB
S Pictures.p0.s0        State: crashed  PO:        0  B Size:         20 GB

This not looking so good. I cannot find a command to revive any of the
components I only get a response of the like

# vinum start Home
Can't start Pictures: Device busy (16)

or

# vinum init Home 
Initializing volumes is not implemented yet


If I "vinum rm -rf <faulty volume name>" for all the now faulty components and
use my create script again, all my drives are magically OK, and I can fsck and
mount them just fine. Not that I anticipate rebooting this box much, beyond
when I patch it to the latest release, it will be a tad annoying to have to
rebuild my volume configuration on each reboot, and once I start extending
volumes it might get a bit on the stress full side trying to  build everything
in the crorect order.

Has any one else any experience of using vinum on the ar0 device that
doesn't require rebuilding the configuration after each reboot.

Thanks for any help

David.


On Sat, 20 Dec 2003 16:32:28 +0000
David Dooley <dpd at Raffles-IT.com> wrote:

> Hi
> 
> I am having a problems creating vinum objects.
> 
> I have 4 200GB disks connected to a Promise ATA FastTRAK raid controller and
> the disk are defined as a 400GB Raid 0+1 drive. This all appears to be fine
> and is viasable to the OS
> 
> ar0: 381469MB <ATA RAID0+1 array> [48630/255/63] status: READY subdisks:
>  0 READY ad0: 190782MB <WDC WD2000JB-32EVA0> [387621/16/63] at ata2-master
> UDMA100          
>  1 READY ad1: 190782MB <WDC WD2000JB-32EVA0> [387621/16/63] at ata2-slave
> UDMA100           
>  2 READY ad2: 190782MB <WDC WD2000JB-32EVA0> [387621/16/63] at ata3-master
> UDMA100          
>  3 READY ad3: 190782MB <WDC WD2000JB-32EVA0> [387621/16/63] at ata3-slave
> UDMA100
> 
> As that stands I can label the disk and newfs it and all is working fine.
> 
> # /dev/ar0c:
> type: ESDI
> disk: ar0s1
> label: 
> flags:
> bytes/sector: 512
> sectors/track: 63
> tracks/cylinder: 255
> sectors/cylinder: 16065
> cylinders: 48629
> sectors/unit: 781240887
> rpm: 3600
> interleave: 1
> trackskew: 0
> cylinderskew: 0
> headswitch: 0           # milliseconds
> track-to-track seek: 0  # milliseconds
> drivedata: 0 
> 
> 8 partitions:
> #        size   offset    fstype   [fsize bsize bps/cpg]
>   c: 781240887        0    unused        0     0        # (Cyl.    0 -
>   48629*) e: 781240887        0    4.2BSD     2048 16384    89  # (Cyl.    0
>   - 48629*)
> 
> and after newfs with the file system mounted
> 
> Filesystem 1K-blocks Used     Avail Capacity  Mounted on
> /dev/ar0e  384514280    2 353753136     0%    /mnt
> 
> Now what I would really like to do is is create lots of vinum objects that I
> can use to create file systems out of and to extend them as and when needed
> and also to remove the whole 7 partitions limitation.
> 
> So after unmounting the file system and changeing the disk label to from
> 4.2BSD to vinum
> 
> # disklabel -r ar0
> # /dev/ar0c:
> type: ESDI
> disk: ar0s1
> label: 
> flags:
> bytes/sector: 512
> sectors/track: 63
> tracks/cylinder: 255
> sectors/cylinder: 16065
> cylinders: 48629
> sectors/unit: 781240887
> rpm: 3600
> interleave: 1
> trackskew: 0
> cylinderskew: 0
> headswitch: 0           # milliseconds
> track-to-track seek: 0  # milliseconds
> drivedata: 0 
> 
> 8 partitions:
> #        size   offset    fstype   [fsize bsize bps/cpg]
>   c: 781240887        0    unused        0     0        # (Cyl.    0 -
>   48629*) e: 781240887        0     vinum                       # (Cyl.    0
>   - 48629*)
> 
> I tried to do the first step in creating a vinum volume si I created a
> config file with the line 
> 
> drive a device /dev/ar0e
> 
> I then fired up vinum and ran the command 
> 
> vinum -> create -f /etc/vinum.config
>  and got the response 
> 
>    1: drive a device /dev/ar0e
> ** 1 Can't initialize drive a: Operation not supported by device
> 0 drives:
> 0 volumes:
> 0 plexes:
> 0 subdisks:
> 
> I tried the config with 
> drive a device /dev/ar0s1e and got the same response can any one tell me if
> vinum supports hardware raid disks.
> 
> I really want to use vinum to get of the limitation of 7 file system
> / partitions per drive so I can create a number of small volumes and add
> plexes as and when require to grow the file system and not for the
> redundancy/resiliency aspects as that is taken care of by the hardware.
> 
> Thanks for any help and advice.
> 
> David.
> 
> 
> -- 
> 
> David Dooley
> dpd at raffles-it.com
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
> 


-- 

David Dooley
dpd at raffles-it.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20031225/60a4c09c/attachment.bin


More information about the freebsd-questions mailing list