Get 50% Discount Offer 26 Days

Recommended Services
Supported Scripts
WordPress
Hubspot
Joomla
Drupal
Wix
Shopify
Magento
Typeo3
How to Create Partitions in Linux for Your VPS: A Beginner-to-Advanced Guide

Creating partitions in Linux is a key skill for managing storage on Virtual Private Servers (VPS). Whether you’re new to Linux or have some experience, this guide will walk you through the fundamentals and then explore advanced techniques. Partitioning allows you to optimize space, manage resources effectively, and improve the organization of your server’s data. Let’s dive into partitioning on Linux, with a focus on VPS configurations.

1. Introduction to Linux Partitions on VPS

Partitioning is dividing a disk into segments, allowing each section to act independently. On a VPS, partitioning helps you manage data better, isolate different parts of your system, and back up individual segments if needed.

Why Partitioning Matters on VPS

  • Improved Data Management: Partitioning makes it easier to categorize data.
  • Increased Security: Isolating system and user data reduces risks.
  • Efficient Resource Allocation: By setting specific sizes for each partition, you gain control over disk space.
  • Backup and Recovery: Specific partitions are easier to back up and restore.

Whether setting up a web server, database, or personal projects, partitioning gives structure to your server’s storage.

What are Partitions on Linux?

Root Partition (/): The root partition holds core system files and essential binaries, serving as the main directory for the Linux operating system. It is crucial for the system’s functionality as all other directories are mounted under it.

Home Partition (/home): This partition stores user-specific files, such as documents and settings, separately from system files, allowing user data to remain safe during system updates or reinstalls.

Swap Partition: The swap partition acts as virtual memory, using disk space to support RAM when it’s full. It helps manage memory-intensive processes, improving system performance and stability.

Boot Partition (/boot): This partition contains essential boot files, including the Linux kernel and bootloader. Separating it from other partitions safeguards critical files needed to start the OS.

EFI Partition (/boot/efi): On systems using UEFI, this partition holds files necessary for booting in UEFI mode, typically formatted in FAT32. It’s essential for compatibility with modern UEFI firmware.

These partitions improve organization, security, and performance by separating system, user, and critical data.

2. Getting Started with Disk Partitions

Key Terms to Know

  • Primary Partition: A directly usable section of your disk (maximum of four per disk on traditional MBR).
  • Extended Partition: A workaround that lets you create more than four partitions.
  • Logical Partition: Sections within an extended partition; used to bypass the four-partition limit.
  • File System: The structure for organizing files and directories within a partition.

Understanding these terms will help as we explore partitioning methods.

Check Current Disk Layout

To view the current partitions on your VPS, use the following command:

lsblk
Check Current Disk Layout

This command shows a tree-like structure of your disk and its partitions, helping you decide how to allocate your space.

3. Partitioning Tools in Linux

Several tools are available in Linux for creating and managing partitions. The most popular are:

  1. fdisk: A command-line tool for handling MBR partitions.
  2. parted: A powerful command-line utility, suitable for both MBR and GPT partitions.
  3. GParted: A graphical partition editor, useful if you’re managing your VPS with a GUI.

In this guide, we’ll focus on fdisk and parted, as they are command-line based, which is common for VPS environments.

4. Basic Partitioning Using fdisk

fdisk is a straightforward utility for creating and managing partitions on MBR-based disks. Here’s a step-by-step guide to using fdisk:

Step 1: Open fdisk

Open fdisk on the disk you want to partition. For example, if your disk is /dev/sda, type:

sudo fdisk /dev/sda

Step 2: View Existing Partitions

Type p to view existing partitions on the disk.

Command (m for help): p

Step 3: Create a New Partition

To create a new partition, type n and follow the prompts.

  1. Partition Type: Choose between a primary or extended partition.
  2. Partition Number: Select a partition number.
  3. Starting Sector: Press Enter to use the default.
  4. Ending Sector: Define the partition size by entering the last sector.

Step 4: Write Changes to Disk

Once you’re satisfied with your changes, type w to write them to the disk.

Command (m for help): w
Write changes to disk with 'w' command for partition

After this, reboot your system if necessary, to apply the changes.

5. Advanced Partitioning with parted

For more complex partitioning, parted is a robust tool that supports both MBR and GPT disks.

Step 1: Launch parted

