[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: About to format the whole laptop, need some partitioning advice.



On Sun, Feb 09, 2014 at 04:23:27PM -0500, Doug wrote:
> On 02/09/2014 04:05 PM, Roger Leigh wrote:
> 
> /snip/
> > On W
> > On Linux, there are three possibilities which mitigate all these
> > things:
> >
> > 1) Use LVM.  You can use the entire drive as a single physical volume
> >     (PV) and then carve it up into separate logical volumes (LVs).  This
> >     allows exactly the same strategy as above, but you can start with
> >     the minimum needed size for each partition and leave the remaining
> >     space unallocated.  Should you need additional space for any of the
> >     volumes, you can just extend it on demand.  Downside: space allocation
> >     is manual and some degree of space wastage still occurs.
> >
> > 2) Use Btrfs.  You can have a single Btrfs volume, and then use
> >     subvolumes for all the separate parts, divided up exactly as above.
> >     The subvolumes may be independently snapshotted, backed up and
> >     preserved.  The rootfs itself can be a subvolume.  The main problem
> >     here is that Btrfs isn't production ready, so I can't recommend it
> >     unless you don't care about your data.
> >
> > 3) Use ZFS.  Allocate the drive as a single zpool.  You can then create
> >     zfs volumes for all the separate bits.  However, you don't have the
> >     space wastage issues since all the data is in a single pool, and
> >     you can adjust the size allocations/quotas on demand for each
> >     individual volume (or leave them unset to give them as much space as
> >     they can get).  Needs a kernel patch for the zfs driver.  With
> >     kFreeBSD you can do this natively.  It has all sorts of great
> >     features which I won't go into here.
> >
> > I've tried all three.  For Linux, using LVM is easy and can be done
> > in the installer.  If you reinstall you can keep the LVs you want and
> > wipe/delete the rest.
> /snip/
> >
> > Regards,
> > Roger
> >
> I don't understand LVM, but I tried to install some distro just to
> learn about it, and it would only install using LVM, which meant
> that it would only install on the entire hard drive. No partitions,
> no Windows, no nothing.

While it's possible to use LVM in this manner, it's definitely not
typical.  The Physical Volumes are block devices, and as such may be
made up of entire discs, but are typically a single partition on one
disc, or spanned over multiple discs, or on top of MD RAID arrays.
If you install on LVM in the Debian Installer, you can do any of the
above; it certainly won't install on an entire disc by default.  You
normally partition and mark certain partitions as PVs for LVM.

I would certainly recommend taking a second look into LVM.  You might
be surprised at how much of an improvement it is once you've got over
the initial learning curve.  Just think of it as being similar to
traditional partitions, but with the ability to dynamically
reconfigure things on the fly, e.g. online resizing of filesystems.

Just as an example, I've shown below what a simple ZFS setup can look
like.  It's a FreeBSD10 fileserver, but it's basically the same on
Linux.  I'd show a kFreeBSD example but the system isn't online at
present.  Here there are two pools, a single disk with the rootfs, and
a RAID1 array with the user data.  Note the scrub status for the
mirror--this is giving us an additional level of error identification+
repair which no other filesystem offers [except btrfs, but you wouldn't
want to use it as previously mentioned].  All the individual datasets
(equivalent to a partition), are separately mounted but the storage is
all taken from the pool they belong to, so the space wastage from
partitioning is eliminated entirely.

Just to comment on the use of a whole disk, note here the pools are all
made of individual partitions, but could be whole discs if desired,
just like for LVM PVs.

% zpool status
  pool: bsdroot
 state: ONLINE
  scan: none requested
config:

	NAME                                          STATE     READ WRITE CKSUM
	bsdroot                                       ONLINE       0     0     0
	  gptid/7173ee99-882f-11e3-88e2-38eaa7ab6153  ONLINE       0     0     0

errors: No known data errors

  pool: green
 state: ONLINE
  scan: scrub repaired 0 in 13h44m with 0 errors on Mon Feb 10 11:33:10 2014
