Create partitions using CLI on linux
First and foremost:
!! WARNING !!
These commands are EXAMPLES. DELETING partitions, MODIFYING and FORMATTING filesystems destroys data and/or may prevent your machine from booting. Make backups. Use at own risk. Try on a machine you don't mind losing all data on. caveat admin.
To quickly set up a drive up as a single ext4 partition… View detected devices of class “DISK”
lshw -C disk
View existing partition table(s)
fdisk -l
Edit the partition table for my chosen device (in this case, “sdx”)
fdisk /dev/sdx
Within FDISK, press:
d ...to delete the current partition n ...to create a new partition p ...to specify it as a PRIMARY partition 1 ...to set it as the 1ST primary partition w ...to write the changes.
Display the new partition table:
fdisk -l
Format the new partition's filesystem as type ext4
mkfs -t ext4 /dev/sdx1
Create a new directory where the new drive will mount into:
mkdir /storage mount /dev/sdx1 /storage
TUNING Remove reserved blocks (i.e. set to 0%), since this drive is just for user data
tune2fs -m 0 /dev/sdx1
Since server is on UPS, Set write-back so apps don't wait for actual disk writes
tune2fs -o journal_data_writeback /dev/sdx1
Mount at boot up using /etc/fstab and also set write-back policy
vi /etc/fstab
Find (or add) the relevant line in fstab for your drive. Parameters in fstab are separated by white space, for example the drive described above might appear as:
/dev/sdx1 /storage ext4 relatime,errors=remount-ro 0 1
- The first parameter identifies the partition (either by /dev/ or a long UUID);
- The second parameter is the path the partition will be mounted to;
- Third is the filesystem type;
- The fourth parameter contains the options;
- Fifth is the dump schedule for backups; and,
- The sixth parameter is pass-number (used to control fsck order).
Change the options (4th parameter) to:
noatime,nodiratime,data=writeback,barrier=0,nobh,errors=remount-ro
Reboot to check that everything went well. Remember these commands are destructive! Have backups and be careful!
- Speedy
su@fs:~$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 55.4M 1 loop /snap/core18/2846 loop1 7:1 0 55.4M 1 loop /snap/core18/2855 loop2 7:2 0 44.4M 1 loop /snap/snapd/23545 loop3 7:3 0 91.9M 1 loop /snap/lxd/32662 loop4 7:4 0 63.7M 1 loop /snap/core20/2434 loop5 7:5 0 44.5M 1 loop /snap/snapd/23771 loop6 7:6 0 63.8M 1 loop /snap/core20/2496 loop7 7:7 0 91.9M 1 loop /snap/lxd/29619 sda 8:0 0 32G 0 disk ├─sda1 8:1 0 512M 0 part /boot/efi └─sda2 8:2 0 31.5G 0 part / sdb 8:16 0 3.5T 0 disk └─sdb1 8:17 0 3.5T 0 part /shared sdc 8:32 0 1T 0 disk └─sdc1 8:33 0 1024G 0 part sr0 11:0 1 1024M 0 rom su@fs:~$ sudo mkfs -t ext4 /dev/sdc1 $ fdisk /dev/sdc n w su@fs:~$ mkfs -t ext4 /dev/sdc1 $ blkid /dev/sda1: UUID="A3E4-5689" TYPE="vfat" PARTUUID="e7003b9a-af04-4f3c-987e-f18603949308" /dev/sda2: UUID="56b502b1-9df0-4cb7-a510-246957938839" TYPE="ext4" PARTUUID="7dcb6a1f-0925-4f00-9c22-4643f8e6988a" /dev/sdb1: UUID="3b02d9b1-940e-46a0-9b48-b25a5f88e329" TYPE="ext4" PARTUUID="1df82f8c-22e8-4c4b-91cc-7921fcb8705f" /dev/loop0: TYPE="squashfs" /dev/loop1: TYPE="squashfs" /dev/loop2: TYPE="squashfs" /dev/loop3: TYPE="squashfs" /dev/loop4: TYPE="squashfs" /dev/loop5: TYPE="squashfs" /dev/loop6: TYPE="squashfs" /dev/loop7: TYPE="squashfs" /dev/sdc1: UUID="6028d925-83c5-4fd3-9e88-3ec1c60f8073" TYPE="ext4" PARTUUID="7bd58fd1-01" su@fs:~$ vim /etc/fstab /dev/disk/by-uuid/6028d925-83c5-4fd3-9e88-3ec1c60f8073 /shared/pub ext4 defaults,noacl 0 0 su@fs:~$ mount -a