Partitioning enables you to split your hard drive into multiple parts, where each part acts as its own hard drive and this is useful when you are installing multiple operating systems in the same machine.
In this article, we will explain how to partition a storage disk in Linux systems such as CentOS, RHEL, Fedora, Debian and Ubuntu distributions.
Creating a Disk Partition in Linux
In this section, we will explain how to partition a storage disk in Linux using the parted command.
The first step is to view the partition table or layout on all block devices. This helps you identify the storage device you want to partition. You can do this using parted or fdisk command. We will use the former for purposes of demonstration, as follows, where the -l flag means list partition layout on all block devices.
# parted -l
From the output of the above command, there are two hard disks attached to the test system, the first is /dev/sda and the second is /dev/sdb.
In this case, we want to partition hard disk /dev/sdb. To manipulate disk partitions, open the hard disk to start working on it, as shown.
# parted /dev/sdb
At the parted prompt, make a partition table by running mklabel msdos or gpt, then enter Y/es to accept it.
(parted) mklabel msdos
Make sure to specify the correct device for partition in the command. If you run parted command without a partition device name, it will randomly pick a storage device to modify.
Next, create a new primary partition on the hard disk and print the partition table as shown.
(parted) mkpart primary ext4 0 10024MB (parted) print
You can create another partition for the reaming space as shown.
(parted) mkpart primary ext4 10.0GB 17.24GB (parted) print
To quit, issue the quit command and all changes are automatically saved.
Next, create the file system type on each partition, you can use the mkfs utility (replace ext4 with the file system type you wish to use).
# mkfs.ext4 /dev/sdb1 # mkfs.ext4 /dev/sdb2
Last but not least, to access the storage space on the partitions, you need to mount them by creating the mount points and mount the partitions as follows.
# mkdir -p /mnt/sdb1 # mkdir -p /mnt/sdb2 # mount -t auto /dev/sdb1 /mnt/sdb1 # mount -t auto /dev/sdb2 /mnt/sdb2
To check if the partitions are actually mounted, run the df command to report file system disk space usage.
# df -hT