Skip to contentSkip to conversation

vgscan won't recognize my VG

linux-lvm David Vidal Rodriguez 9 participants 25 messages Mar 19, 2001 – Mar 31, 2001 1 message not in the archive Library code

lore
Share & tools
lore
#0 lore raw

Hi there!

I am aware that this topic may have been discussed a couple of times by now, but
it seems that there are different reasons for it: why doesn't vgscan recognize under certain circumstances my VG? I'll just write down all informations I've collected:

Linux-version: 2.4.0
LVM-version: 0.9 (IO-Protocoll 10) -- the version of the Linus stock kernel, ie, no patches applied.

My system has one VG (called "dsk"), PE size = 1Mb, LVs with several filesystems (ext2, reiserfs, swap), it is contained within 3 PVs of different (hard) discs.

The root-fs is installed in a primary partition.

Situation:
I made recently a _very_ big mistake --that's the begin of all this problem, indeed-- because I shrinked a LV without resizing the fs first, and realizing it just after having pressed Enter (oops...), I've let it grow to the original size. Since it didn't work, I decided to restore the VGDA from the appropriate backup by running lvmcfgrestore with my 3 PVs. It seemed to work, but after I've rebooted the machine, the fatal message appeared: no VGs found (and /etc/lvmtab* disappeared!).

The only tools that work are pv*, because only these don't rely on VGDA information collected and stored in /etc/lvmtab.d by vgscan:

pvscan detects all my PVs and adds that they belong to "an unknown VG (run vgscan)."

I runned pvdata -U (get UUIDs) and I got some interesting information about my PVs. For simplicity's sake I'll use identifiers for the UUIDs.

List of UUIDs:

part5:
<uuid1>
<uuid2>

part7:
<uuid3>
<uuid2>

part2:
<uuid2>
<uuid2>

I think that the last entry isn't normal, is it? Could it be this the answer to my question? I would appreciate anybody's help because it seems that everything's OK but there's someting strange there, and it would be very frustrating to lose 3.2 Gb of data that isn't messed up... Please tell me if you need more information in order to find out what's gone wrong.

Thanks in advance,

David Vidal R. ([email protected])

#1 lore raw
Quoted 3 lines · David Vidal R.

Linux-version: 2.4.0
LVM-version: 0.9 (IO-Protocoll 10) -- the version of the Linus stock kernel, ie, no patches applied.

What version of user tools do you have? You should use the beta6 tools.

Quoted 12 lines

pvscan detects all my PVs and adds that they belong to "an unknown VG (run vgscan)."

I runned pvdata -U (get UUIDs) and I got some interesting information about my PVs. For simplicity's sake I'll use identifiers for the UUIDs.

List of UUIDs:

part5:
<uuid1>
<uuid2>

Quoted 7 lines

part7:
<uuid3>
<uuid2>

part2:
<uuid2>
<uuid2>

Your UUIDs are broken. This is why vgscan is failing. All of them are incorrect. Each should list all 3 UUIDs on each disk. There was a bug in the user tools related to this, fixed in beta4 (I think). It is definitely fixed in beta 6.

Quoted 1 line

it would be very frustrating to lose 3.2 Gb of data that isn't messed up...

Yes, your data is still on the disk, but it would be safer if you had a backup.

Quoted 2 lines

Please tell me if you need more information in order to find out what's gone wrong.

If you have the new beta6 tools, but an old beta2 kernel, you need to apply a patch to vg_create_restore.c (I posted it to lvm-devel a week ago or so), for vgscan to work properly. If you run vgcfgrestore with the beta6 tools, it should write the UUIDs to disk properly.

Cheers, Andreas

Signature · 3 lines
Andreas Dilger  \ "If a man ate a pound of pasta and a pound of antipasto,
                 \  would they cancel out, leaving him still hungry?"
http://www-mddsp.enel.ucalgary.ca/People/adilger/               -- Dogbert
#2 lore raw

OK, I have compiled the beta6 tools.

1) How do I know if the clean linus-2.4.0 kernel has a beta2 lvm module?
2) And how do I repair the UUIDs of my PVs?
3) Could you tell me where can I download the patch you mentioned?

Thank you very much for diagnosing the problem. I hope you can help me again... Ciao!
--
------------------------------------------------------------------------
David Vidal R. ([email protected])

#3 lore raw
Quoted 5 lines · David Vidal Rodriguez

OK, I have compiled the beta6 tools.

1) How do I know if the clean linus-2.4.0 kernel has a beta2 lvm module?
2) And how do I repair the UUIDs of my PVs?
3) Could you tell me where can I download the patch you mentioned?

In answer to questions 1 & 3:
1) a clean linux-2.4.0 kernel does *not* have the beta2 lvm module
3) You also need the beta6 LVM module for best performance. Look at the README in the PATCHES directory of the LVM 0.9.1 beta6 source. This will explain how to generate the patch for your kernel.

Regards,

Signature · 13 lines
AJ Lewis
Sistina Software Inc.                  Voice:  612-379-3951
1313 5th St SE, Suite 111              Fax:    612-379-3952
Minneapolis, MN 55414                  E-Mail: [email protected]
http://www.sistina.com

Current GPG fingerprint = 3B5F 6011 5216 76A5 2F6B  52A0 941E 1261 0029 2648
Get my key at: http://www.sistina.com/~lewis/gpgkey
 (Unfortunately, the PKS-type keyservers do not work with multiple sub-keys)

-----Begin Obligatory Humorous Quote----------------------------------------
Chaos, panic, pandemonium - my work here is done
-----End Obligatory Humorous Quote------------------------------------------
#4 lore raw
In reply to David Vidal Rodriguez
Quoted 3 lines · David Vidal R.

OK, I have compiled the beta6 tools.

1) How do I know if the clean linus-2.4.0 kernel has a beta2 lvm module?

cat /proc/lvm/global will tell you.

Quoted 1 line

2) And how do I repair the UUIDs of my PVs?

You should be able to do "vgcfgrestore" and it will write the UUIDs to disk correctly (creating new ones if needed).

Quoted 1 line

3) Could you tell me where can I download the patch you mentioned?

Patch below. Only needed if you have < beta6 kernel code. It probably should be put into the standard tools, however, because a lot of people are still using beta2 kernel code.

Cheers, Andreas
=========================================================================

lib/vg_create_remove.c +47 -41
diff -u -u -r1.2.2.8 vg_create_remove.c
@@ -36,57 +36,63 @@
 
 #include <liblvm.h>
 
