Despre Linux

  • Facebook
  • Twitter
  • LinkedIn
  • Acasă
  • Linux
    • Comenzi Linux
    • Tutoriale
  • Kubernetes
  • RHCSA
    • Exerciții RHCSA
    • SELinux
    • Permisiuni
  • General
    • Open source
  • Contact

Exerciții RHCSA - partiționare și montare persistentă în fstab

5 mai 2019 By Bobses Lasă un comentariu

Aceste exerciții trebuie făcute de multe ori, astfel încât să nu aveți absolut deloc ezitări în momentul execuției lor. Atașarea permanentă a unui device la un sistem Linux se face editând corespunzător fișierul /etc/fstab.

Pentru laboratoarele de partiționare, recomand o mașină virtuală cu 2 sau 3 discuri virtuale suplimentare atașate:

# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 4.3G 0 rom 
vda 252:0 0 20G 0 disk 
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 19G 0 part 
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
vdb 252:16 0 1G 0 disk 
vdc 252:32 0 1G 0 disk 
vdd 252:48 0 1G 0 disk 

Înainte de a începe, vreau să reamintesc câteva aspecte esențiale. În prezent, există 2 tipuri de tabele de partiții: MBR (Master Boot Record) folosit de BIOS (Basic Input and Output) și GPT (Globally Unique Disk Identifier Partition Table) folosit de UEFI (Unified Extensible Firmware Interface).

În schema MBR putem avea maxim 4 partiții primare (dacă vrem mai multe partiții pe un hard disk, ultima partiție va fi extinsă, iar în interiorul său putem adăuga mai multe partiții logice), dimensiunea maximă a fiecărei partiții fiind de 2TB. Dacă MBR-ul este corupt (da, se poate întâmpla foarte ușor), întregul disc devine de necitit.

În schema GPT, putem avea maxim 128 de partiții primare pe un disc, dimensiunea maximă a fiecărei partiții fiind de 9,4 ZB (zebibytes) - dispare, astfel, necesitatea partiției extinse. GPT stochează un backup al tabelei de partiții, astfel încât, în cazul în care tabela de partiții primară este coruptă, aceasta să poată fi recuperată din backup, accesarea și citirea discului nefiind afectată.

Pentru partiționare, cele mai ușor de folosit comenzi sunt fdisk și gdisk - prima este pentru schema de partiționare MBR, iar a doua pentru GPT. Utilizarea lor este asemănătoare, astfel încât, dacă învățați să lucrați cu fdisk, nu veți avea probleme nici cu gdisk.

Acestea fiind spuse, să începem!

1. Creați o partiție de 200 MB pe discul /dev/vdd.

Vom lista partițiile existente (în cazul în care acestea există):

# fdisk -l /dev/vdd

Facem partiția cerută cu fdisk:

# fdisk /dev/vdd
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xe37224f3.

Command (m for help):  n

Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended

Select (default p): p
Partition number (1-4, default 1): 1

First sector (2048-2097151, default 2048): ENTER

Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151): +200M


Partition 1 of type Linux and of size 200 MiB is set

Command (m for help): p

Disk /dev/vdd: 1073 MB, 1073741824 bytes, 2097152 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xe37224f3

Device Boot Start End Blocks Id System
/dev/vdd1 2048 411647 204800 83 Linux

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

La finalul oricărei partiționări, vom da comanda partprobe pentru a informa sistemul de operare despre modificarea tabelei de partiții, după care vom lista din nou discurile și vom verifica existența partiției nou-createȘ

# partprobe
# lsblk 
[...]
vdd 252:48 0 1G 0 disk 
└─vdd1 252:49 0 200M 0 part 
vde 252:64 0 1G 0 disk 

 

2. Creați un sistem de fișiere XFS pe această partiție. 

# mkfs -t xfs /dev/vdd1

Verificăm:

# file -s /dev/vdd1
/dev/vdd1: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)

 

3. Etichetați partiția nou creată (/dev/vdd1) cu eticheta "MyXFS".

Fiind un sistem de fișiere XFS, vom folosi comanda xfs_admin:

  • vom afișa eticheta curentă (observăm că nu există nicio etichetă):
# xfs_admin -l /dev/vdd1
label = ""
  • aplicăm exticheta cerută:
# xfs_admin -L "MyXFS" /dev/vdd1
writing all SBs
new label = "MyXFS"
  • verificăm eticheta aplicată:
# xfs_admin -l /dev/vdd1
label = "MyXFS"

 

4. Creați o nouă partiție pe discul /dev/vdd, cu mărimea de 300MB. Formatați-o EXT4 și aplicați-i eticheta "MyEXT4".

