Terminalen: Harddiske og partitioner

Grundbegreber

For at forstå måden Linux arbejder med harddiske, tager vi lige et kig på opsætningen af den server du kan sætte op ved hjælp af Ubuntu Guiden (Ubuntuserver_20.04_installation.html). Kommandoen vi har brugt bliver gennemgået længere nede.

NAME TYPE FSTYPE SIZE RO TYPE MOUNTPOINT loop0 loop squashfs 97.9M 1 loop /snap/core/10444 loop1 loop squashfs 55.4M 1 loop /snap/core18/1932 loop2 loop squashfs 55M 1 loop /snap/core18/1880 loop3 loop squashfs 125.9M 1 loop /snap/docker/471 loop4 loop squashfs 71.3M 1 loop /snap/lxd/16099 loop5 loop squashfs 67.8M 1 loop /snap/lxd/18150 loop6 loop squashfs 31.1M 1 loop /snap/snapd/10492 loop7 loop squashfs 15.3M 1 loop /snap/wormhole/112 loop8 loop squashfs 29.9M 1 loop /snap/snapd/8542 sda disk 100G 0 disk ├─sda1 part 1M 0 part ├─sda2 part ext4 1G 0 part /boot └─sda3 part LVM2_member 99G 0 part └─ubuntu--vg-ubuntu--lv lvm ext4 30G 0 lvm / sr0 rom 1024M 0 rom

I første række er der nævnt 3 forskellige ting: loop, sda og sr0.

Det eneste navn der viser til en fysisk harddisk er sda, og den er på 100 GB. Linux kalder alle disse enheder for et block device - herefter kaldet en blok enhed.

Blok enhed (Block device)

Simpelt fortalt er en blok en fastsat størrelse af data (f.eks. 512 kb), og en blokenhed - ja den kan kan man hente blokke fra og i mange tilfælde også skrive til den. Man kan f.eks. både læse og skrive til en harddisk, men man kan ikke skrive til en almindelig CD.

I billed sprog:

  • En bog = block
  • En reol = block device
  • et bibliotek = cluster

Så alt vi over kan vi altså læse fra ... og skrive til. I eksemplet øverst angiver tallet 1 under RO, at read only er aktiveret.

Beskrivelse fra Wikipedia (engelsk)

In computing (specifically data transmission and data storage), a block, sometimes called a physical record, is a sequence of bytes or bits, usually containing some whole number of records, having a maximum length; a block size. Data thus structured are said to be blocked.

https://en.wikipedia.org/wiki/Block_(data_storage) [15.12.2020]

Her vil jeg gennemgå de 3 blok enhedstyper vi har på serveren:

  • Loops
  • sda
  • sr0

sda

sda er vores fysiske harddisk, og vi kan se at der er 3 partitioner på den:

NAME TYPE FSTYPE SIZE RO TYPE MOUNTPOINT sda disk 100G 0 disk ├─sda1 part 1M 0 part ├─sda2 part ext4 1G 0 part /boot └─sda3 part LVM2_member 99G 0 part └─ubuntu--vg-ubuntu--lv lvm ext4 30G 0 lvm /

Kun to af enhederne er tilgængelige (monteret). /boot (1 GB), indeholder de filer der skal bruges til at boote computeren med og / (30GB) er roden, som indeholder alt andet.

Vi kan altså se at det er muligt både at læse og skrive til dem, da RO = 0.

loop

NAME TYPE FSTYPE SIZE RO TYPE MOUNTPOINT loop0 loop squashfs 97.9M 1 loop /snap/core/10444 loop1 loop squashfs 55.4M 1 loop /snap/core18/1932 loop2 loop squashfs 55M 1 loop /snap/core18/1880 loop3 loop squashfs 125.9M 1 loop /snap/docker/471 loop4 loop squashfs 71.3M 1 loop /snap/lxd/16099 loop5 loop squashfs 67.8M 1 loop /snap/lxd/18150 loop6 loop squashfs 31.1M 1 loop /snap/snapd/10492 loop7 loop squashfs 15.3M 1 loop /snap/wormhole/112 loop8 loop squashfs 29.9M 1 loop /snap/snapd/8542

Et loop er i ubuntu en mappe, der bliver behandlet somom det var en harddisk. Alle loop ligger i mappen /snap.

ls -al /snap
total 40 drwxr-xr-x 9 root root 4096 Dec 14 09:37 . drwxr-xr-x 20 root root 4096 Dec 14 09:03 .. drwxr-xr-x 2 root root 4096 Dec 14 12:41 bin drwxr-xr-x 3 root root 4096 Dec 14 09:36 core drwxr-xr-x 4 root root 4096 Dec 14 12:41 core18 drwxr-xr-x 3 root root 4096 Dec 14 09:37 docker drwxr-xr-x 4 root root 4096 Dec 14 12:41 lxd -r--r--r-- 1 root root 548 Dec 14 09:36 README drwxr-xr-x 4 root root 4096 Dec 14 12:41 snapd drwxr-xr-x 3 root root 4096 Dec 14 09:37 wormhole

snap er et software pakke- og distrubutionssystem, der er udviklet af Canonical, og som virker på tværs af mange Linux distributioner.

Ved at have et program installeret som snap (som små block enheder), svarer det til at det ligger på en harddisk, som ikke er en del af selve systemet. Udvikleren har altså helt styr på hvad der skal opdateres og ændres. Og han ved præcist hvor de ligger i systemet.

sr0

/dev/sr0 er computerens CD/DVD/BR-drev. Selvom du ikke har installeret et drev, så er det registreret som en blok enhed. Ubuntu har altså lavet plads til at der kan komme data ind.

NAME TYPE FSTYPE SIZE RO TYPE MOUNTPOINT sr0 rom 1024M 0 rom

I Linux

Harddisk betegnelser

Linuxsystemet administrerer sine diske ved hjælp af den fysiske placering på bundkortet. Betegnelsen sd står for, at det er en fysisk harddisk. Bogstaverne bagefter står for hvilken harddisk det er.

Når systemet bliver installeret bliver der lavet en enhed i /dev. Harddiskene bliver navngivet på følgende måde:

  • /dev/sda - 1. harddisk
  • /dev/sdb - 2. harddisk
  • /dev/sdc - 3. hardidsk
  • ...

Partitioner

For at kunne bruge en harddiskene skal den have en eller partitoner. Det kan du gøre enten ved hjælp af MBR (Master Boot Record) eller GPT (GUID Partition Table).

MBR
Harddiske op til 2 TB
Maks. 4 primære partitioner
Maks
GPT
Harddiske op til 9,4 ZB (9.400.000.000 TB)
Uendlig - dog ofte begrænset til 128

Selve den fysiske harddisk skal gøres tilgængelig for et filsystem. Det gøres ved hjælp af partitioner (inddelinger), som formateres med et filsystem. Her findes der to typer: primære- og logiske partitioner. De logiske partitioner ligger på en udvidet primær partition.

Sidder du på en Ubuntu 20.04 Desktop, så anvender dit system sandsynligvis MBR

Sidder du på en Ubuntu 20.04 Server, så anvender dit system GPT

MBR

Der kan være 4 primære partitioner på en harddisk. Den 4. primære partition kan bruges til at lave op til 12 logiske partitioner.

dev/sda1
den 1. primære partition
dev/sda2
den 2. primære partition
dev/sda3
den 3. primære partition
dev/sda4
den 4. primære partition eller styrenhed for de logiske drev
dev/sda5
den 1. logiske partition
dev/sda6
den 2. logiske partition
...
dev/sda15
den 15. logiske partition

Systemet herover har oprettet 3 (sda1-3).

GPT

Der kan være mange primære partitioner på en harddisk. I praksis er antallet ofte begrænset til 128.

dev/sda1
den 1. primære partition
dev/sda2
den 2. primære partition
dev/sda3
den 3. primære partition
dev/sda4
den 4. primære partition
dev/sda5
den 5. primære partition
...

Filsystemer

Filsystemet er det som holder styr på hvor data på disken befinder sig.

På Ubuntu anvendes filsystemet EXT4 som standard.

I overblikket herunder anvendes størrelser som PiB og EiB. Du kan finde en oversigt over størrelserne her: Term_data_størrelser.html

EXT4

  • Max. størrelse: 1 EiB
  • Max. filstørrelse: 16 TiB
  • Max. fillængde: 255 bytes
  • Max. Antal filer: 4 mia
  • Introduceret: 2008

Læs mere: https://en.wikipedia.org/wiki/Ext4

XFS

Dette filsystem er blevet standard på RHEL (Red Hat Enterprice Linux) og NASA Advanced Supercomputing Division

  • Max. størrelse: 16 EiB
  • Max. filstørrelse: 16 EiB
  • Max. fillængde: 255 bytes
  • Max. Antal filer: \( 2^{64} \)
  • Introduceret: 1994

Læs mere: https://en.wikipedia.org/wiki/xfs

BTRFS

BTRFS er et såkald COW- system (Copy-On-Write). I praksis betyder det, at det har indbygget en "snapshot" mulighed, så man kan vende tilbage til en tidligere tilstand. Det har også mange andre system tekniske avancerede muligheder.

Filsystemet anvendes som standard af SUSE LES (SUSE Linux Enterprise Server)

  • Max. størrelse: 16 EiB
  • Max. filstørrelse: 16 EiB
  • Max. fillængde: 255 ASCII karakterer
  • Max. Antal filer: \( 2^{64} \)
  • Introduceret: 2009

Læs mere: https://en.wikipedia.org/wiki/Btrfs

Andre filsystemer

FAT32

  • Max. størrelse: 16 TiB
  • Max. filstørrelse: 256 GiB
  • Max. fillængde: 255 bytes
  • Max. Antal filer: 268 mio.
  • Introduceret: 1996

Læs mere: https://en.wikipedia.org/wiki/fat32

NTFS

  • Max. størrelse: 256 TiB
  • Max. filstørrelse: 8 PiB
  • Max. fillængde: 255 bytes
  • Max. Antal filer: 4,3 mia (\( 2^{32}-1 \))
  • Introduceret: 1993

Læs mere: https://en.wikipedia.org/wiki/NTFS

lsblk

lsblk bruges til at få overblik over systemets harddiske. Det var den kommando der gav os overblikket i starten af siden.

lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 97.9M 1 loop /snap/core/10444 loop1 7:1 0 55.4M 1 loop /snap/core18/1944 loop2 7:2 0 55.4M 1 loop /snap/core18/1932 loop3 7:3 0 125.9M 1 loop /snap/docker/471 loop4 7:4 0 71.3M 1 loop /snap/lxd/16099 loop5 7:5 0 67.8M 1 loop /snap/lxd/18150 loop6 7:6 0 15.3M 1 loop /snap/wormhole/112 loop7 7:7 0 31.1M 1 loop /snap/snapd/10492 loop8 7:8 0 29.9M 1 loop /snap/snapd/8542 sda 8:0 0 100G 0 disk ├─sda1 8:1 0 1M 0 part ├─sda2 8:2 0 1G 0 part /boot └─sda3 8:3 0 99G 0 part └─ubuntu--vg-ubuntu--lv 253:0 0 30G 0 lvm / sr0 11:0 1 1024M 0 rom

For undgå at få alle loop-enhederne med tilføjer vi optionen -e7

lsblk -e7
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk ├─sda1 8:1 0 1M 0 part ├─sda2 8:2 0 1G 0 part /boot └─sda3 8:3 0 99G 0 part └─ubuntu--vg-ubuntu--lv 253:0 0 30G 0 lvm / sr0 11:0 1 1024M 0 rom

lsblk kan give langt flere informationer ved at angive nogle options. Kommandoen skal køres som root, da nogle af informationerne kræver root-rettigheder

sudo lsblk -e7 -o name,type,fstype,size,ro,type,mountpoint
NAME TYPE FSTYPE SIZE RO TYPE MOUNTPOINT sda disk 100G 0 disk ├─sda1 part 1M 0 part ├─sda2 part ext4 1G 0 part /boot └─sda3 part LVM2_member 99G 0 part └─ubuntu--vg-ubuntu--lv lvm ext4 30G 0 lvm / sr0 rom 1024M 0 rom

Vi kan se at sda er delt ind i 3 partitioner og hvad de er sat op som.

Vi kan også gøre output mere brugervenligt, f.eks. hvis vi kun vil se navn (placering), fstype (filtype) og monteringspunkt (mountpoint)

sudo lsblk -e7 -o name,fstype,mountpoint
NAME FSTYPE MOUNTPOINT sda ├─sda1 ├─sda2 ext4 /boot └─sda3 LVM2_member └─ubuntu--vg-ubuntu--lv ext4 / sr0

Vi kan også filtrere ved hjælp af grep, så vi kun finder de linier der indeholder vores søgning.

sudo lsblk -e7 -o name,fstype,mountpoint | grep sda
NAME FSTYPE MOUNTPOINT sda ├─sda1 ├─sda2 ext4 /boot └─sda3 LVM2_member

Eller hvis vi vil finde alle partitioner der er på sda og/eller der er formateret med ext

sudo lsblk -e7 -o name,fstype,mountpoint | grep "sda\|ex4"
sda ├─sda1 ├─sda2 ext4 /boot └─sda3 LVM2_member └─ubuntu--vg-ubuntu--lv ext4 /

Find dine harddiske

Fremgangsmåden til at konfigurere en harddisk er, at den skal:

  1. Identificeres,
  2. Partitioneres,
  3. Formateres og
  4. Monteres

lsblk viser hvad operativsystemet kan se. Hvis vi ønsker at kigge på selve harddisken skal vi anvende programmet parted. parted skal køres som root Dette program konfigurerer selve harddisken og hvordan den er inddelt.

sudo parted -l
Model: ATA VBOX HARDDISK (scsi) Disk /dev/sda: 107GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 2097kB 1049kB bios_grub 2 2097kB 1076MB 1074MB ext4 3 1076MB 107GB 106GB Model: Linux device-mapper (linear) (dm) Disk /dev/mapper/ubuntu--vg-ubuntu--lv: 32.2GB Sector size (logical/physical): 512B/512B Partition Table: loop Disk Flags: Number Start End Size File system Flags 1 0.00B 32.2GB 32.2GB ext4

sda blliver gjort tilgængelig for Linux ved hjælp af filen /etc/fstab. Vi kan kigge på filen ved hjælp af cat.

cat /etc/fstab
# /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/ubuntu-vg/ubuntu-lv during curtin installation /dev/disk/by-id/dm-uuid-LVM-5foacIv7aI3Fuz8tf2KlDE8OJ3cmezW6oep8ijeIRlOKJ1m54NkpmIZqhu439hfM / ext4 defaults 0 0 # /boot was on /dev/sda2 during curtin installation /dev/disk/by-uuid/f7edd0c3-3730-4ad6-ae7e-4eb45afc3ba2 /boot ext4 defaults 0 0 /swap.img none swap sw 0 0

Det er meget rodet, men det der står om den første disk er:

file
/dev/disk/by-id/dm-uuid-LVM-5foacIv7aI3Fuz8tf2KlDE8OJ3cmezW6oep8ijeIRlOKJ1m54NkpmIZqhu439hfM
mount point
/
type
ext4
options
default
dump
0
pass
0

Det lange filnavn er en UUID (Universally Unique IDentifier ), som er specielt for lige præcis den harddisk. Det er et ekstra sikkerhedsniveau.

Partitionering (parted)

Harddiske partitioneres af programmet parted.

Her vil vi partitionere end ny harddisk vi sætter på systemet, som bliver genkendt som /dev/sdb. Harddisken er på 100 GB, og vi lave to partitioner på henholdsvis 30GB og 70 GB.

Vi ser på harddiskene på systemet efter vi har sat den nye disk i.

sudo parted -l
Model: ATA VBOX HARDDISK (scsi) Disk /dev/sda: 107GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 2097kB 1049kB bios_grub 2 2097kB 1076MB 1074MB ext4 3 1076MB 107GB 106GB Error: /dev/sdb: unrecognised disk label Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdb: 107GB Sector size (logical/physical): 512B/512B Partition Table: unknown Disk Flags: Model: Linux device-mapper (linear) (dm) Disk /dev/mapper/ubuntu--vg-ubuntu--lv: 32.2GB Sector size (logical/physical): 512B/512B Partition Table: loop Disk Flags: Number Start End Size File system Flags 1 0.00B 32.2GB 32.2GB ext4

