Partition
| External resources |
There are several ways to give the operating system access to the storage devices, this is a summary of possible methods and combinations of these. As Supported OS are operating systems listed, which can be booted and installed into partitions or volumes of this type.
Contents |
Master Boot Record (MBR)
Used for a long time to organize data, also called DOS-Partitions. Partition information is stored in the MBR of the device.
- widely spread and support in nearly all operating systems
- very well documented
- maximum of 4 primary partitions per device
- maximum size of the device 2TB
- using one as extended partition (of the 4 primary), it is possible to create additional logical partitions to work around the problem of only 4 partitions
Programs
To create/alter MBR partitions
| Program | Package | GUI | Function |
|---|---|---|---|
| fdisk | sys-apps/util-linux | No | create, remove, alter partitions |
| parted | sys-block/parted | No | create, remove, alter, resize partitions |
| gparted | sys-block/gparted | Qt / GTK+ | create, remove, alter, resize partitions |
Supported OS
- BSD (Mac OS X) - full support
- DOS - full support
- Linux - full support
- Solaris - full support
- Windows - full support
GUID Partition Table (GPT)
In GUID partition system a small amount of disk space at the beginning of the device is used to store the partition information. Its main advantage is the supported size of storage devices and it creates a backup of the partition table at the end of the device.
- widely spread and support in most modern operating systems
- used to require the GRUB2 bootloader, but the functionality was backported to earlier versions
- maximum of 128 primary partitions per device
- maximum size of the device 9 ZB
Programs
To create/alter GPT partitions
| Program | GUI | Function |
|---|---|---|
| sys-apps/gptfdisk | No | create, remove, alter, resize partitions, convert MBR to GPT, recreate partition tables from backup |
| sys-block/gparted | Qt / GTK+ | create, remove, alter, resize partitions |
Supported OS
- BSD (Mac OS X) - full support
- Linux - full support
- Windows - cannot boot itself, needs the EFI bootloader or Linux GRUB2 with dualboot (Since Server 2008 or Vista SP1)
Logical Volume Manager (LVM)
LVM is a complete suite to dynamically manage partitons, storage devices or other underlying systems as volumes.
- widely spread and support in most modern operating systems
- needs GRUB2 bootoader
- maximum size of the device depends on the underlying systems limitations
- maximum size of Logcial Volumes is 8 EB on 64bit Linux and 16TB on 32bit Linux
- storage devices, raid system, network storage (e.g. iSCSI) can be used complete as Physical Volume (no need of partitioning)
- it provides basic forms of redundancy like mirror, raid5 or stripset for performance
Programs
The following programs come with sys-fs/lvm2
| Program | GUI | Function |
|---|---|---|
| pvcreate | No | create, remove Physical Volumes of storage devices/systems |
| vgcreate | No | group PV as Volume Group |
| lvcreate | No | create, remove, alter, resize volumes |
Supported OS
- BSD - cannot boot itself, needs Linux GRUB2 with dualboot
- Linux - full support
ZFS
ZFS is a complete suite to dynamically manage storage and file system.
- support in Linux (via ZFSOnLinux), Solaris, FreeBSD
- needs GRUB2 bootoader
- maximum size of a single zpool is 256 ZB
- storage devices can be used complete as vdev (no need of partitioning)
- zpools are created once and cannot be resized afterwards. Every volume has access to the full capacity of the zpool, this can be reduced via quota.
- it provides several forms of redundancy like mirror (also performance), raid5, raid6 or stripset for performance
- has its own file system with features like compression, copy on write, deduplication.
Programs
The following programs come with sys-fs/zfs
| Program | GUI | Function |
|---|---|---|
| zpool | No | manage and organize vdevs in zpools |
| zfs | No | create, remove, alter, resize volumes |
Supported OS
- BSD - full support
- Linux - build as external module because of the CDDL and GPL licence conflict - mostly supported
- Solaris - full support