config:

	NAME                               STATE     READ WRITE CKSUM
	green                              ONLINE       0     0     0
	  mirror-0                         ONLINE       0     0     0
	    diskid/DISK-WD-WMAZA3538113p2  ONLINE       0     0     0
	    diskid/DISK-WD-WMAZA3538412p2  ONLINE       0     0     0

errors: No known data errors

% zfs list
NAME                         USED  AVAIL  REFER  MOUNTPOINT
bsdroot                     6.37G   210G   144K  none
bsdroot/ROOT                2.09G   210G   144K  none
bsdroot/ROOT/default        2.09G   210G  2.09G  /
bsdroot/tmp                 1014M   210G  1014M  /tmp
bsdroot/usr                 3.04G   210G   144K  /usr
bsdroot/usr/home             184K   210G   184K  /usr/home
bsdroot/usr/ports           2.51G   210G  2.51G  /usr/ports
bsdroot/usr/src              545M   210G   545M  /usr/src
bsdroot/var                  255M   210G   254M  /var
bsdroot/var/crash            148K   210G   148K  /var/crash
bsdroot/var/log              472K   210G   472K  /var/log
bsdroot/var/mail             152K   210G   152K  /var/mail
bsdroot/var/tmp              160K   210G   160K  /var/tmp
green                       1.08T   723G   144K  none
green/export                 964G   723G   168K  /export
green/export/data            964G   723G   152K  /export/data
green/export/data/original   964G   723G   964G  /export/data/original
green/home                   139G   723G   152K  /export/home
green/home/rleigh            139G   723G   138G  /export/home/rleigh
green/jail                   296K   723G   152K  /jail
green/jail/template          144K   723G   144K  /jail/template
green/mirror                 296K   723G   152K  /export/mirror
green/mirror/debian          144K   723G   144K  /export/mirror/debian
green/sid                    315M   723G   315M  none
green/sidclone               315M   723G   315M  none

% mount
bsdroot/ROOT/default on / (zfs, local, noatime, nfsv4acls)
devfs on /dev (devfs, local, multilabel)
green/export on /export (zfs, NFS exported, local, nfsv4acls)
green/export/data on /export/data (zfs, NFS exported, local, nfsv4acls)
green/export/data/original on /export/data/original (zfs, NFS exported, local, nfsv4acls)
green/home on /export/home (zfs, NFS exported, local, nfsv4acls)
green/home/rleigh on /export/home/rleigh (zfs, NFS exported, local, nfsv4acls)
green/jail on /jail (zfs, NFS exported, local, nfsv4acls)
green/jail/template on /jail/template (zfs, NFS exported, local, nfsv4acls)
green/mirror on /export/mirror (zfs, NFS exported, local, nfsv4acls)
green/mirror/debian on /export/mirror/debian (zfs, NFS exported, local, nfsv4acls)
bsdroot/tmp on /tmp (zfs, local, noatime, nosuid, nfsv4acls)
bsdroot/usr/home on /usr/home (zfs, local, noatime, nfsv4acls)
bsdroot/usr/ports on /usr/ports (zfs, local, noatime, nosuid, nfsv4acls)
bsdroot/usr/src on /usr/src (zfs, local, noatime, noexec, nosuid, nfsv4acls)
bsdroot/var on /var (zfs, local, noatime, nfsv4acls)
bsdroot/var/crash on /var/crash (zfs, local, noatime, noexec, nosuid, nfsv4acls)
bsdroot/var/log on /var/log (zfs, local, noatime, noexec, nosuid, nfsv4acls)
bsdroot/var/mail on /var/mail (zfs, local, nfsv4acls)
bsdroot/var/tmp on /var/tmp (zfs, local, noatime, nosuid, nfsv4acls)

-- 
  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux    http://people.debian.org/~rleigh/
 `. `'   schroot and sbuild  http://alioth.debian.org/projects/buildd-tools
   `-    GPG Public Key      F33D 281D 470A B443 6756 147C 07B3 C8BC 4083 E800


Reply to: