eolas/Operating_Systems/Disks.md
2022-06-11 20:30:03 +01:00

2.5 KiB

tags
Linux
Operating_Systems

Disks

A disk is a mass storage device which we can write to and read from.

SCSI

  • Small Computer System Interface
  • Pronounced scuzzy.
  • It is a protocol that allows communicaton between printers, scanners and other peripherals in addition to harddisks.
  • The /sda/ device that is the most common designation for the harddisk in Linux systems stands for SCSI disk.

Disk schematic

The following diagram represents the basic anatomy of a disk device.

  • A disk is divided up into partitions which are subsections of the overall disk. The kernel presents each partition as a block device as it would with an entire disk.
  • The disk dedicates a small part of its contents to a partition table: this defines the different partitions that comprise the total disk space.
  • The filesystem is a database of files and directories: this comprises the bulk of the partition and is of course what you interact with in user space when reading and writing data.

Partitioning disks

Viewing current partitions

Whenever you install a Linux distribution on a real or virtual machine, you must partition the drive. There are three main tools that people choose from: parted, g(raphical)parted, fdisk.

We can use parted -l to view the partition table for the current machine:

Model: SKHynix_HFS512GDE9X081N (nvme)
Disk /dev/nvme0n1: 512GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  513MB   512MB   fat32              boot, esp
 2      513MB   30.5GB  30.0GB  ext4
 3      30.5GB  512GB   482GB   ext4

We can use fdisk -l to get slightly more info:

disk /dev/nvme0n1: 476.94 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: SKHynix_HFS512GDE9X081N                 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 08175E77-CB9F-C34A-9032-DF29A3F8F0FE

Device            Start        End   Sectors   Size Type
/dev/nvme0n1p1     2048    1001471    999424   488M EFI System
/dev/nvme0n1p2  1001472   59594751  58593280  27.9G Linux filesystem
/dev/nvme0n1p3 59594752 1000214527 940619776 448.5G Linux filesystem

So my main harddrive is /dev/nvme0n1 and it has the standard three partitions:

  • Boot partition (/dev/nvme0n1p1)
  • Root dir (/dev/nvme0n1p2)
  • Home dir (/dev/nvme0n1p3)