linux-lvm.redhat.com archive mirror
 help / color / mirror / Atom feed
* Re: [linux-lvm] Re: IBM to release LVM Technology to the Linux
@ 2000-06-21 22:27 benr
  0 siblings, 0 replies; 36+ messages in thread
From: benr @ 2000-06-21 22:27 UTC (permalink / raw)
  To: Andreas Dilger; +Cc: linux-lvm



Andreas,

>Ben, you write:
>> As for "logical extents", volume groups, etc. - there has been much
>> discussion in IBM on this topic, and the concensus is that they are of
>> little benefit, and are not needed under this architecture.
Furthermore,
>> usability studies found that most users found volume groups to be very
>> confusing and of little value.  As a result, this architecture
specifically
>> avoids them.

>Having used both the AIX LVM, the Linux LVM, and the good-old DOS
>partitions, I would have to disagree with your statement that logical
>extents are of very little benefit.  One of the worst things to do
>in a DOS-partitioned world is to resize the partitions themselves.
>You always have to over-estimate the partition sizes in case you need
>more space in the future, or add a whole new partition if you run out
>of space in the existing partition.

>The joy of using the existing LVMs is that you can have many
>just-big-enough partitions, adding and removing them as desired, and
>if they aren't big enough, you simply resize them to be big enough.
>AIX has this at its very core - the package installer will expand /usr,
>/var, /etc to be big enough for newly installed packages, rather than
>simply letting the install fail because it ran out of space in one
>filesystem even though there is enough space in the system as a whole.

>Without dividing the disk into small chunks for allocation the way the
>current LVM implementations do, we are back in the stone age, the same
>way Fortran 66 is to C.  With old Fortran, you had to pre-allocate all of
>your memory elements to be the maximum possible size because you couldn't
>dynamically allocate memory at the correct size for the current need.
>Nobody wants to go back to static arrays in Fortran (I hope ;-), in the
>same way I don't want to go back to statically assigned partition sizes.

>Using concatenation of whole partitions/disks (ala Sun DiskSuite or Linux
MD
>concat) really sucks, IMHO.  People don't always have whole disks sitting
>around unused, and even if they do, it is again the case that you have to
>allocate way too much space for what you need.  If you only want to add a
>small amount of space to a filesystem, you will end up partitioning your
>spare disk into many small chunks, and you will have a poor-man's logical
>extent in the end.

>Cheers, Andreas

I think the issue here is not the partitions on the disks themselves but
the resizing of volumes.  Under the LVMS outlined in the white paper,
resizing a volume is not as clear cut as it is in the existing LVMs.  Under
the LVMS, a volume consists of one or more logical partitions.  These
logical partitions are joined together to form the volume by "Features".
It is the "Features" in use on a volume which determine if the volume can
be expanded or contracted, and the method by which the expansion or
contraction will be performed.  There are two basic methods by which a
volume can be expanded: add logical partitions to the volume or expand one
or more of the logical partitions which are already part of the volume.
Similarly, there are two methods to shrink a volume: remove logical
partitions from the volume, or shrink one or more of the logical partitions
which are already a part of the volume.  Which method is used (if not both)
is determined by the "Features" used to form the volume.  Thus, under the
LVMS, it is possible to create volumes which can be resized, as well as
volumes which can NOT be resized.  Whether or not a volume can be resized
is under the control of the user, who selects which "Features" to use on a
volume when that volume is created.  Therefore, if a user wants
just-big-enough volumes that can be resized as desired, they can do so by
choosing "features" which allow volumes to be resized when they create the
volumes.

Of course, this brings us to the question of: "Are there times when a user
may want to create a volume which can NOT be resized?"  The answer to this
question is yes.  There are several applications of this which mainly come
to play in high security environments, such as are found in the military
and most governments. ;-)  I am limited as to what I can say in this
regard, but the basic idea is that, on a high security system, classified
information is restricted to approved devices.  Volumes created on these
devices to hold classified information are normally set up to be
non-resizeable in order to prevent a volume from being expanded
(accidentally or otherwise) to use a non-approved device.  Cases like this
are easily handled by the LVMS through the use of a "feature" plug-in.

One other interesting aspect of the elimination of volume groups is that
quorum support is not needed.  Under the LVMS, when a drive fails, only the
volumes which actually had partitions on the failed drive are affected, not
an entire volume group.  Quorum support is an attempt to address this
shortcoming in volume groups, but since the LVMS does not use volume
groups, it is not needed by the LVMS.

Regards,

Ben

^ permalink raw reply	[flat|nested] 36+ messages in thread
* Re: [linux-lvm] Re: IBM to release LVM Technology to the Linux
@ 2000-06-22 19:37 benr
  2000-06-23  1:23 ` Dale Kemp
  2000-06-23 20:55 ` Martin K. Petersen
  0 siblings, 2 replies; 36+ messages in thread
From: benr @ 2000-06-22 19:37 UTC (permalink / raw)
  To: Martin K. Petersen; +Cc: linux-lvm



Martin,

Welcome to the discussion, and thanks for sharing your opinion.

>>>>> "Andreas" == Andreas Dilger <adilger@turbolabs.com> writes:

Andreas> Having used both the AIX LVM, the Linux LVM, and the good-old
Andreas> DOS partitions, I would have to disagree with your statement
Andreas> that logical extents are of very little benefit.  One of the
Andreas> worst things to do in a DOS-partitioned world is to resize
Andreas> the partitions themselves.  You always have to over-estimate
Andreas> the partition sizes in case you need more space in the
Andreas> future, or add a whole new partition if you run out of space
Andreas> in the existing partition.

Martin>Andreas, you are preaching to the choir.  Partitions don't belong in
Martin>an LVM architecture at all.  They are a legacy thing which needs to
go
Martin>away.

What is a partition?  By definition, a partition is a contiguous block of
disk space.

What is an extent?  By definition, an extent is a contiguous block of disk
space.

What is the difference between them?  Besides the names, nothing in and of
themselves.  What's different is how they are managed, specifically the
structures and rules used to manage them.

Martin>Also, I don't tend to agree with most of the infrastructure proposed
Martin>in the IBM whitepaper.  If IBM's intention is that this will be a
Martin>cross-OS LVM architecture, well then fine -- lots of abstractions
are
Martin>obviously needed.