Pentru această cerință vom repeta pașii de mai sus, cu mici modificări: la partiționare, vom avea grijă să specificăm mărimea cerută (+300M), iar formatarea o vom face cu comanda mkfs.ext4.

# fdisk /dev/vdd

Comanda lsblk ne va afișa:

vdd 252:48 0 1G 0 disk 
├─vdd1 252:49 0 200M 0 part 
└─vdd2 252:50 0 300M 0 part 

Formatăm ext4 partiția /dev/vdd2:

# mkfs -t ext4 /dev/vdd2

Verificăm:

# file -s /dev/vdd2
/dev/vdd2: Linux rev 1.0 ext4 filesystem data, UUID=22787aef-917f-45b8-887c-1deb0021aead 

Aplicăm eticheta cerută folosind ori comanda tune2fs, ori e2label:

# tune2fs -L "MyEXT4" /dev/vdd2

SAU:

# e2label /dev/vdd2 "MyEXT4"

Verificăm noua etichetă aplicată:

# e2label /dev/vdd2
MyEXT4

 

5. Montați permanent sistemul de fișiere MyXFS în directorul /mnt/xfs (folosiți UUID - Universally Unique IDentifier), iar sistemul de fișiere MyEXT4 în directorul /mnt/ext4.

Despre fișierul /etc/fstab am mai scris aici.

# mkdir -p /mnt/{xfs,ext4}

Vom afișa UUID-ul pentru sistemul de fișiere XFS:

# blkid
# blkid | grep vdd1 | awk '{print $3}'
UUID="505d7ec2-6302-4f3a-a60a-2cef855d652c"

Copiem acest UUID în /etc/fstab astfel:

# blkid | grep vdd1 | awk '{print $3}' >> /etc/fstab

Edităm fișierul /etc/fstab, astfel încât cele 2 linii adăugate să arate ca mai jos (prima linie este pentru sistemul de fișiere XFS montat în /mnt/xfs, iar a doua pentru sistemul de fișiere ext4 montat în /mnt/ext4):

# vi /etc/fstab
UUID=505d7ec2-6302-4f3a-a60a-2cef855d652c /mnt/xfs xfs defaults 0 0
/dev/vdd2 /mnt/ext4 ext4 defaults 0 0

SAU a doua partiție poate fi montată după etichetă, ca mai jos:

LABEL=MyEXT4 /mnt/ext4 ext4 defaults 0 0

Salvăm și facem verificarea dând comanda de mai jos (montează tot ceea ce apare în /etc/fstab):

# mount -a

Dacă nu apare nicio eroare, verificăm montarea celor 2 partiții:

# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/vdd1 xfs 197M 11M 187M 6% /mnt/xfs
/dev/vdd2 ext4 283M 2.1M 262M 1% /mnt/ext4

 

6. Creați o nouă partiție pe spațiul rămas liber pe discul /dev/vdd și montați-o permanent ca swap folosind UUID.

Verificăm swap-ul existent:

# free -m
total used free shared buff/cache available
Mem: 3950 136 3668 8 144 3601
Swap: 2568 0 2568

Verificăm partițiile care, în acest moment, sunt montate ca swap în sistem:

# swapon -s
Filename Type Size Used Priority
/dev/vdb6 partition 533500 0 -2
/dev/dm-1 partition 2097148 0 -3

Facem o nouă partiție pe /dev/vdd și vom folosi întreg spațiul rămas liber. Pașii de partiționare sunt aproape identici, cu deosebirea că TREBUIE să aplicăm codul 82 (Linux Swap) partiției nou-create. Urmăriți mai jos (voi marca ceea ce trebuie făcut altfel în acest caz):

# fdisk /dev/vdd
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): p

Disk /dev/vdd: 1073 MB, 1073741824 bytes, 2097152 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xe37224f3

Device Boot Start End Blocks Id System
/dev/vdd1 2048 411647 204800 83 Linux
/dev/vdd2 411648 1026047 307200 83 Linux

Command (m for help): n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): p
Partition number (3,4, default 3): ENTER
First sector (1026048-2097151, default 1026048): ENTER
Using default value 1026048
Last sector, +sectors or +size{K,M,G} (1026048-2097151, default 2097151): ENTER (folosește tot spațiul rămas)
Using default value 2097151
Partition 3 of type Linux and of size 523 MiB is set

Command (m for help): t
Partition number (1-3, default 3): 3
Hex code (type L to list all codes): L

Hex code (type L to list all codes): 82
Changed type of partition 'Linux' to 'Linux swap / Solaris'