-/* internal function */
-int vg_create_remove ( char *, vg_t *, int);
+static int vg_create_remove ( const char *lvm_dev_name, vg_t *vg, int ioc)
+{
+   int lvm_dev;
+   int ret = 0;
 
+   if ( ( lvm_dev = open ( lvm_dev_name, O_RDWR)) == -1)
+      ret = -LVM_EVG_CREATE_REMOVE_OPEN;
+   else {
+      debug ( "vg_create_remove -- IOCTL %x on %s with VG ptr %p\n",
+	      ioc, lvm_dev_name, vg);
+      if ( ( ret = ioctl ( lvm_dev, ioc, vg)) == -1)
+         ret = -errno;
+      debug ( "vg_create_remove -- IOCTL returned: %d\n", ret);
+      close ( lvm_dev);
+   }
 
-int vg_create ( char *vg_name, vg_t *vg) {
-   return vg_create_remove ( vg_name, vg, VG_CREATE);
+   return ret;
 }
 
 
-int vg_remove ( char *vg_name) {
-   return vg_create_remove ( vg_name, NULL, VG_REMOVE);
-}
+int vg_create ( vg_t *vg)
+{
+   int ret;
+
+   debug_enter ( "vg_create -- CALLED with VG %s\n", vg ? vg->vg_name: "NULL");
+
+   ret = vg_check_consistency ( vg);
+   if (ret == 0) {
+      ret = vg_create_remove ( LVM_DEV, (void *)vg, VG_CREATE);
+#ifdef VG_CREATE_OLD
+      if (ret == -EINVAL) {
+         char lvm_dev_name[NAME_LEN];
 
-
-int vg_create_remove ( char *vg_name, vg_t *vg, int cr) {
-   int lvm_dev = -1;
-   int ret = 0;
-	char lvm_dev_name[NAME_LEN];
-
-   debug_enter ( "vg_create_remove -- CALLED\n");
+         sprintf ( lvm_dev_name, LVM_DIR_PREFIX "%s/group", vg->vg_name);
+         ret = vg_create_remove ( lvm_dev_name, (void *)vg, VG_CREATE_OLD);
+      }
+#endif
+   }
 
-   switch ( cr) {
-      case VG_CREATE:
-	 strcpy(lvm_dev_name, LVM_DEV);
-	 if ( vg_name == NULL ||
-              vg == NULL ||
-              vg_check_name ( vg_name) < 0 ||
-              vg_check_consistency ( vg) < 0) ret = -LVM_EPARAM;
-         break;
-
-      case VG_REMOVE:
-         sprintf(lvm_dev_name, LVM_DIR_PREFIX "%s/group", vg_name);
-         if ( vg_name == NULL ||
-              vg_check_name ( vg_name) < 0) ret = -LVM_EPARAM;
-         break;
+   debug_leave ( "vg_create -- LEAVING with ret: %d\n", ret);
+   return ret;
+}
 
-      default:
-         ret = -LVM_EPARAM;
-   }
+int vg_remove ( char *vg_name)
+{
+   int ret;
+
+   debug_enter ( "vg_remove -- CALLED with VG %s\n", vg_name);
+
+   ret = vg_check_name ( vg_name);
+   if (ret == 0) {
+      char lvm_dev_name[NAME_LEN];
 
-   if ( ret == 0) {
-      if ( ( lvm_dev = open ( lvm_dev_name, O_RDWR)) == -1)
-         ret = -LVM_EVG_CREATE_REMOVE_OPEN;
-      else {
-         debug ( "vg_create_remove -- IOCTL\n");
-         if ( ( ret = ioctl ( lvm_dev, cr, vg)) == -1) ret = -errno;
-         debug ( "vg_create_remove -- IOCTL returned: %d\n", ret);
-      }
-      if ( lvm_dev != -1) close ( lvm_dev);
+      sprintf ( lvm_dev_name, LVM_DIR_PREFIX "%s/group", vg_name);
+      ret = vg_create_remove ( lvm_dev_name, NULL, VG_REMOVE);
    }
 
-   debug_leave ( "vg_create_remove -- LEAVING with ret: %d\n", ret);
+   debug_leave ( "vg_remove -- LEAVING with ret: %d\n", ret);
    return ret;
 }
Signature · 3 lines
Andreas Dilger  \ "If a man ate a pound of pasta and a pound of antipasto,
                 \  would they cancel out, leaving him still hungry?"
http://www-mddsp.enel.ucalgary.ca/People/adilger/               -- Dogbert
#5 lore raw

I'll patch it mow, I'll tell you in a few minutes if I have problems compiling the kernel...
Thank you all for answering so fast!!

--
------------------------------------------------------------------------
David Vidal R. ([email protected])
http://dvr.ismad.com
"Ein Computer ohne Windows ist wie ein Fisch ohne Fahrrad."

#6 lore raw
In reply to Andreas Dilger
Quoted 5 lines · Andreas Dilger

Patch below. Only needed if you have < beta6 kernel code. It probably should be put into the standard tools, however, because a lot of people are still using beta2 kernel code.

err... is this a patch for generating the kernel patch? I _do_ have the beta6 sources, compiled the tools and generated the patch, but the kernel doesn't compile. It says sth. about unresolved symbols. Indeed, if I compile lvm as a module (lvm-mod.o), I can build the kernel and the modules, but there seems to be "unresolved symbols". Hmmm... and I have had to deactivate lines 333-335 in tools/lib/liblvm.h because there is a name conflict with this function and the standard one...
I also have had to add the include dir of the kernel source tree to the CFLAGS because of a couple of ENOENTs... I have to say that I don't and can't have the source tree in the standard location (/usr/src) because I'm not root.... I am sure that I'm doing something stupidly wrong. Am I right?

Thanks for your patience,
--
------------------------------------------------------------------------
David Vidal R. ([email protected])

#7 lore raw
Quoted 6 lines · David Vidal R.
Quoted 3 lines · Andreas Dilger

Patch below. Only needed if you have < beta6 kernel code. It probably should be put into the standard tools, however, because a lot of people are still using beta2 kernel code.

err... is this a patch for generating the kernel patch?

No, the patch is for the user tools only. You need to use this patch if you are using beta6 user tools, but have an older kernel version.

Quoted 4 lines

I _do_ have the beta6 sources, compiled the tools and generated the patch, but the kernel doesn't compile. It says sth. about unresolved symbols. Indeed, if I compile lvm as a module (lvm-mod.o), I can build the kernel and the modules, but there seems to be "unresolved symbols".

What symbols are missing? I assume you applied the resulting kernel patch to the kernel source tree, and are compiling the LVM module there?

Quoted 2 lines

Hmmm... and I have had to deactivate lines 333-335 in tools/lib/liblvm.h because there is a name conflict with this function and the standard one...

Yes, this is OK. Basename has always been a problem.

Quoted 4 lines

I also have had to add the include dir of the kernel source tree to the CFLAGS because of a couple of ENOENTs... I have to say that I don't and can't have the source tree in the standard location (/usr/src) because I'm not root....

???? If you are not root, then how do you expect to install a new kernel or run the LVM user tools????

Cheers, Andreas

Signature · 3 lines
Andreas Dilger  \ "If a man ate a pound of pasta and a pound of antipasto,
                 \  would they cancel out, leaving him still hungry?"
http://www-mddsp.enel.ucalgary.ca/People/adilger/               -- Dogbert
#8 lore raw
Quoted 5 lines · Andreas Dilger

???? If you are not root, then how do you expect to install a new kernel or run the LVM user tools????

This isn't the computer that's "ill"... and it belongs to the University... I bring everything home (where my broken LVM is) and test there. Now I have to go, but I want to discuss it tomorrow...
Danke und bis morgen!

--
------------------------------------------------------------------------
David Vidal R. ([email protected])

#9 lore raw
Quoted 8 lines · * David Vidal Rodriguez ([email protected]) wrote:
Quoted 5 lines · Andreas Dilger

???? If you are not root, then how do you expect to install a new kernel or run the LVM user tools????

Hi,

Having had the same problem, I did upgrade my kernel and can now access my LVM, but vgscan still doesnt work.

The drives seem to be missing one UUID each:

hdg1:
--- List of physical volume UUIDs ---

000: 3y4m3p-fgHn-0vAI-BRkG-rpAA-LZvd-3U98de
001: p66g9Y-hBKc-Ovlz-JX3V-6F6w-bk6a-1UP1MX
002: --- EMPTY ---

hdf1:

--- List of physical volume UUIDs ---

000: UsFg0p-DUVj-nNas-7JlU-WePY-ad7y-zyjPie
001: p66g9Y-hBKc-Ovlz-JX3V-6F6w-bk6a-1UP1MX
002: --- EMPTY ---

hde1:

--- List of physical volume UUIDs ---

000: UsFg0p-DUVj-nNas-7JlU-WePY-ad7y-zyjPie
001: p66g9Y-hBKc-Ovlz-JX3V-6F6w-bk6a-1UP1MX
002: --- EMPTY ---

I have run vgcfgrestore before vgscan, and yet it still cant find
the VG. Any ideas on how to get the UUID's written back correctly ? (I guess they are partly missing in the backup files). I have all three in the above just the drives dont have all three themselves.

Any help would be appreciated

Regards
Richard

#10 lore raw

That's exactly what I'm looking for 'cause it seems that there's not LVM without correct uuids.
Andreas Dilger said before that

Quoted 2 lines

You should be able to do "vgcfgrestore" and it will write the UUIDs to disk correctly (creating new ones if needed).

My problem is that I get compile errors when building the kernel + beta6-patch (I've followed the steps in the PATCHES directory). It says something about LVM-symbols... I will post them if someone knows what could be the reason.

--
------------------------------------------------------------------------
David Vidal R. ([email protected])

#11 lore raw

David Vidal R. write:

Quoted 6 lines

That's exactly what I'm looking for 'cause it seems that there's not LVM without correct uuids.

My problem is that I get compile errors when building the kernel + beta6-patch (I've followed the steps in the PATCHES directory). It says something about LVM-symbols... I will post them if someone knows what could be the reason.

You don't need the beta6 kernel patch to run vgcfgrestore to restore UUIDs, only the beta6 user tools.

Cheers, Andreas

Signature · 3 lines
Andreas Dilger  \ "If a man ate a pound of pasta and a pound of antipasto,
                 \  would they cancel out, leaving him still hungry?"
http://www-mddsp.enel.ucalgary.ca/People/adilger/               -- Dogbert
#12 lore raw
Quoted 2 lines

You don't need the beta6 kernel patch to run vgcfgrestore to restore UUIDs, only the beta6 user tools.

OK, but see what appears if I try to restore the VGDA... (the messages aren't exact)

# vgcfgrestore -n <vg_name> -f <vgda_backup> <path_to_pv>
Error "parameter error" while trying to restore
# cp <vgda_backup> /etc/lvmtab.d/<vg_name>
# vgcfgrestore -n <vg_name> <path_to_pv>
vgcfgrestore -- VGDA of vg <vg_name> successfully restored in <path_to_pv>
# pvdata -U <path_to_pv>
List of UUIDs:
uuid0: <uuid1>
uuid1: <uuid2>
uuid2: --EMPTY--

# This sucks!
!: Event not found :))

So what's up here? Am I using vgcfgrestore properly or am I messing the whole thing up?

--
------------------------------------------------------------------------
David Vidal R. ([email protected])
http://dvr.ismad.com
"Ein Computer ohne Windows ist wie ein Fisch ohne Fahrrad."

#13 lore raw

You write:

Quoted 8 lines
Quoted 2 lines

You don't need the beta6 kernel patch to run vgcfgrestore to restore UUIDs, only the beta6 user tools.

OK, but see what appears if I try to restore the VGDA... (the messages aren't exact)

# vgcfgrestore -n <vg_name> -f <vgda_backup> <path_to_pv>
Error "parameter error" while trying to restore

Bug in the code. Exact error would help.

Quoted 9 lines
# cp <vgda_backup> /etc/lvmtab.d/<vg_name>
# vgcfgrestore -n <vg_name> <path_to_pv>
vgcfgrestore -- VGDA of vg <vg_name> successfully restored in <path_to_pv>
# pvdata -U <path_to_pv>
List of UUIDs:
uuid0: <uuid1>
uuid1: <uuid2>
uuid2: --EMPTY--

It _should_ work, but why it doesn't, I don't know. Can you try running "vgcfgrestore -v -d -n <vg_name> <path_to_pv>" and send the output (compressed probably).

If possible, apply the following patch first, so we can be sure that it is doing the right thing.

Cheers, Andreas
=========================================================================

lib/pv_write_uuidlist.c +3 -1
diff -u -u -r1.1.2.2 pv_write_uuidlist.c
@@ -45,7 +45,7 @@
    int size = 0;
    char *pv_uuid_list = NULL;
 
-   debug_enter ( "pv_write_uuidlist -- CALLED\n");
+   debug_enter ( "pv_write_uuidlist -- CALLED for %s\n", pv_name);
 
    if ( pv_name == NULL || pv_check_name ( pv_name) < 0 ||
         vg == NULL || vg_check_name ( vg->vg_name) < 0) ret = -LVM_EPARAM;
@@ -77,6 +79,8 @@
             memcpy(u, pv->pv_uuid, UUID_LEN);
             u += NAME_LEN;
          }
+         debug( "pv_write_uuidlist -- writing %d UUIDs on %s\n",
+                ( u - pv_uuid_list) / NAME_LEN, pv_name);
          if ( write ( pv_handle, pv_uuid_list, size) != size)
             ret = -LVM_EPV_WRITE_UUIDLIST_WRITE;
          free ( pv_uuid_list);
Signature · 3 lines
Andreas Dilger  \ "If a man ate a pound of pasta and a pound of antipasto,
                 \  would they cancel out, leaving him still hungry?"
http://www-mddsp.enel.ucalgary.ca/People/adilger/               -- Dogbert
#14 lore raw

[linux-lvm] LVM and fault tolerance

In reply to Andreas Dilger

Is there any possibility to add fault tolerance to LVM. I would like to span several disks (of different sizes) and have fault tolerance to it. Also, most important, is to be able to extend it with additional disks without loosing data.

//Anders

#15 lore raw

Re: [linux-lvm] LVM and fault tolerance

Quoted 4 lines

Is there any possibility to add fault tolerance to LVM. I would like to span several disks (of different sizes) and have fault tolerance to it. Also, most important, is to be able to extend it with additional disks without loosing data.

Disclaimer: I've only recently started working with LVM under Linux.

That said, I think that the general solution to fault tolerance is to combine LVM with either (a) the software RAID (md) subsystem, or (b) hardware RAID devices.

For example, you can create a number of md devices, using RAID1 or RAID5 for fault tolerance, and then run pvcreate on them and manage them with lvm.

I'm doing this right now with a 4-disk RAID5 array (3 disks + 1 hot spare), and it seems to be working just fine.

-- Lars

Signature · 1 line
Lars Kellogg-Stedman <[email protected]>
#16 lore raw

Re: [linux-lvm] LVM and fault tolerance

Quoted 11 lines · Lars Kellogg-Stedman
Quoted 4 lines

Is there any possibility to add fault tolerance to LVM. I would like to span several disks (of different sizes) and have fault tolerance to it. Also, most important, is to be able to extend it with additional disks without loosing data.

Disclaimer: I've only recently started working with LVM under Linux.

That said, I think that the general solution to fault tolerance is to combine LVM with either (a) the software RAID (md) subsystem, or (b) hardware RAID devices.

Well, it will have to be software RAID (limited budget)

Quoted 8 lines

For example, you can create a number of md devices, using RAID1 or RAID5 for fault tolerance, and then run pvcreate on them and manage them with lvm.

I'm doing this right now with a 4-disk RAID5 array (3 disks + 1 hot spare), and it seems to be working just fine.

So, how is this actually working then. Let say I have this disk configuration:

2x 40gb
2x 60gb
2x 80gb

I want maximum amount of diskspace available for storage. High speed is not needed at all as this is mainly for storage and streaming low bitrate media. Still, I need to be able to add additional disks, maybe two extra 80gb disks. Would it be possible to keep ecc/crc data on one disk only, or stripe it over all disks. Mirroring is to expensive in this sence too.

The problem with RAID-5 is that all disks need to be of the same size and that it is not expandable (or is it?).

//Anders

Quoted 10 lines

-- Lars

--
Lars Kellogg-Stedman <[email protected]>

_______________________________________________
linux-lvm mailing list
[email protected]
http://lists.sistina.com/mailman/listinfo/linux-lvm

A message that is not in the archive (sent off-list or not yet received): 0103262137020G.01456@lyta

#18 lore raw

Re: [linux-lvm] LVM and fault tolerance

Is it possible to have more than 5 disks in a raid-5 array?

Quoted 39 lines · Russell Coker
Quoted 14 lines · Anders Widman
Quoted 6 lines

For example, you can create a number of md devices, using RAID1 or RAID5 for fault tolerance, and then run pvcreate on them and manage them with lvm.

I'm doing this right now with a 4-disk RAID5 array (3 disks + 1 hot spare), and it seems to be working just fine.

So, how is this actually working then. Let say I have this disk configuration:

2x 40gb
2x 60gb
2x 80gb

Quoted 8 lines

I want maximum amount of diskspace available for storage. High speed is not needed at all as this is mainly for storage and streaming low bitrate media. Still, I need to be able to add additional disks, maybe two extra 80gb disks. Would it be possible to keep ecc/crc data on one disk only, or stripe it over all disks. Mirroring is to expensive in this sence too.

The problem with RAID-5 is that all disks need to be of the same size and that it is not expandable (or is it?).

Create a 40G partition on each disk and run RAID-5 over them for 200G of redundant storage.
Then create a 20G partition on each 60G and 80G disk and make a RAID-5 on them for 60G of redundant storage.
Then create another 20G partition on each 80G disk and run RAID-1 on them for 20G of redundant storage.

That gives 280G of RAID storage. But having 2*RAID-5 and one RAID-1 set on the same 80G disks won't be good for performance.

--
http://www.coker.com.au/bonnie++/ Bonnie++ hard drive benchmark
http://www.coker.com.au/postal/ Postal SMTP/POP benchmark
http://www.coker.com.au/projects.html Projects I am working on
http://www.coker.com.au/~russell/ My home page

#19 lore raw

Re: [linux-lvm] LVM and fault tolerance

Quoted 1 line · Anders Widman

Is it possible to have more than 5 disks in a raid-5 array?

Yes, you can have as many disks in a raid-5 array that you like.

Signature · 2 lines
Ragnar Kj�rstad
Big Storage
#20 lore raw

Re: [linux-lvm] LVM and fault tolerance

ok. great... so if I make say 20GB partitions on all disks and put them in a RAID-5 array. Can I add extra disks and rebuild the array? I have seen some expensive RAID cards that does that.

Quoted 12 lines · Ragnar Kj�rstad
Quoted 1 line · Anders Widman

Is it possible to have more than 5 disks in a raid-5 array?

Yes, you can have as many disks in a raid-5 array that you like.

--
Ragnar Kj�rstad
Big Storage
_______________________________________________
linux-lvm mailing list
[email protected]
http://lists.sistina.com/mailman/listinfo/linux-lvm

#21 lore raw

Re: [linux-lvm] LVM and fault tolerance

Quoted 3 lines · Anders Widman

ok. great... so if I make say 20GB partitions on all disks and put them in a RAID-5 array. Can I add extra disks and rebuild the array? I have seen some expensive RAID cards that does that.

I don't really understand your question....

It usually doesn't make sense to split a disk in smaller partitions and RAID them togheter. If the whole disk dies, you loose two partitions and your whole RAID-array.

The software raid implementation in linux doesn't allow you to add more disks to an existing array, but of course you can delete your array and create a new one with more disks. Some hardware raid implementations (and possible some software-raid implementations too) allow you to add more drives without redoing the array.

Signature · 2 lines
Ragnar Kj�rstad
Big Storage
#22 lore raw

Re: [linux-lvm] LVM and fault tolerance

In reply to Anders Widman
Quoted 3 lines · Anders Widman

ok. great... so if I make say 20GB partitions on all disks and put them in a RAID-5 array. Can I add extra disks and rebuild the array? I have seen some expensive RAID cards that does that.

RAID-4 involves having N data disks (N >= 2) and 1 parity disk. The parity disk contains the XOR of the blocks on the N data disks. If one of the N disks dies then it's contents can easily be regenerated by the XOR of the surviving N-1 disks and the parity disk.
RAID-5 is the same but has the parity data spread across all the disks for best performance. Thus RAID-5 has 3 or more disks.

In RAID-4 or RAID-5 if you lose two disks at the same time then the XOR won't get your data back and you are comprehensively stuffed.

If you create a RAID-5 with two partitions on the same disk then you may as well use a bulk eraser.

The scheme I mentioned in my previous message is the simplest way of doing this with such disks. But really if your time is worth more than about $10 per hour you should just buy some more 80G disks.

Signature · 4 lines
http://www.coker.com.au/bonnie++/     Bonnie++ hard drive benchmark
http://www.coker.com.au/postal/       Postal SMTP/POP benchmark
http://www.coker.com.au/projects.html Projects I am working on
http://www.coker.com.au/~russell/     My home page
#23 lore raw

Re: [linux-lvm] LVM and fault tolerance

Well. Yes. The ideal way is of course to buy more 80GB disks.

So, there is no way that linux does support rebuilding an RAID 4/5 array when adding extra disks (of equal size)?

Thanks,
Anders

Quoted 31 lines · Russell Coker
Quoted 3 lines · Anders Widman

ok. great... so if I make say 20GB partitions on all disks and put them in a RAID-5 array. Can I add extra disks and rebuild the array? I have seen some expensive RAID cards that does that.

RAID-4 involves having N data disks (N >= 2) and 1 parity disk. The parity disk contains the XOR of the blocks on the N data disks. If one of the N disks dies then it's contents can easily be regenerated by the XOR of the surviving N-1 disks and the parity disk.
RAID-5 is the same but has the parity data spread across all the disks for best performance. Thus RAID-5 has 3 or more disks.

In RAID-4 or RAID-5 if you lose two disks at the same time then the XOR won't get your data back and you are comprehensively stuffed.

If you create a RAID-5 with two partitions on the same disk then you may as well use a bulk eraser.

The scheme I mentioned in my previous message is the simplest way of doing this with such disks. But really if your time is worth more than about $10 per hour you should just buy some more 80G disks.

--
http://www.coker.com.au/bonnie++/ Bonnie++ hard drive benchmark
http://www.coker.com.au/postal/ Postal SMTP/POP benchmark
http://www.coker.com.au/projects.html Projects I am working on
http://www.coker.com.au/~russell/ My home page
_______________________________________________
linux-lvm mailing list
[email protected]
http://lists.sistina.com/mailman/listinfo/linux-lvm

Quoted 31 lines · Russell Coker
Quoted 3 lines · Anders Widman

ok. great... so if I make say 20GB partitions on all disks and put them in a RAID-5 array. Can I add extra disks and rebuild the array? I have seen some expensive RAID cards that does that.

RAID-4 involves having N data disks (N >= 2) and 1 parity disk. The parity disk contains the XOR of the blocks on the N data disks. If one of the N disks dies then it's contents can easily be regenerated by the XOR of the surviving N-1 disks and the parity disk.
RAID-5 is the same but has the parity data spread across all the disks for best performance. Thus RAID-5 has 3 or more disks.

In RAID-4 or RAID-5 if you lose two disks at the same time then the XOR won't get your data back and you are comprehensively stuffed.

If you create a RAID-5 with two partitions on the same disk then you may as well use a bulk eraser.

The scheme I mentioned in my previous message is the simplest way of doing this with such disks. But really if your time is worth more than about $10 per hour you should just buy some more 80G disks.

--
http://www.coker.com.au/bonnie++/ Bonnie++ hard drive benchmark
http://www.coker.com.au/postal/ Postal SMTP/POP benchmark
http://www.coker.com.au/projects.html Projects I am working on
http://www.coker.com.au/~russell/ My home page
_______________________________________________
linux-lvm mailing list
[email protected]
http://lists.sistina.com/mailman/listinfo/linux-lvm

Quoted 31 lines · Russell Coker
Quoted 3 lines · Anders Widman

ok. great... so if I make say 20GB partitions on all disks and put them in a RAID-5 array. Can I add extra disks and rebuild the array? I have seen some expensive RAID cards that does that.

RAID-4 involves having N data disks (N >= 2) and 1 parity disk. The parity disk contains the XOR of the blocks on the N data disks. If one of the N disks dies then it's contents can easily be regenerated by the XOR of the surviving N-1 disks and the parity disk.
RAID-5 is the same but has the parity data spread across all the disks for best performance. Thus RAID-5 has 3 or more disks.

In RAID-4 or RAID-5 if you lose two disks at the same time then the XOR won't get your data back and you are comprehensively stuffed.

If you create a RAID-5 with two partitions on the same disk then you may as well use a bulk eraser.

The scheme I mentioned in my previous message is the simplest way of doing this with such disks. But really if your time is worth more than about $10 per hour you should just buy some more 80G disks.

--
http://www.coker.com.au/bonnie++/ Bonnie++ hard drive benchmark
http://www.coker.com.au/postal/ Postal SMTP/POP benchmark
http://www.coker.com.au/projects.html Projects I am working on
http://www.coker.com.au/~russell/ My home page
_______________________________________________
linux-lvm mailing list
[email protected]
http://lists.sistina.com/mailman/listinfo/linux-lvm

Quoted 31 lines · Russell Coker
Quoted 3 lines · Anders Widman

ok. great... so if I make say 20GB partitions on all disks and put them in a RAID-5 array. Can I add extra disks and rebuild the array? I have seen some expensive RAID cards that does that.

RAID-4 involves having N data disks (N >= 2) and 1 parity disk. The parity disk contains the XOR of the blocks on the N data disks. If one of the N disks dies then it's contents can easily be regenerated by the XOR of the surviving N-1 disks and the parity disk.
RAID-5 is the same but has the parity data spread across all the disks for best performance. Thus RAID-5 has 3 or more disks.

In RAID-4 or RAID-5 if you lose two disks at the same time then the XOR won't get your data back and you are comprehensively stuffed.

If you create a RAID-5 with two partitions on the same disk then you may as well use a bulk eraser.

The scheme I mentioned in my previous message is the simplest way of doing this with such disks. But really if your time is worth more than about $10 per hour you should just buy some more 80G disks.

--
http://www.coker.com.au/bonnie++/ Bonnie++ hard drive benchmark
http://www.coker.com.au/postal/ Postal SMTP/POP benchmark
http://www.coker.com.au/projects.html Projects I am working on
http://www.coker.com.au/~russell/ My home page
_______________________________________________
linux-lvm mailing list
[email protected]
http://lists.sistina.com/mailman/listinfo/linux-lvm

Quoted 31 lines · Russell Coker
Quoted 3 lines · Anders Widman

ok. great... so if I make say 20GB partitions on all disks and put them in a RAID-5 array. Can I add extra disks and rebuild the array? I have seen some expensive RAID cards that does that.

RAID-4 involves having N data disks (N >= 2) and 1 parity disk. The parity disk contains the XOR of the blocks on the N data disks. If one of the N disks dies then it's contents can easily be regenerated by the XOR of the surviving N-1 disks and the parity disk.
RAID-5 is the same but has the parity data spread across all the disks for best performance. Thus RAID-5 has 3 or more disks.

In RAID-4 or RAID-5 if you lose two disks at the same time then the XOR won't get your data back and you are comprehensively stuffed.

If you create a RAID-5 with two partitions on the same disk then you may as well use a bulk eraser.

The scheme I mentioned in my previous message is the simplest way of doing this with such disks. But really if your time is worth more than about $10 per hour you should just buy some more 80G disks.

--
http://www.coker.com.au/bonnie++/ Bonnie++ hard drive benchmark
http://www.coker.com.au/postal/ Postal SMTP/POP benchmark
http://www.coker.com.au/projects.html Projects I am working on
http://www.coker.com.au/~russell/ My home page
_______________________________________________
linux-lvm mailing list
[email protected]
http://lists.sistina.com/mailman/listinfo/linux-lvm

#24 lore raw
In reply to David Vidal Rodriguez
Quoted 4 lines · David Vidal Rodriguez

OK, I have compiled the beta6 tools.

1) How do I know if the clean linus-2.4.0 kernel has a beta2 lvm module?

Do a "dmesg" once the LVM code is in memory. LVM version should be there.

Signature · 5 lines
Jos� Luis Domingo L�pez
Linux Registered User #189436     Debian GNU/Linux Potato (P166 64 MB RAM)
 
jdomingo EN internautas PUNTO org  => � Spam ? Atente a las consecuencias
jdomingo AT internautas DOT   org  => Spam at your own risk
#25 lore raw
Quoted 8 lines · Jos? Luis Domingo L?pez
Quoted 4 lines · David Vidal Rodriguez

OK, I have compiled the beta6 tools.

1) How do I know if the clean linus-2.4.0 kernel has a beta2 lvm module?

Do a "dmesg" once the LVM code is in memory. LVM version should be there.

Or 'head -1 /proc/lvm/global' - I always forget that's there.

Signature · 13 lines
AJ Lewis
Sistina Software Inc.                  Voice:  612-379-3951
1313 5th St SE, Suite 111              Fax:    612-379-3952
Minneapolis, MN 55414                  E-Mail: [email protected]
http://www.sistina.com

Current GPG fingerprint = 3B5F 6011 5216 76A5 2F6B  52A0 941E 1261 0029 2648
Get my key at: http://www.sistina.com/~lewis/gpgkey
 (Unfortunately, the PKS-type keyservers do not work with multiple sub-keys)

-----Begin Obligatory Humorous Quote----------------------------------------
Carpe Aptenodytes! (Seize the Penguins!)
-----End Obligatory Humorous Quote------------------------------------------