Our customers have asked for a migration path to Linux from their existing
platforms.  Migration is made much easier and much less expensive when the
new platform can read and write to the volumes/partitions/etc. used by the
old platform.  Furthermore, most of our customers will require a testing
period where the new platform and the old platform are compared on the same
hardware using the same datasets.  Again, the ability of the new platform
to use the volumes/partitions/etc. of the old platform can greatly speed
the testing process while reducing costs.  Finally, an LVMS based upon the
architecture in the white paper would, with the proper plug-in modules,
ease migration from several platforms (both IBM and non-IBM) to Linux by
allowing Linux to use the volumes/partitions/etc. of these platforms.

As far as being a cross-OS LVM architecture, this is true.  This
architecture was designed with the idea of being OS neutral where possible,
and is being considered for implementation on other IBM platforms.

Martin>If it is supposed to be Linux specific, however, I don't see why one
Martin>would waste engineering resources implementing plug-ins for reading
Martin>Macintosh partitions types etc.  We already have an adequate
framework
Martin>for that in the kernel.

The MacIntosh partitioning scheme was merely an example.  With the proper
plug-ins, an LVMS based upon the architecture in the white paper would be
able to access and manipulate logical volumes (and volume groups) created
by AIX, for example.  Again, though, implementing support for other OS
partitioning schemes and logical volume management schemes aids in
migration to Linux.

Another thing to remember is that users want power without risk.  This is
especially true in the corporate world.  To make it there, Linux needs a
very powerful, flexible logical volume management system which minimizes
the risk of losing data.  This calls for an architecture which integrates
all aspects of volume/disk management into a single, easy to use entity.
All processes which could be automated should be automated to prevent
"accidents", such as the improper shrinking of a volume containing data.
Right now it is rather easy to accidentally shrink a volume before
shrinking the filesystem on the volume, or to shrink the filesystem on the
volume by the wrong amount.  Is fdisk volume group aware (have not tried
this yet)?  If it isn't, a user could make a mistake and delete a partition
which belongs to a volume group.  The current system has holes in it, and
these holes need to be plugged before Linux can be a major player in the
corporate world.  These holes can be plugged in a patch work fashion, or
they can be eliminated by adopting an architecture (not necessarily the one
in the white paper) in which they don't exist or can't occur.

Martin>The scheme I've been toying with over the past months:
Martin>
Martin> - Logical Disk = Either partition or whole disk.
Martin>
Martin> - The Logical Disk provides allocation space for extents.
Martin>
Martin> - Extents are allocated on the available logical disks based upon
Martin>   heuristics in the feature set/system administrator preferences.
Martin>
Martin> - Logical Volume consists of one or more extents accessed through
one
Martin>   or more feature sets (RAID0, RAID1, RAID5, encryption, whatever).
Martin>
Martin>The extents can be of varying size depending on the application.  A
30
Martin>GB RAID5 LV could be constructed from 4 x 10 GB extents on 4
different
Martin>physical disks + a 10 GB hot spare extent on a fifth disk, for
Martin>instance.

I don't understand your example.  Change the word extent to partition and
you have:

 A 30 GB RAID5 LV could be constructed from 4 x 10 GB partitions on 4
different
physical disks + a 10 GB hot spare partition on a fifth disk, for instance.

This is exactly what you would have under the LVMS described in the white
paper.  Your example shows nothing which could not be done through the LVMS
architecture with partitions.  Am I missing something here?


Regards,

Ben

^ permalink raw reply	[flat|nested] 36+ messages in thread
* Re: [linux-lvm] Re: IBM to release LVM Technology to the Linux
@ 2000-06-23 12:52 hpuxadm
  2000-06-23 15:20 ` Jens Benecke
  0 siblings, 1 reply; 36+ messages in thread
From: hpuxadm @ 2000-06-23 12:52 UTC (permalink / raw)
  To: Dale Kemp; +Cc: Linux LVM mailing list

After seeing a few comments left by various users on this subject, I
would like to throw in my two cents that from an "admin" perspective,
this type of effort from a major vendor can only be a good thing.
However, just like anyone else who has watched the "major"
vendors(Compaq, HP, IBM) embrace Microsoft in the early 1990's, I
begin to wonder what the goal is with this project.  Is IBM's
implementation of LVM going to remain free(gasp!), or is the goal to
start beta testing on Linux now only to offer LVM at a premium price
later?  LVM solutions that are offered by IBM, SUN, and HP are all
excellent!  However, you pay for them big time when you start getting
into advanced volume management issues.  I have looked over the
datasheet that your website provides and am impressed with what you
are doing technically. What I am curious about is what will happen
once your implementation evolves to a "production ready" status.  I
guess what I am more or less asking is, am I wasting my time following
IBM's implementation of LVM due to the fact that once it does leave
the development stage I will end up paying thousands of dollars per
seat for it?

Thoughts?

- Christopher Briggs
  consult@unixadministrator.com

> > Another thing to remember is that users want power without risk.
This is
> > especially true in the corporate world.  To make it there, Linux
needs a
> > very powerful, flexible logical volume management system which
minimizes
> > the risk of losing data.  This calls for an architecture which
integrates
> > all aspects of volume/disk management into a single, easy to use
entity.
> > All processes which could be automated should be automated to
prevent
> > "accidents", such as the improper shrinking of a volume containing
data.
> > Right now it is rather easy to accidentally shrink a volume before
> > shrinking the filesystem on the volume, or to shrink the
filesystem on the
> > volume by the wrong amount.  Is fdisk volume group aware (have not
tried
> > this yet)?  If it isn't, a user could make a mistake and delete a
partition
> > which belongs to a volume group.  The current system has holes in
it, and
> > these holes need to be plugged before Linux can be a major player
in the
> > corporate world.  These holes can be plugged in a patch work
fashion, or
> > they can be eliminated by adopting an architecture (not
necessarily the one
> > in the white paper) in which they don't exist or can't occur.
>
> % man e2fsadm
>
> DESCRIPTION
>        e2fsadm allows resizing of a logical volume  (see  lvm(8),
>        lvcreate(8))  containing  an unmounted ext2 filesystem and
>        then extending the filesystem by  resize2fs(8)  afterwards
>        or  reducing  the  filesystem  first and then reducing the
>        logical volume afterwards.
>
> First thing is Linux-LVM is still evolving and will only get better.
Now IBM
> and SGI have their own volume management systems which is fine, and
> porting them to Linux can only be a good thing too. At the end of
the day
> its the users in the community that choose. Now its in the community
and
> IBM users interest for IBM to port AIX systems to Linux, so people
can simply
> install Linux and use there existing AIX hard drives. The same goes
for SGI.
> And work is already underway with JFS and XFS for example.
> I actually like the system being evolved by Linux-LVM since it
follows the
> Unix
> philosophy do one thing and to it well (the opposite of Micr$oft).
>
> -- Dale.
>
>

^ permalink raw reply	[flat|nested] 36+ messages in thread
* Re: [linux-lvm] Re: IBM to release LVM Technology to the Linux
@ 2000-06-23 21:04 benr
  2000-06-23 23:49 ` Paul Jakma
  0 siblings, 1 reply; 36+ messages in thread
