[conspire] How do I determine what I need to keep from my internal hard drive and what is the recommend way to move things to an external hard drive

Nick Moffitt nick at zork.net
Mon Sep 6 01:37:15 PDT 2010


Darlene Wallach:
> Thank you - I'm using the rsync command with the 'z' option too.

The 'z' option turns on gzip encryption between the sending and
receiving rsync processes.  Over a remote connection this can help
throughput, but if you're just syncing between two local disks the
compression/decompression on the same system will add a wee bit of
unnecessary overhead.

> > 2.  Snapshot of your partition layout.
> I used "parted -l" since I used parted to create the partitions. I
> like the naming scheme of including the date.

I should note that for most desktop machines the partition information
is largely irrelevant.  If you've been playing games with separation of
concerns, that's fine.  This used to be mandatory in the old days, but
journaling filesystems give me the confidence to make my desktop One Big
Partition and swap so I can just accept installer defaults when I
flatten.

Here's what I once wrote to a co-worker at one job or another, in
reaction to a document she had written describing how to partition your
drives up:

	I can't recall where this is documented, but I believe that at
	UC Berkeley the systems they were developing BSD Unix on had two
	kinds of disks: a 2MB fixed-head disk (imagine a thin ring) with
	very few moving parts, and a standard-for-the-time removable
	disk pack drive (imagine a top-loading washing machine where you
	loaded large copper platters onto the agitator).

	So they used the fast fixed-head ring-shaped disk for the most
	core OS files, and used the slower large-volume disk packs for
	everything else, mounting whole disk packs onto /home and /usr
	and /var and wherever else they were likely to need lots of
	space.

	Notice that this is something of the inverse of what you
	advised: instead of mounting multiple whole volumes onto the
	filesystem at various points, you're asking them to carve up a
	single volume into smaller spaces.

	For many years, this sort of carving-up persisted among the free
	PC Unixes (Linux, FreeBSD, etc) I think for a few reasons:

		1. Early home Linux users tended to copycat the Big Unix
		   systems they had access to.  The Big Unix SysAdmins
		   used to find this obnoxious and amusing in turns, but
		   some practices may just be cargo-cult
		   misapplications.

		2. Many systems for accounting and limitation (for
		   example, user disk-space quotas) are per-partition,
		   and work best when you have one region of your
		   filesystem configured for them but leave the rest
		   unaffected.

		3. Through the 1990s, the main Linux filesystems (ext2
		   in particular) were not very crash-resistant, and
		   could become corrupted if the system was not shut
		   down cleanly.  If a partition was in the middle of
		   being written to when the power went out, the fsck
		   filesystem check could take a very long time on next
		   boot.  The repairs might also result in lost files or
		   chunks of file left in the lost+found/ directory
		   instead of where they were meant to be.

		   The logic then went that if you separate the
		   filesystems that are likely to have lots of writes
		   (/var, /home etc) from the filesystems that are most
		   important for correct system operation (/etc, /usr,
		   /lib, /bin, etc) you can localize any damage.
		   Further, the smaller individual partitions will have
		   a shorter overall time required for the fsck program
		   to inspect and repair them.

		4. Die-hard Linux home users like to try different
		   distributions out to experiment with them, and
		   keeping /home separate makes it easy to boot into a
		   new system but still have all your firefox bookmarks
		   and thunderbird passwords and all that good stuff.

	There were also other tricks available.  I myself used to mount
	/usr read-only (but had to remount it read-write every time I
	upgraded software, which got annoying) and mounted partitions
	like /var and /home with options that restricted what users
	could put on them (while leaving system partitions that relied
	on these features alone).  But I think the above four points
	were the most common.

	So let's look at these factors in order:

		1. This is clearly not a good reason to do anything, and
		   can be safely ignored.

		2. This issue has some merit, but it's been a very long
		   time since I've seen a system with quotas enabled.
		   They were somewhat invasive last time I used them,
		   and more trouble than they were worth.  Even at $FIRM
		   we just monitor disk space on all our systems and do
		   analysis of worst offenders when we reach a certain
		   threshold.

		3. I think this is where the biggest change has taken
		   place.  Journaling filesystems such as ext3 and xfs
		   (but mostly ext3) have made this sort of precaution
		   far less relevant.  Journaling filesystems write
		   their data to a temporary staging area called a
		   journal, and checkpoint those changes into the actual
		   filesystem structure at regular intervals.  If the
		   process is interrupted, the system has enough of an
		   audit trail to revert any half-committed changes and
		   repair the filesystem in a matter of seconds during
		   boot time.

		   It is this change alone that caused me to stop
		   carving up my own filesystems into little chunks.  I
		   feel far more confident in ext3's ability to keep my
		   data intact without any noticeable performance
		   problems.

		4. This is something you hinted at in $DOCUMENT.  This
		   is probably good advice for desktop users who want to
		   experiment with lots of different distributions, but
		   I'm not sure it's the kind of suggestion we want to
		   plant in $SOFTWARE server administrators' heads:
		   "Also, this will let you ditch
		   $SUPPORTED_DISTRIBUTION for $COMPETITOR more easily!"
		   :)

	None of the $FIRM servers carve up disks into partitions beyond
	making an ext3 / partition and a swap partition.  We keep all
	Web site data under /srv (see
	http://www.pathname.com/fhs/pub/fhs-2.3.html#SRVDATAFORSERVICESPROVIDEDBYSYSTEM
	for the section of the Filesystem Hierarchy Standard on this
	directory) rather than /var, and when we need more space we
	usually add it by putting a new disk (or RAID, more frequently)
	in as /srv or a directory under /srv somewhere.

	So that's my biggest philosophical break with $DOCUMENT.  I
	really think the benefits of partitioning small don't really
	outweigh the hassles it causes.

-- 
You are not entitled to your opinions.




More information about the conspire mailing list