Begin by opening parted on the target disk:

sudo parted /dev/sda

Step 2: Set the Partition Table Type

If the disk doesn’t have a partition table, create one using either msdos (MBR) or gpt:

(parted) mklabel gpt
Setting partition table type to GPT using mklabel gpt

Step 3: Create a New Partition

Creating a partition with parted involves specifying the size directly:

(parted) mkpart primary ext4 1MiB 500MiB
Creating a partition with parted involves specifying the size directly

This example creates a primary partition with the ext4 file system, starting at 1MB and ending at 500MB.

Step 4: Verify Partitions

List the partitions with:

(parted) print
Verifying partitions on disk with 'print' command.

When done, exit parted:

(parted) quit
When done, exit parted

6. Logical Volume Management (LVM)

LVM is an advanced partitioning method that adds flexibility. With LVM, you can resize partitions without rebooting or repartitioning.

Setting Up LVM

Initialize the Physical Volume:

sudo pvcreate /dev/sda1
With LVM, you can resize partitions without rebooting or repartitioning
  1. Create a Volume Group:
sudo vgcreate vg_name /dev/sda1
Create a Volume Group
  1. Create a Logical Volume:
sudo lvcreate -L 5G -n lv_name vg_name
Create a Logical Volume
  1. Format the Volume:
sudo mkfs.ext4 /dev/vg_name/lv_name
Format the Volume
  1. Mount the Volume:
sudo mount /dev/vg_name/lv_name /mnt
Mount the Volume

LVM is useful for environments where storage needs fluctuate or grow over time.

7. Mounting Partitions on Your VPS

Mounting connects a partition to a directory so you can access it.

Create a Mount Point:

sudo mkdir /mnt/my_partition
Mounting connects a partition to a directory so you can access it
  1. Mount the Partition:
sudo mount /dev/sda1 /mnt/my_partition
Mount the Partition
  1. Verify the Mount:
    Check with the lsblk command or by listing the contents of the mounted directory.
Verify the Mount

8. Formatting Partitions

A new partition must be formatted with a file system before use. The most common file systems in Linux are ext4, xfs, and btrfs.

Format with mkfs

For ext4, format a partition using:

sudo mkfs.ext4 /dev/sda1
Formatting Partitions with mkfs

For xfs, use:

sudo mkfs.xfs /dev/sda1
Formatting Partitions wit mkfs For xfs

Choose a file system based on your use case. ext4 is popular for its stability, while xfs performs well with large files.

9. Automating Partition Mounting with fstab

The fstab file controls automatic mounting on startup, making it a time-saver for VPS management.

Editing the fstab File

Open the fstab file with your favorite editor:

sudo nano /etc/fstab
Automating Partition Mounting with fstab
  1. Add an entry for your partition:
/dev/sda1   /mnt/my_partition   ext4   defaults   0   2
Add an entry for your partition
  1. Save and close the file.

Test by unmounting and remounting:

sudo umount /mnt/my_partition
Test by unmounting and remounting
sudo mount -a
fstab helps ensure that partitions load automatically

fstab helps ensure that partitions load automatically, simplifying server restarts and reboots.

10. Troubleshooting Common Partition Issues

Partitioning issues can crop up, but most have straightforward solutions.

Issue 1: Disk Space Not Recognized

  • Solution: Ensure the partition is correctly mounted by checking lsblk or df -h.

Issue 2: Unable to Mount a Partition

  • Solution: Check the file system type and fstab entries.

Issue 3: Partitions Not Available on Reboot

  • Solution: Verify the fstab entry for typos or missing fields.

Regularly verify your partition setup to avoid downtime or data loss.

11. Conclusion

Partitioning in Linux, particularly on VPS setups, is a powerful way to optimize storage and manage data. By learning both basic and advanced techniques, you can confidently structure your VPS to meet your specific needs. From using fdisk and parted for partitioning to configuring LVM and automating mounts with fstab, you have the tools to customize your VPS storage efficiently.

About the writer

Vinayak Baranwal Article Author

This article was written by Vinayak Baranwal, For more insightful content or collaboration opportunities, feel free to connect with Vinayak on LinkedIn through the provided link.

Leave a Reply

Your email address will not be published. Required fields are marked *

Lifetime Solutions:

VPS SSD

Lifetime Hosting

Lifetime Dedicated Servers