From: benr @ 2000-06-23 21:04 UTC (permalink / raw)
  To: hpuxadm; +Cc: linux-lvm



Christopher,

Welcome to the discussion!  To answer your question, if the Linux Community
is interested in the LVMS outlined in the white paper, then IBM will
release code (under the GPL!) to begin moving this technology to Linux.  I
suspect that IBM will also dedicate some resources to assist in moving this
technology to Linux as that will expedite the process.  Right now, though,
we are trying to educate the Linux Community about our LVMS Architecture so
that the Linux Community can make an informed decision as to whether they
want this technology or not.  Of course, we hope they do - the technology
has many benefits.  However, I would like to say that a decision by the
Linux Community to accept this technology does not mean that the current
LVM will be discarded.  This is not an either/or decision.  While the LVMS
solves certain problems for IBM and its customers, IBM and its customers
are not the only users of Linux.  I suspect that many users coming from the
UNIX world to Linux will be more comfortable using the current LVM because
it is based upon the standard UNIX approach to logical volume management.
Similarly, users coming from the DOS/Windows/OS2 world to Linux will
probably be more comfortable using the LVMS as that employs many of the
concepts that they are already familiar with.  Thus, I think that there is
a place for both the current LVM and the LVMS.  Looking down the road, I
see both the current LVM and the LVMS co-existing for a period of time,
with development on each continuing, with each adopting the best ideas of
the other.  Eventually, I see them merging in some fashion. but when this
occurs and what the final result is, is beyond the ability of my crystal
ball to see.  The one thing I can see, though, is that whatever the final
result is, it will be open source and under the GPL! :-)

Regards,

Ben


hpuxadm@choice.net@msede.com on 06/23/2000 07:52:00 am

Sent by:  owner-linux-lvm@msede.com


To:   Dale Kemp <dale@inet.net.nz>
cc:   Linux LVM mailing list <linux-lvm@msede.com>
Subject:  Re: [linux-lvm] Re: IBM to release LVM Technology to the Linux



After seeing a few comments left by various users on this subject, I
would like to throw in my two cents that from an "admin" perspective,
this type of effort from a major vendor can only be a good thing.
However, just like anyone else who has watched the "major"
vendors(Compaq, HP, IBM) embrace Microsoft in the early 1990's, I
begin to wonder what the goal is with this project.  Is IBM's
implementation of LVM going to remain free(gasp!), or is the goal to
start beta testing on Linux now only to offer LVM at a premium price
later?  LVM solutions that are offered by IBM, SUN, and HP are all
excellent!  However, you pay for them big time when you start getting
into advanced volume management issues.  I have looked over the
datasheet that your website provides and am impressed with what you
are doing technically. What I am curious about is what will happen
once your implementation evolves to a "production ready" status.  I
guess what I am more or less asking is, am I wasting my time following
IBM's implementation of LVM due to the fact that once it does leave
the development stage I will end up paying thousands of dollars per
seat for it?

Thoughts?

- Christopher Briggs
  consult@unixadministrator.com

> > Another thing to remember is that users want power without risk.
This is
> > especially true in the corporate world.  To make it there, Linux
needs a
> > very powerful, flexible logical volume management system which
minimizes
> > the risk of losing data.  This calls for an architecture which
integrates
> > all aspects of volume/disk management into a single, easy to use
entity.
> > All processes which could be automated should be automated to
prevent
> > "accidents", such as the improper shrinking of a volume containing
data.
> > Right now it is rather easy to accidentally shrink a volume before
> > shrinking the filesystem on the volume, or to shrink the
filesystem on the
> > volume by the wrong amount.  Is fdisk volume group aware (have not
tried
> > this yet)?  If it isn't, a user could make a mistake and delete a
partition
> > which belongs to a volume group.  The current system has holes in
it, and
> > these holes need to be plugged before Linux can be a major player
in the
> > corporate world.  These holes can be plugged in a patch work
fashion, or
> > they can be eliminated by adopting an architecture (not
necessarily the one
> > in the white paper) in which they don't exist or can't occur.
>
> % man e2fsadm
>
> DESCRIPTION
>        e2fsadm allows resizing of a logical volume  (see  lvm(8),
>        lvcreate(8))  containing  an unmounted ext2 filesystem and
>        then extending the filesystem by  resize2fs(8)  afterwards
>        or  reducing  the  filesystem  first and then reducing the
>        logical volume afterwards.
>
> First thing is Linux-LVM is still evolving and will only get better.
Now IBM
> and SGI have their own volume management systems which is fine, and
> porting them to Linux can only be a good thing too. At the end of
the day
> its the users in the community that choose. Now its in the community
and
> IBM users interest for IBM to port AIX systems to Linux, so people
can simply
> install Linux and use there existing AIX hard drives. The same goes
for SGI.
> And work is already underway with JFS and XFS for example.
> I actually like the system being evolved by Linux-LVM since it
follows the
> Unix
> philosophy do one thing and to it well (the opposite of Micr$oft).
>
> -- Dale.
>
>

