Sponsored Content
Special Forums Hardware Filesystems, Disks and Memory Linux Storage system: looking for advices Post 302385670 by Loic Domaigne on Saturday 9th of January 2010 03:07:36 AM
Old 01-09-2010
Quote:
Originally Posted by pludi
Which is, usually, something you do not want to happen. Personally, I'd rather have a system that's a bit slower if a disk goes bad, but keeps on working, than losing files and not being able to use the system until I've got a replacement disk. But that might just be me.
I agree that the requirements look a bit wired. The important data are backup on an external NAS, so it would (theoretically) "be acceptable to loose the data on the failed drive". But if one can afford to loose the data on the drive, why put it there in the first place?

Quote:
Originally Posted by Loic Domaigne
However, I failed to restore the file system if /dev/vda6 gets damaged. I used an alternate superblock for fsck (one located on vdb2 or vdb3), but no avail.[...]
Quote:
Originally Posted by pludi
That might be because of the striping done by LVM. The volume manager doesn't fill up the first disk, then the second, and so on, but first fills the first stripe (by default 4 MB) on the first disk, the first stripe on the second disk, and so on. With that scheme it might very well be that all superblocks end up on the same disk.
Actually, the restore operation has succeeded. What failed: I lost the filenames and directory contents, the files were restored in lost+found. The reason for this behavior is quite simple: directory contents are stored on data block, and if this block is gone (as it was the case in my scenario), then you loose this information forever. One more reason for RAID+LVM.

Thanks you everyone, and especially pludi Smilie. I gathered enough information to make a sound proposal for the storage system!
 
zipios::ReferenceCount(3)				     Library Functions Manual					 zipios::ReferenceCount(3)

NAME
zipios::ReferenceCount - ReferenceCount is useful to ensure proper handling of the reference count for (objects of) classes handled through a SimpleSmartPointer. SYNOPSIS
#include <simplesmartptr.h> Public Member Functions ReferenceCount () Constructor intializes count to zero. ReferenceCount (const ReferenceCount &src) Copy-constructor intializes count to zero. const ReferenceCount & operator= (const ReferenceCount &src) The assignment operator doesn't copy the reference count, it leaves it unchanged. Friends class SimpleSmartPointer< Type > SimpleSmartPointer needs to be a friend to invoke the private ref() and unref() methods. class SimpleSmartPointer< const Type > class FileEntry Type also needs to be a friend to invoke the private ref() and unref() methods, in case Type doesn't want to inherit ReferenceCount and thus needs to invoke ref() and unref() through forwarding member functions. class Bogus Detailed Description template<class Type>class zipios::ReferenceCount< Type > ReferenceCount is useful to ensure proper handling of the reference count for (objects of) classes handled through a SimpleSmartPointer. Subclassing ReferenceCount is all a class needs to become ready for being handled by SimpleSmartPointer. Another way is to add a ReferenceCount member variable to a class and write two methods 'void ref() const' and 'unsigned int unref() const' that invoke the same methods in the ReferenceCount variable. Definition at line 99 of file simplesmartptr.h. Constructor &; Destructor Documentation template<class Type> zipios::ReferenceCount< Type >::ReferenceCount () [inline] Constructor intializes count to zero. Definition at line 122 of file simplesmartptr.h. template<class Type> zipios::ReferenceCount< Type >::ReferenceCount (const ReferenceCount< Type > &src) [inline] Copy-constructor intializes count to zero. It doesn't copy it from src. Definition at line 126 of file simplesmartptr.h. Member Function Documentation template<class Type> const ReferenceCount& zipios::ReferenceCount< Type >::operator= (const ReferenceCount< Type > &src) [inline] The assignment operator doesn't copy the reference count, it leaves it unchanged. Definition at line 130 of file simplesmartptr.h. Friends And Related Function Documentation template<class Type> friend class FileEntry [friend] Type also needs to be a friend to invoke the private ref() and unref() methods, in case Type doesn't want to inherit ReferenceCount and thus needs to invoke ref() and unref() through forwarding member functions. Definition at line 117 of file simplesmartptr.h. template<class Type> friend class SimpleSmartPointer< Type > [friend] SimpleSmartPointer needs to be a friend to invoke the private ref() and unref() methods. Definition at line 102 of file simplesmartptr.h. Author Generated automatically by Doxygen for Zipios++ from the source code. Zipios++ Mon Oct 10 2011 zipios::ReferenceCount(3)
All times are GMT -4. The time now is 04:50 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy