linux:shell_commands:fdisk

Differences

This shows you the differences between two versions of the page.


linux:shell_commands:fdisk [2019/10/31 09:05] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +====== 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"
 +<code shell>lshw -C disk</code>
 +View existing partition table(s)
 +<code shell>fdisk -l</code>
 +Edit the partition table for my chosen device (in this case, "sdx")
 +<code shell>fdisk /dev/sdx</code>
 +Within FDISK, press:
 +<code>
 +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.
 +</code>
 +Display the new partition table:
 +<code shell>fdisk -l</code>
 +Format the new partition's filesystem as type ext4
 +<code shell>mkfs -t ext4 /dev/sdx1</code>
 +Create a new directory where the new drive will mount into:
 +<code shell>
 +mkdir /storage
 +mount /dev/sdx1 /storage
 +</code>
 +
 +TUNING
 +Remove reserved blocks (i.e. set to 0%), since this drive is just for user data
 +<code shell>tune2fs -m 0 /dev/sdx1</code>
 +Since server is on UPS, Set write-back so apps don't wait for actual disk writes
 +<code shell>tune2fs -o journal_data_writeback /dev/sdx1</code>
 +Mount at boot up using /etc/fstab and also set write-back policy
 +<code shell>vi /etc/fstab</code>
 +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:
 +<code shell>/dev/sdx1 /storage ext4 relatime,errors=remount-ro 0 1</code>
 +  * 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:
 +<code shell>noatime,nodiratime,data=writeback,barrier=0,nobh,errors=remount-ro</code>
 +Reboot to check that everything went well.
 +Remember these commands are destructive! Have backups and be careful!