Differences between revisions 5 and 6
Revision 5 as of 2009-12-18 04:16:48
Size: 2050
Editor: SamatJain
Comment:
Revision 6 as of 2010-07-26 18:56:17
Size: 3240
Editor: SamatJain
Comment: Erasing MBRs & partition tables, partition table information
Deletions are marked like this. Additions are marked like this.
Line 46: Line 46:
== Clone a partition table == == Partition tables ==
Line 48: Line 48:
sfdisk can duplicate a partition table across disks. Useful for setting up RAID. === Erasing ===
Line 50: Line 50:
{{{#! Attacking the first sector (512 bytes) of a disk with dd will '''completely erase''' a partition table:

{{{#!highlight sh
dd if=/dev/zero of=/dev/sdX bs=512 count=1
}}}

while attacking only the first 446 bytes will clear the MBR, uninstalling LILO or GRUB's stage 1:

{{{#!highlight sh
dd if=/dev/zero of=/dev/sdX bs=446 count=1
}}}

=== Cloning ===

Cloning partition table geometry is useful for setting up RAID arrays. You don't want to copy the sector from disk to disk directly, because this will duplicate partition GUIDs (which will cause headaches later).

sfdisk can duplicate an MBR partition table across disks:

{{{#!highlight sh
Line 52: Line 70:
}}}

sgdisk (0.6.8 and above) can duplicate GPT partition tables across disks:

{{{#!highlight sh
sgdisk -b - /dev/sda | sgdisk -l - -Gg /dev/sdb
}}}

=== Information ===

file can be report information about a partition, particularly whether GRUB is installed. For example:

{{{
$ sudo file -s /dev/sda
/dev/sda: x86 boot sector; GRand Unified Bootloader, stage1 version 0x3, stage2 address 0x2000, stage2 segment 0x200; partition 1: ID=0xfd, active, starthead 1, startsector 63, 1493982 sectors; partition 2: ID=0xfd, starthead 0, startsector 1494045, 1463650020 sectors, code offset 0x63

Partitioning guidelines

Boot (/boot)

768 MB–1 GB, at minimum. This is enough to contain several kernels as well as a bootable ISO (i.e. grml) for use with grub2.

Root (/)

For servers, a 4 GB partition is more than adequate. Most of my servers have less than 1 GB utilization.

For desktops/laptops, 8 GB is adequate for a machine with a set purpose and just running a desktop environment, while doing no/minimal development.

For a development workstation 10 GB or more is good. I always run out of space attempting to install debug packages and/or compile large software collections, such as KDE.

Logs (/var)

Space requirements for /var are always increasing. At minimum, 4 GB. If /var and /tmp are merged, 6 GB.

Temp (/tmp)

For servers, I notice /tmp is not used often, and usually lies empty. When it does it used, the frequency of use is similar to /var. I'll usually merge tmp and var for this reason (i.e. remount /tmp under /var/tmp).

For desktops, 2-4G is usually fine. I usually aim for the minimum required to store a CD or DVD image when burning discs.

Create and use a swap file

Instead of letting space go to waste in a swap partition, Linux can use a small swap file instead:

   1 sudo dd if=/dev/zero of=/swap-file bs=1M count=255
   2 sudo mkswap /swap-file
   3 sudo swapon /swap-file

To automatically bring it up on reboot, place into fstab:

/swap-file none swap sw 0 0

(!) Note: The Linux kernel does not support sparse files as swap files. It's also best to create the swap file immediately after filesystem creation to insure a contigiuous file. Other than that, choice of filesystem does not matter. Reference on LKML.

Partition tables

Erasing

Attacking the first sector (512 bytes) of a disk with dd will completely erase a partition table:

   1 dd if=/dev/zero of=/dev/sdX bs=512 count=1

while attacking only the first 446 bytes will clear the MBR, uninstalling LILO or GRUB's stage 1:

   1 dd if=/dev/zero of=/dev/sdX bs=446 count=1

Cloning

Cloning partition table geometry is useful for setting up RAID arrays. You don't want to copy the sector from disk to disk directly, because this will duplicate partition GUIDs (which will cause headaches later).

sfdisk can duplicate an MBR partition table across disks:

   1 sfdisk -d /dev/sda | sfdisk /dev/sdb

sgdisk (0.6.8 and above) can duplicate GPT partition tables across disks:

   1 sgdisk -b - /dev/sda | sgdisk -l - -Gg /dev/sdb

Information

file can be report information about a partition, particularly whether GRUB is installed. For example:

$ sudo file -s /dev/sda
/dev/sda: x86 boot sector; GRand Unified Bootloader, stage1 version 0x3, stage2 address 0x2000, stage2 segment 0x200; partition 1: ID=0xfd, active, starthead 1, startsector 63, 1493982 sectors; partition 2: ID=0xfd, starthead 0, startsector 1494045, 1463650020 sectors, code offset 0x63


CategoryCheatSheet

SamatsWiki: CheatSheet/Partitioning (last edited 2019-06-29 03:11:26 by SamatJain)