^ permalink raw reply	[flat|nested] 36+ messages in thread
* RE: [linux-lvm] Re: IBM to release LVM Technology to the Linux
@ 2000-06-26 14:27 Wilson, Eric
  2000-06-26 23:18 ` Dale Kemp
  0 siblings, 1 reply; 36+ messages in thread
From: Wilson, Eric @ 2000-06-26 14:27 UTC (permalink / raw)
  To: Linux LVM mailing list

I have to agree with Dale on this. So far the Linux LVM implementation seems
less than "Enterprise server mission critical." I don't mean to seem harsh or
negative, but my person life mission is to replace NT with Linux in every
instance possible. To widen the usage of Linux, Linux MUST be seen as reliable,
mission critical, but also easy to get it that way and keep it that way. (for
the point and click boys)

I will openly admit to being in love with the AIX LVM. the reasons are really
quite simple: A database server running several Terabytes of data can easily be
massaged without  fear of screwup or failure. The LINUX LVM must adhere to these
same all or nothing, rock solid philosophies to crush Microsoft. 

I realize I'm preaching to the choir, but Dale's primary premise holds true: To
get Linux and it's LVM out of the Uni. or LAB and into the Enterprise
datacenter; it must be foolproof.

  

Cheers;

> Eric Wilson
> IBM Certified AIX & SP Systems Support Specialist
> 
> Anheuser-Busch Companies, Inc.
> 
> One Busch Place
> 1CC-8
> St. Louis, MO 
> 
> Office		314.632.6653
> Mobile		314.495.4010
> Pager		314.670.0367
> 
> email		eric.wilson@anheuser-busch.com
> 
> 
> E!
> 
> 
> 
> 
> -----Original Message-----
> From:	Dale Kemp [SMTP:dale@inet.net.nz]
> Sent:	Thursday, June 22, 2000 8:24 PM
> To:	Linux LVM mailing list
> Subject:	Re: [linux-lvm] Re: IBM to release LVM Technology to the Linux
> 
> > Another thing to remember is that users want power without risk.  This is
> > especially true in the corporate world.  To make it there, Linux needs a
> > very powerful, flexible logical volume management system which minimizes
> > the risk of losing data.  This calls for an architecture which integrates
> > all aspects of volume/disk management into a single, easy to use entity.
> > All processes which could be automated should be automated to prevent
> > "accidents", such as the improper shrinking of a volume containing data.
> > Right now it is rather easy to accidentally shrink a volume before
> > shrinking the filesystem on the volume, or to shrink the filesystem on the
> > volume by the wrong amount.  Is fdisk volume group aware (have not tried
> > this yet)?  If it isn't, a user could make a mistake and delete a partition
> > which belongs to a volume group.  The current system has holes in it, and
> > these holes need to be plugged before Linux can be a major player in the
> > corporate world.  These holes can be plugged in a patch work fashion, or
> > they can be eliminated by adopting an architecture (not necessarily the one
> > in the white paper) in which they don't exist or can't occur.
> 
> % man e2fsadm
> 
> DESCRIPTION
>        e2fsadm allows resizing of a logical volume  (see  lvm(8),
>        lvcreate(8))  containing  an unmounted ext2 filesystem and
>        then extending the filesystem by  resize2fs(8)  afterwards
>        or  reducing  the  filesystem  first and then reducing the
>        logical volume afterwards.
> 
> First thing is Linux-LVM is still evolving and will only get better. Now IBM
> and SGI have their own volume management systems which is fine, and
> porting them to Linux can only be a good thing too. At the end of the day
> its the users in the community that choose. Now its in the community and
> IBM users interest for IBM to port AIX systems to Linux, so people can simply
> install Linux and use there existing AIX hard drives. The same goes for SGI.
> And work is already underway with JFS and XFS for example.
> I actually like the system being evolved by Linux-LVM since it follows the
> Unix
> philosophy do one thing and to it well (the opposite of Micr$oft).
> 
> -- Dale.
> 

^ permalink raw reply	[flat|nested] 36+ messages in thread
* Re: [linux-lvm] Re: IBM to release LVM Technology to the Linux
@ 2000-06-26 20:59 benr
  0 siblings, 0 replies; 36+ messages in thread
From: benr @ 2000-06-26 20:59 UTC (permalink / raw)
  To: Martin K. Petersen; +Cc: linux-lvm



Martin,

>I am advocating:
>
>1. Using existing partitioning schemes to encapsulate logical disks.
>
>   This is only relevant in the migration case and if people want to
>   test LVMS on a few disks that are already partitioned.  If your
>   system has hundreds of disks connected, you'll use a 1:1 physical
>   to logical disk mapping anyway.

What you wish to do here can be done within the LVMS Architecture.
Basically, it would require the creation of a Device Manager plug-in which
would report each partition on a device as a logical disk.  Once this is
done, all of the other LVMS Partition Management and Feature plug-ins could
be applied to the logical disk.


>2. Avoid using existing partitioning schemes to encapsulate logical
>   partitions/extents.

This could be accomplished in the LVMS Architecture by creating a Partition
Manager plug-in which implements whatever scheme you desire.  Furthermore,
it could co-exist with other Partition Manager plug-ins.  The only
constraint is that a logical disk can not be shared between multiple
Partition Manager plug-ins.

I believe that what you advocate could be implemented within the LVMS
Architecture.   Since it is not an exact match for the model underlying the
architecture, it would not be a perfect fit, but it wouldn't be a bad fit
either.  Thoughts?

Regards,

Ben

^ permalink raw reply	[flat|nested] 36+ messages in thread
* Re: [linux-lvm] Re: IBM to release LVM Technology to the Linux
@ 2000-06-26 21:44 benr
  2000-06-27  3:53 ` Paul Jakma
  0 siblings, 1 reply; 36+ messages in thread
From: benr @ 2000-06-26 21:44 UTC (permalink / raw)
  To: Paul Jakma; +Cc: linux-lvm



Paul,

Welcome to the discussion!

>would it not perhaps be more efficient and more purposeful if rather
>than releasing IBM specific code which will not 'drop-in' to linux,
>IBM were instead to use their knowledge gained from IBM LVM to assist
>with improving the current Linux LVM?

If the existing LVM could accommodate what our customers have asked for,
then, yes, it would have been more efficient to improve the current Linux
LVM.  However, in order for the current LVM to be able to do what our
customers have asked for, it would have to be based upon a different
architecture.  This would require major changes to the code, the equivalent
of a re-write.  This does not mean, however, that the current LVM is in any
way bad.  It just means that our customers have needs that are not being
met by the current LVM, and something different is required to meet those
needs.

Regards,

Ben

^ permalink raw reply	[flat|nested] 36+ messages in thread
* Re: [linux-lvm] Re: IBM to release LVM Technology to the Linux
@ 2000-06-29  1:23 benr
  2000-06-29 14:37 ` Ragnar Kjørstad
  0 siblings, 1 reply; 36+ messages in thread
From: benr @ 2000-06-29  1:23 UTC (permalink / raw)
  To: Paul Jakma; +Cc: linux-lvm



Hello Paul!

>what have your customers asked for exactly?

>and are these customers AIX customers?

Here are some of the things that our customers have asked for:

The ability to read, write, and manipulate AIX volume groups and logical
volumes

The ability to read, write, and manipulate OS/2 logical volumes

The ability to read, write, and manipulate NT logical volumes (have not yet
started to research this one!)

The elimination of reboots after partitioning or volume changes

All disk utilities should be volume/volume group aware, as appropriate

Elimination of data security holes ( This involves the automation of error
prone tasks which could result in the loss of data.  An example would be
the shrinking of a volume.  This involves manual steps at the moment -
specifically - the filesystem must be resized before the volume is shrunk.
If the user forgets to do this, or if the user shrinks the filesystem by
too little or the volume by too much, data loss can occur.  Another example
of a data security hole would be if fdisk and its variants are not volume
group aware, in which case a user could accidentally delete a partition
belonging to a volume group, thereby causing data loss.  Another example of
a data security hole would be if partition identifiers can change due to
disk partitioning activity - ex. hda9 becomes hda8 after deleting hda7.
This could result in the user performing an operation on the wrong
partition.  Another example of a data security hole would be if the
partitions belonging to a volume group are still visible and available for
mounting - ex. hda5, hdb7, and hdc2 are all in a volume group, yet each is
visible apart from the volume group and each can be mounted independently
from the volume group to which they belong.  There are others, but I think
you get the idea.  Corporate users are very paranoid about losing their
"mission critical data".  They want a system which allows them to do
incredibly powerful things, but which also makes it extremely hard to
"screw up".)

Usability enhancements (The users complain about there being too many
commands required to manage volumes and disks, that managing volumes and
disks is too complex.  They want a single point for controlling everything
concerning disks, partitions, volumes, etc.  They also want a simpler
storage model that is easier to understand.  It appears that volume groups
confuse most users who are not UNIX savvy, as well as a surprising number
of those who are. )


>> it would have to be based upon a different architecture.  This
>> would require major changes to the code, the equivalent of a
>> re-write.  This does not mean, however, that the current LVM is
>> in any way bad.  It just means that our customers have needs that
>> are not being met by the current LVM, and something different is
>> required to meet those needs.

>but rather than throwing your LVM at Linux (and having 2 different
>LVM implementations - bad), why not re-examine your customers needs
>and work with current LVM using your experience/concepts from IBM LVM
>to develop an architecture that does meet those needs. An
>architecture perhaps different from current-LVM/IBM-LVM but still
>drawing on that experience.

I don't understand what you are trying to say here.  See the discussion
below.

>i take it adapting IBM's LVM to linux will not be straight forward,
>so the choices are:

>1. port IBM LVM -> 2 seperate LVM implementations.
>2. use current LVM with only slight improvements (possibly not
>meeting your customer's needs)
>3. work with Heinz and the rest of the linux community to build a new
>LVM architecture, taking the best concepts from both IBM and Heinz
>LVM to build a new LVM architecture superior to all the rest.

>whatever you do, i think option 1. is the least desirable.

Option 1 provides a short term solution.  It has certain benefits to IBM
and to Linux, but is probably not best for the long term.  As such, if we
end up using option 1, we would prefer to see the various LVM
implementations merge at some point in the future.  This means that, at
some point in the future, we end up at Option 3.

Option 2 is not good.  If we do this, then we may lose our customers, and
Linux misses a window of opportunity.

Option 3 is best, especially if we can start here instead of starting at
Option 1.  The LVMS Architecture that we have released is not set in
concrete, indeed, that is one of the reasons why we started this
discussion.  IBM currently has a way to support both OS/2 logical volumes
and AIX volume groups/logical volumes using this architecture, and the
solution is rather "clean".  However, we would also like to be able to
support Linux LVM volume groups/logical volumes and Monterey volume
groups/logical volumes.  The Linux and Monterey LVMs do not fit cleanly
into the LVMS Architecture as it now stands due to the fact that these LVMs
form volume groups from partitions as well as entire drives (see my
previous post about supporting AIX volume groups and logical volumes within
the LVMS Architecture).  While there are ways in which we could support
these LVMs, the methods employed are not architecturally "clean".  Thus, we
continue to look for the proper way in which to extend the LVMS
Architecture.  Of course, there is nothing that says we have to continue
the search by ourselves, or that we should be the only ones looking ...

Another thing to consider is that the LVMS Architecture is really a
framework.  It doesn't do much by itself.  The vast majority of the
functionality of an LVMS based on this architecture lies in the plug-in
modules that are loaded.  This is what allows this architecture to support
most volume group based LVMs (such as AIX) as well as most partition based
LVMs (OS/2, possibly NT - while NT doesn't appear to use volume groups,
there may be other obstacles which could prevent support for NT).  The
ultimate functionality of the architecture is limited by the number and
types of plug-ins it allows, as well as how those plug-ins are allowed to
interact.  I don't believe that this type of power and flexibility is
available in the LVMs of other operating systems (please correct me if I am
wrong!).  If we can find the right superset of the LVMS Architecture to use
for Linux, then we can take Linux from playing catch-up to being the
cutting edge leader in logical volume management!

Regards,

Ben

^ permalink raw reply	[flat|nested] 36+ messages in thread
* RE: [linux-lvm] Re: IBM to release LVM Technology to the Linux
@ 2000-06-29  5:32 Jean-Eric Cuendet
  2000-06-29 10:49 ` Andi Kleen
  0 siblings, 1 reply; 36+ messages in thread
From: Jean-Eric Cuendet @ 2000-06-29  5:32 UTC (permalink / raw)
  To: linux-lvm


> Another thing to consider is that the LVMS Architecture is really a
> framework.  It doesn't do much by itself.  The vast majority of the
> functionality of an LVMS based on this architecture lies in 
> the plug-in
> modules that are loaded.  This is what allows this 

Where stands the VFS layer? Behind LVMS? Or is it just a plugin for LVMS? Or
is it replaced?

Bye
-jec

^ permalink raw reply	[flat|nested] 36+ messages in thread
* Re: [linux-lvm] Re: IBM to release LVM Technology to the Linux
@ 2000-06-29 23:39 benr
  2000-06-30  4:09 ` Dale Kemp
                   ` (2 more replies)
  0 siblings, 3 replies; 36+ messages in thread
From: benr @ 2000-06-29 23:39 UTC (permalink / raw)
  To: Ragnar Kjørstad; +Cc: linux-lvm



Ragnar,

Welcome to the discussion!


>> The ability to read, write, and manipulate AIX volume groups and logical
>> volumes
>>
>> The ability to read, write, and manipulate OS/2 logical volumes
>>
>> The ability to read, write, and manipulate NT logical volumes (have not
yet
>> started to research this one!)

>Can not all theese be implemented as seperate block-devices, like md and
>lvm?

My understanding is that Linux has a limited ability to stack block device
drivers.  This capability is insufficient, however, to provide the above
support, both now and in the future.  What is needed is an ability to stack
drivers on a per volume basis.  That is, each volume would have the
equivalent of its own driver stack, containing only those drivers actually
used by the volume in the order in which they are actually used.  This
means that the driver stack for each volume is independent from that of
every other volume.  Thus, volumes employing the same drivers may have
those drivers in a different order in their respective driver stacks.  I
don't see that capability in Linux right now, but I may have missed
something.

Another thing missing is conflict detection and driver based control of
driver ordering in the driver stack of a volume.  This was only briefly
mentioned in the LVMS white paper, but, in a nut shell, the LVMS defines a
series of attributes which can be associated with a plug-in module.  These
attributes are set by the creator of a plug-in module.  The attributes
allow the LVMS to detect conflicts between plug-in modules, as well as
determine where in the driver stack for a volume a plug-in module
must/may/prefers to reside.

>> The elimination of reboots after partitioning or volume changes
>Even for MS-DOS partitions?

Yes.

>> Elimination of data security holes ( This involves the automation of
error
>> prone tasks which could result in the loss of data.  An example would be
>> the shrinking of a volume.  This involves manual steps at the moment -
>> specifically - the filesystem must be resized before the volume is
shrunk.
>
>Don't LVM handle the communication with the filesystem to do this
>automaticly?

From the man page for lvreduce:

"lvreduce allows you to reduce the size of a logical volume. Be careful
when reducing a logical volume's size, because data in the reduced part is
lost!!!"

If you are using ext2, then you could use e2fsadm, but if you are using
another filesystem, then what?  Even if you are using ext2, a user could
still use lvreduce directly.  Thus, this is a data security hole.

>> If the user forgets to do this, or if the user shrinks the filesystem by
>> too little or the volume by too much, data loss can occur.  Another
example
>> of a data security hole would be if fdisk and its variants are not
volume
>> group aware, in which case a user could accidentally delete a partition
>> belonging to a volume group, thereby causing data loss.  Another example
of
>> a data security hole would be if partition identifiers can change due to
>> disk partitioning activity - ex. hda9 becomes hda8 after deleting hda7.
>And how can this be eliminated? In LVM this is not a problem, because
>name-space is different, but how can it be solved for msdos-partitions?

The way this is solved in other operating systems is that the operating
system only recognizes volumes.  Volumes are given user defined, unique
names.  Volumes are then mounted by referring to the volume's name.
Partitions are not visible to the operating system, they are only visible
to the LVMS.  If the user wishes to mount a partition, they must first make
it a volume using the LVMS.  This places the partition into the LVMS name
space and forces the user to give it a unique name.  If partitions are
created or destroyed (which must be done through the LVMS), no reboots are
required as the names of the existing volumes are not affected.  Similarly,
if a volume is created or destroyed, no reboot is required as the names of
the remaining volumes have not changed, and their associations still hold.
Of course, there are other simpler ways to handle this specific point, but
the method outlined here solves more than just the reboot problem, it
closes other data security holes as well.

One last point here is that a partition can be turned into a volume without
affecting its contents, and without affecting the ability of MS-DOS and
Windows to recognize or use it.  This is actually done by both OS/2 and NT.

>> Usability enhancements (The users complain about there being too many
>> commands required to manage volumes and disks, that managing volumes and
>> disks is too complex.  They want a single point for controlling
everything
>> concerning disks, partitions, volumes, etc.  They also want a simpler
>> storage model that is easier to understand.  It appears that volume
groups
>> confuse most users who are not UNIX savvy, as well as a surprising
number
>> of those who are. )
>
>Creating easier-to-understand user interfaces is very different from
>changing the architecture in the kernel.

Yes and no.  There are some issues which can be dealt with in the user
interface, and there are other issues which need to be dealt with
elsewhere.  As an example, consider that the users want a simple storage
model.  If the kernel supports the more complex model that the users don't
like, it would be very difficult to hide that behind a user interface.  The
code for such a user interface would tend to be complex, and complex code
is typically buggy.  Thus, a kernel change may be more appropriate in this
case.

>Basicly, what I'm asking is if the current architecture (just stackable
>block-devices) capable of all the things you want to accomplish?

No.  If it was, IBM would be working on the stackable block-devices
required to meet the needs of our customers as this would have been the
fastest and most effective path to take.  This does not mean that the
existing LVM is in any way "bad" or "inferior".  The designers of the
current LVM were trying to solve a certain set of problems, which they did.
We are trying to solve a different set of problems.  While there are many
similarities between the problem sets, there are also many significant
differences.  It is these differences that are driving us towards a
different solution.

Regards,

Ben