Her kan vi se vi får en fejl ved linien ERROR: /dev/dsb, som jeg har markeret med rødt. Det er fordi den endnu ikke har en partitionstabel.

Åbn /dev/sdb med parted

sudo parted /dev/sdb
GNU Parted 3.3 Using /dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)

Læg mærke til at vi får en ny kommandoprompt. Først kan vi kigge på hvad vi kan ved at skrive kommandoen help.

help
align-check TYPE N check partition N for TYPE(min|opt) alignment help [COMMAND] print general help, or help on COMMAND mklabel,mktable LABEL-TYPE create a new disklabel (partition table) mkpart PART-TYPE [FS-TYPE] START END make a partition name NUMBER NAME name partition NUMBER as NAME print [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partition quit exit program rescue START END rescue a lost partition near START and END resizepart NUMBER END resize partition NUMBER rm NUMBER delete partition NUMBER select DEVICE choose the device to edit disk_set FLAG STATE change the FLAG on selected device disk_toggle [FLAG] toggle the state of FLAG on selected device set NUMBER FLAG STATE change the FLAG on partition NUMBER toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER unit UNIT set the default unit to UNIT version display the version number and copyright information of GNU Parted

Hvis du på noget tidspunkt bliver i tvivl om du har gjort det rigtigt kan du altid trykke Ctrl+c. Så stopper du programmet.

Lav en GPT partionstabel

mklabel gpt

Sæt standardenheden til GB

unit gb

Vi tager et overblik

print
Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdb: 107GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags

Vi kan se at parted ser en harddisk på 107GB (da 107GB = 100GiB). Vi ændrer derfor harddiskene til henholdsvis 32GB og 75GB.

Lav en ext4 partiton på 32GB (fra 0 - 32 GiB)

mkpart primary ext4 0 32

Lav en ext4 partiton på 75GiB (fra 32-107 GiB)

mkpart primary ext4 32 107

Vi laver en udskrift for at se om alt er korrekt.

print
Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdb: 107GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 0.00GB 32.0GB 32.0GB ext4 primary 2 32.0GB 107GB 75.4GB ext4 primary

Det er om det skal være og vi forlader parted:

quit

Vi kan lige se hvordan systemet ser den nye harddisk

sudo parted -l
Model: ATA VBOX HARDDISK (scsi) Disk /dev/sda: 107GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 2097kB 1049kB bios_grub 2 2097kB 1076MB 1074MB ext4 3 1076MB 107GB 106GB Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdb: 107GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 32.0GB 32.0GB primary 2 32.0GB 107GB 75.4GB primary Model: Linux device-mapper (linear) (dm) Disk /dev/mapper/ubuntu--vg-ubuntu--lv: 32.2GB Sector size (logical/physical): 512B/512B Partition Table: loop Disk Flags: Number Start End Size File system Flags 1 0.00B 32.2GB 32.2GB ext4

Denne gang kommer der ikke nogen fejlmeddelelse, og hardiskens partitioner står fint frem.

Filsystemer

parted understøtter en del filsystemer. I vores sammenhæng er følgende relevante:

ext4
Linux
FAT32
USB-diske
NTFS
Drev der skal være windows compatible

Du kan finde alle understøttede drev her: https://www.gnu.org/software/parted/manual/parted.html#mkpart

Partitionering med script

Det kan også lade sig gøre at partitionere harddiskene ved hjælp af et script. Se på eksemplet herunder, hvor skråstregen gør at kommandoen laver et linieskift hver gang:

sudo parted /dev/sdb --script \ mklabel gpt \ unit gb \ mkpart primary ext4 0 32 \ mkpart primary ext4 32 107 

Det er måske ikke så smart, når det kun er en harddisk vi skal partitionere... men det kan bruges hvis et system automatisk skal oprette diske fra bunden i et server setup.

Læs mere: https://www.gnu.org/software/parted/manual/parted.html

Formatering

Harddisken skal fomateres til ext4. Det første vi gør er lige at skabe os et overblik:

sudo lsblk -o name | grep sdb
sdb ├─sdb1 └─sdb2

Vi skal altså have formateret harddiskene /dev/sdb1 og /dev/sdb2. Det gør vi med kommandoen mkfs.ext4.

Husk at du gør det på den rigtige harddisk. Hvis du ved en fejl vælger en af dine andre diske, så vil den blive formateret - og alle dine data er væk.

sudo mkfs.ext4 /dev/sdb1
mke2fs 1.45.5 (07-Jan-2020) Creating filesystem with 7812352 4k blocks and 1954064 inodes Filesystem UUID: 623bda93-5cc6-49f3-bcc7-4e09c6d0937a Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
sudo mkfs.ext4 /dev/sdb2
mke2fs 1.45.5 (07-Jan-2020) Creating filesystem with 18401536 4k blocks and 4603904 inodes Filesystem UUID: f835e2c2-a04e-422e-9314-87230522633f Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424 Allocating group tables: done Writing inode tables: done Creating journal (131072 blocks): done Writing superblocks and filesystem accounting information: done

Vi tjekker om harddisken er formateret korrekt

sudo lsblk -o name,fstype | grep ext4
├─sda2 ext4 └─ubuntu--vg-ubuntu--lv ext4 ├─sdb1 ext4 └─sdb2 ext4

Du kan se, at der nu er 4 drev der er formateret med ext4. Nu skal vi have dem monteret på filsystemet

Andre filsystemer

Du kan også formatere diske til andre filsystemer.

For at formatere til NTFS bruger du mkfs.ntfs

sudo mkfs.ntfs -f /dev/sdb1

Læg mærke til optionen -f. Den er sat på, da NTFS drev som standard bliver initialiseret med 0'er.

Hvis du vil formatere til FAT32 bruger du mkfs.vfat.

sudo mkfs.vfat /dev/sdb1

Du kan finde en komplet liste ved at starte med at skrive mkfs på kommendolinjen og så trykke TAB.

tj@server1:~$ mkfs mkfs mkfs.bfs mkfs.btrfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.fat mkfs.minix mkfs.msdos mkfs.ntfs mkfs.vfat mkfs.xfs

Fast montering i filsystemet

Arbejdsgangen når man monterer en disk er følgende:

  1. Oprette en mappe til at montere drevet i.
  2. Monteres på filsystemet (Montering)
  3. Konfigureres (Rettigheder)
  4. Find diskens UUID (sikkerhed)

Her vil vi monteret vores nye partitioner på følgende måde:

  • /dev/sdb1 (32GB )monteres som /srv/backup
  • /dev/sdb2 (75GB )monteres som /srv/data

Opret mapperne og sæt rettigheder

sudo mkdir /srv/backup /srv/backup

Monter på filsystemet

Åbn /etc/fstab med nano

# /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/ubuntu-vg/ubuntu-lv during curtin installation /dev/disk/by-id/dm-uuid-LVM-5foacIv7aI3Fuz8tf2KlDE8OJ3cmezW6oep8ijeIRlOKJ1m54Nk> # /boot was on /dev/sda2 during curtin installation /dev/disk/by-uuid/f7edd0c3-3730-4ad6-ae7e-4eb45afc3ba2 /boot ext4 defaults 0 0 /swap.img none swap sw 0 0

Tilføj disse linier i bunden af filen

#Harddiske der er tilføjet efter installation /dev/sdb1 /srv/backup ext4 defaults 0 2 /dev/sdb2 /srv/data ext4 defaults 0 2

Filen skal se ud som her:

# /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/ubuntu-vg/ubuntu-lv during curtin installation /dev/disk/by-id/dm-uuid-LVM-5foacIv7aI3Fuz8tf2KlDE8OJ3cmezW6oep8ijeIRlOKJ1m54Nk> # /boot was on /dev/sda2 during curtin installation /dev/disk/by-uuid/f7edd0c3-3730-4ad6-ae7e-4eb45afc3ba2 /boot ext4 defaults 0 0 /swap.img none swap sw 0 0 #Harddiske der er tilføjet efter installation /dev/sdb1 /srv/backup ext4 defaults 0 2 /dev/sdb2 /srv/data ext4 defaults 0 2

Genstart serveren

sudo reboot

Efter du har logget på kan du kontrollere, at diskene er monteret korrekt.

sudo lsblk -o name,mountpoint | grep sdb
sdb ├─sdb1 /srv/backup └─sdb2 /srv/data

Læs mere: https://help.ubuntu.com/community/Fstab

Rettigheder

Drevene vi har monteret ovenfor er ejet af root.

ls -al /srv
total 16 drwxr-xr-x 4 root root 4096 Dec 17 08:48 . drwxr-xr-x 20 root root 4096 Dec 14 09:03 .. drwxr-xr-x 3 root root 4096 Dec 17 06:58 backup drwxr-xr-x 3 root root 4096 Dec 17 08:06 data

For at ændre rettigheder på disse drev anvender vi chown og chmod.

I dette eksempel skifter jeg ejerskab til brugeren tj og giver tj alle rettigheder

Ændr ejerskab

sudo chown -R tj:tj /srv/backup /srv/data

Ændr rettigheder

sudo chmod 700 /srv/backup /srv/data

Vi kontrollerer

ls -al /srv
total 16 drwxr-xr-x 4 root root 4096 Dec 17 08:48 . drwxr-xr-x 20 root root 4096 Dec 14 09:03 .. drwx------ 3 tj tj 4096 Dec 17 06:58 backup drwx------ 3 tj tj 4096 Dec 17 08:06 data

Brug UUID (sikkerhed)

Hvis du gerne vil øge sikkerheden, så kan du anvende disken UUID i stedet for harddisken placering (eks: /dev/sdb1)

Vi finder disken UUID.

lsblk -o PATH,UUID | grep sdb
/dev/sdb /dev/sdb1 c7dabb59-10ee-4677-b49c-08a1037085b8 /dev/sdb2 ea24bfad-6db1-4d60-a803-80ff85c3f48e

Her skal du altså lave følgende ændringer

  • /dev/sdb1 erstattes af UUID=c7dabb59-10ee-4677-b49c-08a1037085b8
  • /dev/sdb2 erstattes af UUID=ea24bfad-6db1-4d60-a803-80ff85c3f48e

Åbn /etc/fstab med nano:

sudo nano /etc/fstab
# /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/ubuntu-vg/ubuntu-lv during curtin installation /dev/disk/by-id/dm-uuid-LVM-5foacIv7aI3Fuz8tf2KlDE8OJ3cmezW6oep8ijeIRlOKJ1m54Nk> # /boot was on /dev/sda2 during curtin installation /dev/disk/by-uuid/f7edd0c3-3730-4ad6-ae7e-4eb45afc3ba2 /boot ext4 defaults 0 0 /swap.img none swap sw 0 0 #Harddiske der er tilføjet efter installation /dev/sdb1 /srv/backup ext4 defaults 0 2 /dev/sdb2 /srv/data ext4 defaults 0 2

Kopier de to nederste linier og sæt # foran de første. På den måde kan vi altid få den gamle opsætning tilbage igen. Fremgangsmåde:

  1. Marker tekst
  2. Tryk Alt+6 (kopier)
  3. Flyt cursoren helt ned i bunde
  4. Tryk Ctrl+U (indsæt)
  5. Sæt # foran i de to første linjer
#Harddiske der er tilføjet efter installation #/dev/sdb1 /srv/backup ext4 defaults 0 2 #/dev/sdb2 /srv/data ext4 defaults 0 2 /dev/sdb1 /srv/backup ext4 defaults 0 2 /dev/sdb2 /srv/data ext4 defaults 0 2

Erstat ud fra følgende:

  • /dev/sdb1 erstattes af UUID=c7dabb59-10ee-4677-b49c-08a1037085b8
  • /dev/sdb2 erstattes af UUID=ea24bfad-6db1-4d60-a803-80ff85c3f48e
#Harddiske der er tilføjet efter installation #/dev/sdb1 /srv/backup ext4 defaults 0 2 #/dev/sdb2 /srv/data ext4 defaults 0 2 UUID=c7dabb59-10ee-4677-b49c-08a1037085b8 /srv/backup ext4 defaults 0 2 UUID=ea24bfad-6db1-4d60-a803-80ff85c3f48e /srv/data ext4 defaults 0 2

Genstart serveren og tjek, at partitionerne stadig er monteret.

sudo reboot

Efter serveren er genstartet

sudo lsblk -o name,mountpoint | grep sdb
sdb ├─sdb1 /srv/backup └─sdb2 /srv/data

https://help.ubuntu.com/community/InstallingANewHardDrive

Midlertidig montering

Nogle gange kan vi have brug for at montere en ekstern harddisk eller et USB-drev midlertidig, f.eks. et backup eller et transportdrev.

Her vil vi montere en transportabel harddisk med NTFS, og den registreret som /dev/sdc.

sudo parted -l

Herunder er det kun selve /dev/sdc jeg har vist

Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdc: 107GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 107GB 107GB ntfs USB-BACKUP msftdata

Oprettelse af mappe

Som standard monteres eksterne enheder i mappen /media. Her vil vi oprette mappen /media/transport.

sudo mkdir /media/transport

Tjek mappens rettigheder

ls -al /media
total 12 drwxr-xr-x 3 root root 4096 Dec 17 11:53 . drwxr-xr-x 20 root root 4096 Dec 14 09:03 .. drwxr-xr-x 2 root root 4096 Dec 17 11:53 transport

Montering af NTFS drev

Monter enheden til filsystemet

sudo mount -t ntfs-3g /dev/sdc1 /media/transport

Tjek mappens rettigheder

ls -al /media
total 12 drwxr-xr-x 3 root root 4096 Dec 17 11:53 . drwxr-xr-x 20 root root 4096 Dec 14 09:03 .. drwxrwxrwx 2 root root 4096 Dec 17 11:53 transport

Læg mærke til at rettighederne er blevet ændret så der er fuld adgang til drevet for alle brugere.

Montering af EXT4 drev

Monter enheden til filsystemet

sudo mount /dev/sdc1 /media/transport

Læg mærke til at du ikke skal vælge filsystem, da default er ext4

Tjek mappens rettigheder

ls -al /media
total 12 drwxr-xr-x 3 root root 4096 Dec 17 11:53 . drwxr-xr-x 20 root root 4096 Dec 14 09:03 .. drwxr-xr-x 2 root root 4096 Dec 17 11:53 transport

Læg mærke til at rettighederne IKKE er blevet ændret så det er kun root brugeren der har fuld adgang til drevet.

For at ændre ejerskab til en anden bruger anvendes chown. Her til brugeren tj:

chown tj:tj -R tj:tj /media/transport

Tjek rettigheder

total 12 drwxr-xr-x 3 root root 4096 Dec 17 11:53 . drwxr-xr-x 20 root root 4096 Dec 14 09:03 .. drwxr-xr-x 2 tj tj 4096 Dec 17 11:53 transport

Montering af VFAT/FAT32 drev

Monter enheden til filsystemet

sudo mount -t vfat /dev/sdc1 /media/transport/

Læg mærke til at du ikke skal vælge filsystem, da default er ext4

Tjek mappens rettigheder

ls -al /media
total 12 drwxr-xr-x 3 root root 4096 Dec 17 11:53 . drwxr-xr-x 20 root root 4096 Dec 14 09:03 .. drwxr-xr-x 2 root root 4096 Dec 17 11:53 transport

Læg mærke til at rettighederne IKKE er blevet ændret så det er kun root brugeren der har fuld adgang til drevet.

For at ændre ejerskab til en anden bruger anvendes chown. Her til brugeren tj:

chown tj:tj -R tj:tj /media/transport

Fjern drev

Drevet fjernes med følgende kommando

sudo umount /media/transport

Vi tjekker det er afmonteret

lsblk | grep sdc
sdc 8:32 0 100G 0 disk └─sdc1 8:33 0 100G 0 part /media/transport

Vær opmærksom på at mappen /media/transport ikke er fjernet