Situatie
Extinderea dimensiunii unui disk LVM prin adăugarea unui disc nou
Solutie
Pasi de urmat
Identificarea tipului de partitie
Deoarece aceasta metoda se concentreaza pe lucrul cu LVM, vom confirma in primul rand ca tipul nostru de partitie este Linux LVM prin rularea comenzii de mai jos
După cum se poate vedea în imaginea de mai sus /dev/sda5 este listat ca “Linux LVM” și are ID-ul 8e. Codul 8e hex arată că este un o partitie de tip linux LVM, în timp ce 83 arată o partiție Linux nativa.
Mai jos este informația de disc care arată că configurarea noastră inițială are doar discul de 20GB, care se află sub volumul logic denumit /dev/mapper/Mega-root – aceasta este ceea ce vom fi extinde cu noul disc.
Rețineți că /dev/mapper/Mega-root este volumul alcătuit din /dev/sda5 – aceasta este partitia ceea care se va extinde.
Detectarea noului spațiu pe disc
În exemplul prezent după ce s-a adăugat discul suplimentar afișat prin comanda” fdisk -l” se poate vedea cel de-al doilea disc cu eticheta /dev/sdb. De asemenea, este demn de remarcat faptul că aceasta arată că nu conține o tabelă de partiții valabil.
echo “- – -“ > /sys/class/scsi_host/host0/scan
Pentru a evita repornirea serverului ar putea fi necesar să scanați din nou dispozitivele sau se poate evita acest lucru cu comanda de mai jos. Rețineți că poate fi necesar să se schimbe host0, in functie de configuratie
Dacă aveți probleme detectarea noul disc, doar a efectua o repornire și ar trebui să apoi afișa corect.
Partitionarea noului disk
Vom avea nevoie sa partitionam noul disk pentru a-l putea utiliza. In acest caz vom folosi utililitarul fdisk
fdisk /dev/sdb
Acest lucru ar trebui să ne furnizeze promptul ca in exemplul de mai jos
‘N’ a fost selectat pentru a adăuga o nouă partiție.
root@Mega:~# fdisk /dev/sdb
Command (m for help): n
‘p’ este apoi selectat ca sa facem o partitie primara
Command action
e extended
p primary partition (1-4)
p
Deoarece acesta este un disc nou, nu avem încă niciun partiții pe el asa ca vom folosi partiția 1 aici.
Partition number (1-4): 1
În continuare vom apăsa tasta Enter de două ori, așa cum în mod implicit prima și ultimii cilindrii spațiul nealocat trebuie să fie corecte.
First cylinder (1-2610, default 1): “enter”
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): “enter”
Using default value 2610
‘t’ este selectat pentru a trece la ID-ul sistemului de o partiție a lui, în acest caz, ne vom schimba la ‘1’ în mod automat ca acest lucru este în prezent singura noastră partiție.
Command (m for help): t
Selected partition 1
Codul hex “8e” a fost introdus ca acest lucru este codul pentru un Linux LVM care este ceea ce ne dorim această partiție să fie, așa cum va fi ea unindu-se cu LVM originală Linux, care este prezent, folosind / dev / sda5.Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)
‘W’ este folosit pentru a scrie tabelul pe disc și la ieșire, toate modificările care au fost realizate vor fi salvate și atunci va fi ieșit din fdisk.Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Prin utilizarea “fdisk -l” acum va fi capabil să vadă că / dev / sdb1 este listat, aceasta este noua partiție creată pe nou adăugat / dev / sdb disc noastră și se utilizează în prezent tot de 20GB de spațiu.
Extinderea volumului logic
În continuare vom utiliza comanda pvcreate pentru a crea un volum fizic pentru o utilizare ulterioară de către LVM. În acest caz, volumul fizic va fi noul nostru /dev/sdb1.
# pvcreate /dev/sdb1
Physical volume “/dev/sdb1” successfully created
Acum, avem nevoie pentru a confirma numele grupului de volum curent folosim comanda vgdisplay. Numele va varia în funcție de configurarea serverului. Vgdisplay oferă o mulțime de informații cu privire la grupul de volum, cum ar fi numele și mărimea actuală a acesteia
root@Mega:~# vgdisplay
— Volume group —
VG Name Mega
VG Size 19.76 GiB
Acum folosind comanda vgextend, vom extinde grupul volum “Mega”, prin adăugarea volumului fizic /dev/sdb1 pe care am creat-o anterior folosind comanda pvcreate.
.root@Mega:~# vgextend Mega /dev/sdb1
Volume group “Mega” successfully extended
Folosind comanda pvscan am scanat toate discurile pentru volumele fizice, acest lucru ar trebui să confirme partitia initiala /dev/sda5 și volumul fizic nou creat /dev/sdb1
root@Mega:~# pvscan
PV /dev/sda5 VG Mega lvm2 [19.76 GiB / 0 free]
PV /dev/sdb1 VG Mega lvm2 [19.99 GiB / 19.99 GiB free]
Total: 2 [39.75 GiB] / in use: 2 [39.75 GiB] / in no VG: 0 [0 ]
Pentru a crește volumul logic vom folosi comanda lvextend. Acest lucru înseamnă că va lua volumul nostru logic original care se extinde peste noul nostru cu /dev/sdb1.
Mai întâi confirmam numele volumului logice folosind lvdisplay. Numele va varia în funcție de configurarea serverului.
root@Mega:~# lvdisplay
— Logical volume —
LV Name /dev/Mega/root
LV Size 18.91 GiB
Volumul logic este apoi extins folosind comanda lvextend. In acest exemplu extindem volumul logic original /dev/ Mega/root peste noua partitie /dev/sdb1
root@Mega:~# lvextend /dev/Mega/root /dev/sdb1
Extending logical volume root to 38.90 GiB
Logical volume root successfully resized
Dacă se doreste se poate executa comanda vgdisplay pentru a confirma dimensiunea grupului volum și respectiv volumul logic:
LV Size 38.90 GiB
VG Size 39.75 GiB
Cu toate acestea, dacă executam comandă “df” pentru a vedea spațiul disponibil pe disc nu va fi schimbat încă, deoarece avem nevoie sa redimensionam sistemul de fișiere utilizând comanda resize2fs, în scopul de a face uz de spațiul suplimentar adaugat
root@Mega:~# resize2fs /dev/Mega/root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/Mega/root is mounted on /; on-line resizing required
old desc_blocks = 2, new_desc_blocks = 3
Performing an on-line resize of /dev/Mega/root to 10196992 (4k) blocks.
The filesystem on /dev/Mega/root is now 10196992 blocks long.
În cazul in care sistemul de fișiere este xfs (implicit in RedHat 7/CentOS 7) sistemul de fisiere il vom extinde cu comanda “xfs_growfs /dev/Mega-root”.
Pentru redimensionarea manuala a sistemul de fișiere, se poate utiliza în schimb si comanda lvextend cu opțiunea -r care va redimensiona automat sistemul de fișiere pentru a face uz de spațiul suplimentar.
Rularea comenzii “df” arată acum spațiul existent pe partitia /dev/mapper/Mega-root rezultar in urma extinderii partitiei.
Leave A Comment?