Command (m for help): p

Device Boot Start End Blocks Id System
/dev/vdd1 2048 411647 204800 83 Linux
/dev/vdd2 411648 1026047 307200 83 Linux
/dev/vdd3 1026048 2097151 535552 82 Linux swap / Solaris

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

Nu uitați de comanda partprobe la final.

Marcăm noua partiție ca swap:

# mkswap /dev/vdd3
Setting up swapspace version 1, size = 535548 KiB
no label, UUID=85a8f830-5463-4b96-901d-0efd48e791c3

Copiem UUID-ul noii partiții în fstab pentru a adăuga rândul aferent ei:

- copiem întreg rândul cu UUID-ul noii partiții, urmând să-l edităm în fstab

# blkid | grep vdd3 >> /etc/fstab

- SAU copiem doar UUID-ul (este metoda preferată de mine)

# blkid | grep vdd3 | awk '{print $2}' >> /etc/fstab

Edităm fișierul /etc/fstab, iar linia cporespunzătoare noii partiții swap va arăta ca mai jos:

# vi /etc/fstab
UUID=85a8f830-5463-4b96-901d-0efd48e791c3 swap swap defaults 0 0

Montăm ca swap partiția /dev/vdd3 marcată în /etc/fstab:

# swapon -a

Afișăm toate partițiile montate ca swap (observăm că, în plus față ceea ce era anterior, acum avem și partiția /dev/vdd3):

# swapon -s
Filename Type Size Used Priority
/dev/vdb6 partition 533500 0 -2
/dev/dm-1 partition 2097148 0 -3
/dev/vdd3 partition 535548 0 -4

Verificăm totalul memoriei swap (observăm că swap-ul este mărit exact cu dimensiunea partiției /dev/vdd3):

[[email protected] ~]# free -m
total used free shared buff/cache available
Mem: 3950 137 3650 8 162 3592
Swap: 3091 0 3091

Acum, dacă nu am avut erori după comenzile mount -a și swapon -a, este OBLIGATORIU să restartăm mașina virtuală, pentru a ne asigura că toate exercițiile de partiționare au fost făcute corect.

Dacă în timpul examenului RHCSA mașina nu pornește după reboot, înseamnă că ați făcut ceva greșit (de cele mai multe ori ați scris ceva greșit în fstab și nu ați mai verificat cu mount -a sau swapon -a). În acest caz, bootați în rescue.target (va face obiectul unui alt articol) și modificați corespunzător fișierul /etc/fstab.

Partajează asta:

  • Dă clic pentru a partaja pe Facebook(Se deschide într-o fereastră nouă)
  • Dă clic pentru a partaja pe LinkedIn(Se deschide într-o fereastră nouă)
  • Dă clic pentru a partaja pe Twitter(Se deschide într-o fereastră nouă)

Similare

Din categoria: Exerciții RHCSA Etichete: disc, exercitii RHCSA, fstab, hard disk, montare, RHCSA, swap

Lasă un răspuns Anulează răspunsul

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.

Copyright © 2023 · Bobses

Administrează consimțămintele pentru cookie-uri
Pentru a oferi cea mai bună experiență, folosim tehnologii, cum ar fi cookie-uri, pentru a stoca și/sau accesa informațiile despre dispozitive. Consimțământul pentru aceste tehnologii ne permite să procesăm date, cum ar fi comportamentul de navigare sau ID-uri unice pe acest site. Dacă nu îți dai consimțământul sau îți retragi consimțământul dat poate avea afecte negative asupra unor anumite funcționalități și funcții.
Funcționale Mereu activ
Stocarea tehnică sau accesul sunt strict necesare în scopul legitim de a permite utilizarea unui anumit serviciu cerut în mod explicit de către un abonat sau un utilizator sau în scopul exclusiv de a executa transmiterea unei comunicări printr-o rețea de comunicații electronice.
Preferințe
Stocarea tehnică sau accesul este necesară în scop legitim pentru stocarea preferințelor care nu sunt cerute de abonat sau utilizator.
Statistici
Stocarea tehnică sau accesul care sunt utilizate exclusiv în scopuri statistice. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
Stocarea tehnică sau accesul sunt necesare pentru a crea profiluri de utilizator pentru a trimite publicitate sau pentru a urmări utilizatorul pe un site web sau pe mai multe site-uri web în scopuri de marketing similare.
Administrează opțiunile Administrează serviciile Administrează vânzătorii Citește mai multe despre aceste scopuri
Vizualizează preferințele
{title} {title} {title}