// Module included in the following assemblies: // // // Base the file name and the ID on the module title. For example: // * file name: proc_creating-a-disk-partition-in-linux.adoc // * ID: [id='creating-a-disk-partition-in-linux'] // The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken. [id='creating-a-disk-partition-in-linux_{context}'] // The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide. = Creating a Disk Partition in Linux // Start the title of a procedure module with a verb, such as Creating or Create. See also _Wording of headings_ in _The IBM Style Guide_. This procedure describes how to partition a storage disk in Linux using the `parted` command. == Procedure . List the partitions using the `parted -l` command to identify the storage device you want to partition. Typically, the first hard disk (`/dev/sda` or `/dev/vda`) will contain the operating system, so look for another disk to find the one you want. For example: + ---- sudo parted -l Model: ATA RevuAhn_850X1TU5 (scsi) Disk /dev/vdc: 512GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 525MB 524MB primary ext4 boot 2 525MB 512GB 512GB primary lvm ---- + . Open the storage device. Use the `parted` command to begin working with the selected storage device. For example: + ---- sudo parted /dev/vdc GNU Parted 3.3 Using /dev/vdc Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) ---- + [IMPORTANT] ==== Be sure to indicate the specific device you want to partition. If you just enter `parted` without a device name, it will randomly select a storage device to modify. ==== + . Set the partition table type to `gpt`, then enter `Yes` to accept it. + ---- (parted) mklabel gpt Warning: the existing disk label on /dev/vdc will be destroyed and all data on this disk will be lost. Do you want to continue? Yes/No? Yes ---- + [NOTE] ==== The `mklabel` and `mktable` commands are both used for making a partition table on a storage device. At the time of writing, the supported partition tables are: `aix`, `amiga`, `bsd`, `dvh`, `gpt`, `mac`, `ms-dos`, `pc98`, `sun`, `atari`, and `loop`. Use `help mklabel` to get a list of supported partition tables. Remember `mklabel` will not make a partition, rather it will make a partition table. ==== . Review the partition table of the storage device. + ---- (parted) print Model: Virtio Block Device (virtblk) Disk /dev/vdc: 1396MB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags ---- + . Create a new partition using the following command. For example, 1396 MB on partition 0: + ---- (parted) mkpart primary 0 1396MB Warning: The resulting partition is not properly aligned for best performance Ignore/Cancel? I (parted) print Model: Virtio Block Device (virtblk) Disk /dev/vdc: 1396MB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 17.4kB 1396MB 1396MB primary ---- + [NOTE] ==== Providing a partition name under GPT is a must; in the above example, primary is the name, not the partition type. In a GPT partition table, the partition type is used as partition name. ==== + . Quit using the `quit` command. Changes are automatically saved when you quit `parted`. + ---- (parted) quit Information: You may need to update /etc/fstab. ---- +