vgscan won't recognize my VG
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])
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/ -- DogbertOK, 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])
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------------------------------------------
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
@@ -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/ -- DogbertI'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."
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])
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.hbecause 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/ -- DogbertQuoted 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])
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
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])
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/ -- DogbertQuoted 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."
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
@@ -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[linux-lvm] LVM and fault tolerance
In reply to Andreas DilgerIs 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
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]>
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
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 80gbQuoted 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
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
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
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
Re: [linux-lvm] LVM and fault tolerance
In reply to Anders WidmanQuoted 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
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
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
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------------------------------------------