^ permalink raw reply	[flat|nested] 36+ messages in thread
* Re: [linux-lvm] Re: IBM to release LVM Technology to the Linux
@ 2000-06-30 19:27 benr
  2000-06-30 21:30 ` Dale Kemp
  0 siblings, 1 reply; 36+ messages in thread
From: benr @ 2000-06-30 19:27 UTC (permalink / raw)
  To: linux-lvm



Dale,

>>
>> "lvreduce allows you to reduce the size of a logical volume. Be careful
>> when reducing a logical volume's size, because data in the reduced part
is
>> lost!!!"
>>
>> If you are using ext2, then you could use e2fsadm, but if you are using
>> another filesystem, then what?  Even if you are using ext2, a user could
>> still use lvreduce directly.  Thus, this is a data security hole.
>
>This is more than a problem with LVM but with device and file system
>integration.

Yes.

> Even with LVMS the problems not fully solved, maybe only
>with JFS but what about ext2, ext3, reiserfs etc.

The LVMS solves this problem through Filesystem Interface Modules (FIM).
Refer to page 11 of the white paper, under the "Filesystem Participation"
section.  Thus, all that is needed to make ext2, ext3, reiserfs, JFS, XFS,
HPFS, FAT, etc. work with the LVMS is an appropriate FIM.  How hard is it
to write a FIM?  That depends upon how hard it is to resize the filesystem
that the FIM is being written for, not much else.  Just because a
filesystem does not have a FIM, though, does not mean that that filesystem
can not be used with the LVMS.  It just means that the LVMS will not be
able to perform certain operations on volumes which employ that filesystem.

>I propose that the list
>put some thought into this whole integration process, I think some common
>interface standard is needed. Maybe something like the resizefs that I
>proposed in a previous email.
>
>toplevel:    resizefs <partition_device | logical_volume | mountpoint>
>
>This then calls resizefs.ext2 for example again some thought is needed
with
>regards to volume's and partition's. Using a common interface now for
volumes
>could allow the command (or something like it) to work on both LVM and
LVMS.
>(Maybe also the remount options, etc.)
>Its become clear that the most important part is some common elements for
>volumes; specifics for each volume manager can be handled in each kernel
>module and toolset.
>Let's do this now no latter when its all incompatible, for the user's
sake.
>I say to IBM and SGI please lets get some common functionality, and start
>drawing up a proposal document online.
>
>What do you all think?
>
>Proposed common volume management:
>
>    - The 'mount' command, and options. Such as readonly etc.
>    - A resize filesystem command such as "resizefs", that knows about
>partitions and
>       volumes.
>    - mkfs (eg. mke2fs) should work with all volume types.
>    - Others to be proposed.

The LVMS already does what you are talking about, and it does so without
imposing any particular user interface.  By having the integration occur in
the LVMS instead of in the user interface, the user interface is easier to
write, and data security holes can be controlled and/or eliminated.
Furthermore, the LVMS was designed to accommodate multiple user interfaces,
and having the integration occur in the LVMS eliminates the duplication of
code and effort which would be required if the user interfaces had to
implement the integration.

Regards,

Ben

^ permalink raw reply	[flat|nested] 36+ messages in thread
* Re: [linux-lvm] Re: IBM to release LVM Technology to the Linux
@ 2000-06-30 20:28 benr
  2000-06-30 20:53 ` Ragnar Kjørstad
  0 siblings, 1 reply; 36+ messages in thread
From: benr @ 2000-06-30 20:28 UTC (permalink / raw)
  To: Ragnar Kjørstad; +Cc: linux-lvm



Ragnar,


>Is it not possible to make an LVM-volume on an md device, and an md
>device on an LVM-volume? That's what you want, right?

If both volumes could exist and be used simultaneously, then this would be
a simple example of what we want.  However, I have been told that:

"What is definitely lacking is a generic API for this case; the current way
of letting remappers change a function pointer requires special support in
every single remapper and it is hard to remove or insert them on the fly;"
(Andi Kleen - from a post earlier this month on this thread)

This tells me that the current mechanism can not handle what we desire.

>This may be implemented within the current architecture by having the
>block-device drivers export some data (e.g. in proc), and have the
>userspace utilities check that data before they perform any actions.

>The data in proc should be standarized, so the userspace-utilities
>don't have to know every block-device specificly.

What you suggest could be made to work, but the way it is handled by the
LVMS is cleaner and more efficient, and requires much less code.

>> >> The elimination of reboots after partitioning or volume changes
>> >Even for MS-DOS partitions?
>>
>> Yes.
>
>There was a suggestion on L-K (or maybe it was reiserfs) that the kernel
>should reread the partition-table, and compare it to the old one - if
>none of the mounted partitions changed the new partition-table would be
>accepted (and reboot avoided).

What constitutes a change to a mounted partition?  Currently, the creation
of a new partition (or the deletion of an existing one) can cause the
identifiers associated with existing partitions to change, even though the
existing partitions have not been changed themselves.  Thus, unless this is
changed, the proposed method does not eliminate reboots due to partitioning
changes.

>> >From the man page for lvreduce:
>>
>> "lvreduce allows you to reduce the size of a logical volume. Be careful
>> when reducing a logical volume's size, because data in the reduced part
is
>> lost!!!"
>>
>> If you are using ext2, then you could use e2fsadm, but if you are using
>> another filesystem, then what?  Even if you are using ext2, a user could
>> still use lvreduce directly.  Thus, this is a data security hole.
>
>There are also utilities for resizing reiserfs - I believe they
>communicate with LVM to do this automaticly? Is the manpage outdated, or
>am I wrong here?
>
>The reason this don't work for other filesystems is of course that they
>can't be resized at all.

Other filesystems can be resized, it is just that a resize utility has not
be written for them yet! :-)

There is currently no true integration between the LVM and the filesystems.
The resize utilities that are available attempt to hide this by having the
utility communicate with both the LVM and the filesystem, but there is no
intrinsic communication between the filesystems and the LVM as there would
be in the LVMS.  As a result, lvreduce does not talk to the filesystems,
and bad things can happen!

>> >And how can this be eliminated? In LVM this is not a problem, because
>> >name-space is different, but how can it be solved for msdos-partitions?
>>
>> The way this is solved in other operating systems is that the operating
>> system only recognizes volumes.  Volumes are given user defined, unique
>> names.  Volumes are then mounted by referring to the volume's name.
>
>The best way to handle this (IMHO) is to provide special utilities that
>ease the mounting, and do the checking. The operating-system shouldn't
>prevent mounting of the partitions directly, because it is sometimes
>desired.

Special utilities - this means more commands that a user must learn - a
more complicated user interface.  Our customers are already saying that the
existing user interface it too complicated and too hard to use.  Adding
more special utilities just makes the situation worse.

What we are talking about here is making the user go through the LVM to
mount a partition.  This gives the LVM the opportunity to examine what the
user is doing and ensure that it does not violate the integrity of any
volumes/volume groups.  This in no way prevents the user from mounting a
partition, it just allows the LVM to be involved.  It also gives the user a
single place to go to manipulate his volumes/volume
groups/partitions/disks.

>> Partitions are not visible to the operating system, they are only
visible
>> to the LVMS.  If the user wishes to mount a partition, they must first
make
>> it a volume using the LVMS.  This places the partition into the LVMS
name
>> space and forces the user to give it a unique name.  If partitions are
>> created or destroyed (which must be done through the LVMS), no reboots
are
>> required as the names of the existing volumes are not affected.
Similarly,
>> if a volume is created or destroyed, no reboot is required as the names
of
>> the remaining volumes have not changed, and their associations still
hold.
>
>I don't like to "force" anything.... What's the problem with just
>modifying the utilities to check this - or give warnings?

1.  Every utility would have to contain the appropriate set of checks.  If
you miss a check in a utility, then you have a data security hole.  It is
easier to have all of the checks in one place - the LVM.

2.  The method you outlined before does not eliminate reboots.  You need a
major change to the way partitions are identified and accessed in order to
eliminate reboots.  If you go to the method used by other operating
systems, you kill several birds with one stone.  Otherwise, to eliminate
reboots, you need to devise a new method for identifying and communicating
with partitions that avoids the problems of the current one.

>> One last point here is that a partition can be turned into a volume
without
>> affecting its contents, and without affecting the ability of MS-DOS and
>> Windows to recognize or use it.  This is actually done by both OS/2 and
NT.
>
>You still need to store some metadata, right? So where can you store it
>without affecting its contents?

There is a minimal amount of metadata required to do this.  This data can
be stored in either a centralized or distributed fashion.  In the
centralized approach, the metadata is stored in a database to which only
the LVM has both read and write access.  In the distributed method, the
metadata is stored on the disk itself.  Where it is stored depends upon the
partitioning scheme in use on the drive.  As an example, a partition could
be set aside for the use of the LVM.  In this partition, the LVM could
store whatever it wanted, including the metadata to turn a partition into a
volume.  Another method would be to store the metadata in an unused area of
the disk.  This method is actually used by OS/2 since the partitioning
scheme used by MS-DOS/Windows/OS2 always results in some unused sectors.
There are probably other methods as well.

Regards,

Ben

^ permalink raw reply	[flat|nested] 36+ messages in thread
* Re: [linux-lvm] Re: IBM to release LVM Technology to the Linux
@ 2000-06-30 20:50 benr
  0 siblings, 0 replies; 36+ messages in thread
From: benr @ 2000-06-30 20:50 UTC (permalink / raw)
  To: Jan Niehusmann; +Cc: linux-lvm



Jan,

Welcome to the discussion!


>On Thu, Jun 29, 2000 at 06:39:51PM -0500, benr@us.ibm.com wrote:
>> If you are using ext2, then you could use e2fsadm, but if you are using
>> another filesystem, then what?  Even if you are using ext2, a user could
>> still use lvreduce directly.  Thus, this is a data security hole.
>
>We'll always have that kind of 'data security hole'. We have lvreduce, we
>have mke2fs, we even have cat /dev/zero >/dev/hda.

lvreduce doesn't need to be a data security hole.  In the LVMS, the
filesystems have direct input to the LVMS through the Filesystem Interface
Modules (FIM).  This input is gathered by the LVMS, not by the user
interface.  Thus, any user interface which issues a command to the LVMS to
resize a volume will automatically cause the affected filesystem to be
consulted.  Thus, in the LVMS, lvreduce would not be a data security hole
as the LVMS would consult with the affected filesystem.

In other words, under the LVMS, the LVMS assumes the responsibility for
consulting the affected filesystem before resizing a volume, not the user
interface.  Under the current system, the user interface is responsible for
such integration.

>
>I think admin tools should be easily usable, and that includes safety. It
>should be difficult to destroy data accidently. So, obviously, it's a bad
>thing if you have to shrink the fs size first, then shrink the volume
size,
>and if you misstype one of the sizes you lose data.

Agreed.

>
>I see two possible solutions: One is an integrated tool like e2fsadm,
>generalized to know about all possible filesystems. (If you call it to
>shrink a fs that it doesn't know about, it fails with a proper error
>message).
>
>The second is a check in lvreduce to ensure the fs on the partition fits
into
>the new volume size. The user still has to call ext2resize (or another
tool)
>first, and then lvreduce, but user faults are caught.
>
>(Of course, lvreduce will have a --i-know-this-doesnt-fit-do-it-anyway
option
>to allow the admin to shoot himself in the foot if he really wants to...)

There is a third option.  The third option is to remove the responsibility
for integration from the user interface and place it in the LVM.  This is
what the LVMS does, as the previous discussion on lvreduce showed.

Regards,

Ben

^ permalink raw reply	[flat|nested] 36+ messages in thread

end of thread, other threads:[~2000-06-30 23:05 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <85256900.007B81E0.00@d54mta02.raleigh.ibm.com>
2000-06-18 22:51 ` [linux-lvm] Re: IBM to release LVM Technology to the Linux Andreas Dilger
2000-06-21 17:28   ` Martin K. Petersen
2000-06-21 22:27 benr
2000-06-22 19:37 benr
2000-06-23  1:23 ` Dale Kemp
2000-06-23 20:55 ` Martin K. Petersen
2000-06-23 12:52 hpuxadm
2000-06-23 15:20 ` Jens Benecke
2000-06-23 21:04 benr
2000-06-23 23:49 ` Paul Jakma
2000-06-24  6:37   ` Dale Kemp
2000-06-24 18:07     ` S. Ryan Quick
2000-06-25  1:25       ` Dale Kemp
2000-06-26  6:31     ` Martin K. Petersen
2000-06-26 14:27 Wilson, Eric
2000-06-26 23:18 ` Dale Kemp
2000-06-27  2:02   ` Andi Kleen
2000-06-27  2:22     ` Dale Kemp
2000-06-27  2:13   ` Andreas Dilger
2000-06-26 20:59 benr
2000-06-26 21:44 benr
2000-06-27  3:53 ` Paul Jakma
2000-06-29  1:23 benr
2000-06-29 14:37 ` Ragnar Kjørstad
2000-06-29  5:32 Jean-Eric Cuendet
2000-06-29 10:49 ` Andi Kleen
2000-06-29 23:39 benr
2000-06-30  4:09 ` Dale Kemp
2000-06-30  9:34 ` Jan Niehusmann
2000-06-30 15:28 ` Ragnar Kjørstad
2000-06-30 19:27 benr
2000-06-30 21:30 ` Dale Kemp
2000-06-30 23:05   ` Jens Benecke
2000-06-30 20:28 benr
2000-06-30 20:53 ` Ragnar Kjørstad
2000-06-30 20:50 benr

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).