Extindere Disk: Difference between revisions
(→Nota) |
|||
| (31 intermediate revisions by the same user not shown) | |||
| Line 4: | Line 4: | ||
<code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | <code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | ||
--># lsblk | -->  # lsblk | ||
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS |   NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS | ||
...... |   ...... | ||
sdb 8:16 0 10G 0 disk |   sdb 8:16 0 10G 0 disk | ||
└─sdb1 8:17 0 10G 0 part |   └─sdb1 8:17 0 10G 0 part | ||
  ├─vg_wiki-lv_wiki_1 252:1 0 6G 0 lvm /wiki/lv1 |     ├─vg_wiki-lv_wiki_1 252:1 0 6G 0 lvm /wiki/lv1 | ||
  └─vg_wiki-lv_wiki_2 252:2 0 4G 0 lvm /wiki/lv2 |     └─vg_wiki-lv_wiki_2 252:2 0 4G 0 lvm /wiki/lv2 | ||
...... |   ...... | ||
</code> | </code> | ||
De asemenea facem o verificare a mount-urilor pentru disk-ul in scop: | |||
<code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | |||
-->  # df -h | |||
  Filesystem Size Used Avail Use% Mounted on | |||
  ...... | |||
  /dev/mapper/vg_wiki-lv_wiki_1 5.9G 24K 5.6G 1% /wiki/lv1 | |||
  /dev/mapper/vg_wiki-lv_wiki_2 3.9G 24K 3.7G 1% /wiki/lv2 | |||
</code> | |||
=== Extindere HDD === | === Extindere HDD === | ||
| Line 26: | Line 37: | ||
<code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | <code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | ||
--># echo 1 > /sys/block/<span style="color:#f00">sdb</span>/device/rescan | -->  # echo 1 > /sys/block/<span style="color:#f00">sdb</span>/device/rescan | ||
</code> | </code> | ||
| Line 32: | Line 43: | ||
<code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | <code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | ||
--># lsblk | -->  # lsblk | ||
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS |   NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS | ||
...... |   ...... | ||
sdb 8:16 0 <span style="color:#f00"> |   sdb 8:16 0 <span style="color:#f00">20G</span> 0 disk | ||
└─sdb1 8:17 0 10G 0 part |   └─sdb1 8:17 0 10G 0 part | ||
  ├─vg_wiki-lv_wiki_1 252:1 0 6G 0 lvm /wiki/lv1 |     ├─vg_wiki-lv_wiki_1 252:1 0 6G 0 lvm /wiki/lv1 | ||
  └─vg_wiki-lv_wiki_2 252:2 0 4G 0 lvm /wiki/lv2 |     └─vg_wiki-lv_wiki_2 252:2 0 4G 0 lvm /wiki/lv2 | ||
...... |   ...... | ||
</code> | </code> | ||
| Line 47: | Line 58: | ||
<code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | <code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | ||
--># growpart /dev/sdb 1 | -->  # growpart /dev/sdb 1 | ||
CHANGED: partition=1 start=2048 old: size= |   CHANGED: partition=1 start=2048 old: size=31455199 end=31457246 new: size=41940959 end=41943006 | ||
 # pvresize /dev/sdb1 |   # pvresize /dev/sdb1 | ||
  Physical volume "/dev/sdb1" changed |     Physical volume "/dev/sdb1" changed | ||
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized |     1 physical volume(s) resized or updated / 0 physical volume(s) not resized | ||
</code> | |||
Apoi ne asiguram ca extinderea se reflecta pe partitie in OS: | |||
<code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | |||
-->  # lsblk | |||
  NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS | |||
  ...... | |||
  sdb 8:16 0 <span style="color:#f00">20G</span> 0 disk | |||
  └─sdb1 8:17 0 <span style="color:#f00">20G</span> 0 part | |||
    ├─vg_wiki-lv_wiki_1 252:1 0 6G 0 lvm /wiki/lv1 | |||
    └─vg_wiki-lv_wiki_2 252:2 0 4G 0 lvm /wiki/lv2 | |||
  ...... | |||
</code> | |||
=== Extindere Logical Volume === | |||
In continuare dorim sa marim lv_wiki_1 cu 7GB iar restul spatiului disponibil il vom aloca catre lv_wiki_2 | |||
==== Query Logical Volume si Volume Group ==== | |||
Volume group-ul (VG) vg_wiki a fost creeat peste intreaga partitie /dev/sdb1 iar odata cu extinderea partitiei s-a exting si VG-ul | |||
<code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | |||
-->  # vgdisplay vg_wiki | |||
    --- Volume group --- | |||
    VG Name vg_wiki | |||
    System ID | |||
    Format lvm2 | |||
    Metadata Areas 1 | |||
    Metadata Sequence No 8 | |||
    VG Access read/write | |||
    VG Status resizable | |||
    MAX LV 0 | |||
    Cur LV 2 | |||
    Open LV 2 | |||
    Max PV 0 | |||
    Cur PV 1 | |||
    Act PV 1 | |||
    <span style="color:#f00">VG Size <20.00 GiB</span> | |||
    PE Size 4.00 MiB | |||
    Total PE 3839 | |||
    <span style="color:#f00">Alloc PE / Size 2559 / <10.00 GiB</span> | |||
    <span style="color:#f00">Free PE / Size 1280 / 10.00 GiB</span> | |||
    VG UUID LvZwAo-9K3I-Qdvw-x39q-kbGT-9IAn-s7e2Nb | |||
</code> | |||
Pentru a vedea informatiile volumelor logice rulam: | |||
<code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | |||
-->  # lvdisplay | |||
    --- Logical volume --- | |||
    LV Path /dev/vg_wiki/lv_wiki_1 | |||
    LV Name lv_wiki_1 | |||
    VG Name vg_wiki | |||
    LV UUID 4sOD3P-pYEi-S0Tf-OaYb-83B3-NhCM-lqLSdG | |||
    LV Write Access read/write | |||
    LV Creation host, time docktest, 2025-06-27 11:47:34 +0000 | |||
    LV Status available | |||
    # open 1 | |||
    LV Size 6.00 GiB | |||
    Current LE 1536 | |||
    Segments 1 | |||
    Allocation inherit | |||
    Read ahead sectors auto | |||
    - currently set to 256 | |||
    Block device 252:1 | |||
    | |||
    --- Logical volume --- | |||
    LV Path /dev/vg_wiki/lv_wiki_2 | |||
    LV Name lv_wiki_2 | |||
    VG Name vg_wiki | |||
    LV UUID 4UMXIA-7Ftj-UPRf-bccb-Iltw-EoJl-h3U0iZ | |||
    LV Write Access read/write | |||
    LV Creation host, time docktest, 2025-06-27 11:47:43 +0000 | |||
    LV Status available | |||
    # open 1 | |||
    LV Size <4.00 GiB | |||
    Current LE 1023 | |||
    Segments 1 | |||
    Allocation inherit | |||
    Read ahead sectors auto | |||
    - currently set to 256 | |||
    Block device 252:2 | |||
    ...... | |||
</code> | |||
Pentru a vedea informatiile strict necesare in acest caz putem rula: | |||
<code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | |||
-->  # vgs | |||
    VG #PV #LV #SN Attr VSize VFree | |||
    ...... | |||
    vg_wiki 1 2 0 wz--n- <20.00g <span style="color:#f00">10.00g</span> | |||
  # lvs | |||
    LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert | |||
    ...... | |||
    lv_wiki_1 vg_wiki -wi-ao---- 6.00g | |||
    lv_wiki_2 vg_wiki -wi-ao---- <4.00g | |||
</code> | |||
==== Extindere lv_wiki_1 cu 7GB ==== | |||
Extindem mai intai volumul logic: | |||
<code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | |||
-->  # lvextend -r -L+7G /dev/mapper/vg_wiki-lv_wiki_1 | |||
    Size of logical volume vg_wiki/lv_wiki_1 changed from 6.00 GiB (1792 extents) to 13.00 GiB (3328 extents). | |||
    Logical volume vg_wiki/lv_wiki_1 successfully resized. | |||
  resize2fs 1.47.0 (5-Feb-2023) | |||
  Filesystem at /dev/mapper/vg_wiki-lv_wiki_1 is mounted on /wiki/lv1; on-line resizing required | |||
  old_desc_blocks = 1, new_desc_blocks = 2 | |||
  The filesystem on /dev/mapper/vg_wiki-lv_wiki_1 is now 3407872 (4k) blocks long. | |||
</code> | |||
Din verbose-itatea de mai sus observam ca a fost rulat automat si redimensionarea file system-ului, astfel ca putem vedea instant marirea la nivel de mount: | |||
<code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | |||
-->  # df -h /wiki/lv1/ | |||
  Filesystem Size Used Avail Use% Mounted on | |||
  /dev/mapper/vg_wiki-lv_wiki_1 <span style="color:#f00">13G</span> 24K 13G 1% /wiki/lv1 | |||
</code> | |||
==== Extindere lv_wiki_2 cu aprox 3GB ==== | |||
In VG vg_wiki au mai ramas nealocati aproximativ 3GB: | |||
<code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | |||
--># vgs | |||
    VG #PV #LV #SN Attr VSize VFree | |||
    ...... | |||
    vg_wiki 1 2 0 wz--n- <20.00g <span style="color:#f00">3.00g</span> | |||
</code> | |||
Acesti 3GB ii vom aloca catre lv_wiki_2 in totalitate: | |||
<code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | |||
-->  # lvextend -l +100%FREE /dev/mapper/vg_wiki-lv_wiki_2 | |||
    Size of logical volume vg_wiki/lv_wiki_2 changed from <4.00 GiB (1023 extents) to <7.00 GiB (1791 extents). | |||
    Logical volume vg_wiki/lv_wiki_2 successfully resized. | |||
</code> | |||
De aceasta data redimenionarea filesystem-ului nu a mai fost facuta in mod automat motiv pentru care acest lucru trebuie sa il facem manual: | |||
<code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | |||
-->  # resize2fs /dev/mapper/vg_wiki-lv_wiki_2 | |||
  resize2fs 1.47.0 (5-Feb-2023) | |||
  Filesystem at /dev/mapper/vg_wiki-lv_wiki_2 is mounted on /wiki/lv2; on-line resizing required | |||
  old_desc_blocks = 1, new_desc_blocks = 1 | |||
  The filesystem on /dev/mapper/vg_wiki-lv_wiki_2 is now 1833984 (4k) blocks long. | |||
</code> | |||
Dupa redimenionarea filesystem-ului putem vedea extinderea si la nivel de mount: | |||
<code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | |||
-->  # df -h /wiki/lv2/ | |||
  Filesystem Size Used Avail Use% Mounted on | |||
  /dev/mapper/vg_wiki-lv_wiki_2 <span style="color:#f00">6.9G</span> 24K 6.5G 1% /wiki/lv2 | |||
</code> | |||
=== Nota === | |||
Situatia extinerii de disk-uri dintr-un VM este diferita si cu un risc mai mare de pierdere a datelor in situatia in care fiecare lv are propia lui partitie: | |||
<code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | |||
-->  # lsblk | |||
  sdb 8:16 0 10G 0 disk | |||
  └─sdb1 8:17 0 6G 0 part | |||
    └─vg_wiki-lv_wiki_1 252:1 0 6G 0 lvm /wiki/lv1 | |||
  └─sdb2 8:17 0 4G 0 part | |||
    └─vg_wiki-lv_wiki_2 252:2 0 4G 0 lvm /wiki/lv2 | |||
</code> | |||
... sau atunci cand disk-urile sunt tratate ca raw-disk | |||
<code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | |||
-->  # lsblk | |||
  sdb 8:16 0 10G 0 disk | |||
  ├─sdb1 8:17 0 6G 0 part /wiki/lv1 | |||
  └─sdb2 8:17 0 4G 0 part /wiki/lv2 | |||
</code> | </code> | ||
Latest revision as of 22:02, 27 June 2025
Extindere disk live in Ubuntu 2X.04 LTS[edit | edit source]
Cu VM pornit verificam disk-ul in scop cu ce partitii, VG si LV se prezinta:
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
......
sdb 8:16 0 10G 0 disk
└─sdb1 8:17 0 10G 0 part
├─vg_wiki-lv_wiki_1 252:1 0 6G 0 lvm /wiki/lv1
└─vg_wiki-lv_wiki_2 252:2 0 4G 0 lvm /wiki/lv2
......
De asemenea facem o verificare a mount-urilor pentru disk-ul in scop:
# df -h
Filesystem Size Used Avail Use% Mounted on
......
/dev/mapper/vg_wiki-lv_wiki_1 5.9G 24K 5.6G 1% /wiki/lv1
/dev/mapper/vg_wiki-lv_wiki_2 3.9G 24K 3.7G 1% /wiki/lv2
Extindere HDD[edit | edit source]
Procedam la extinderea disk-ului in hypervisor (ex Proxmox VM):
Fara a restarta masina virtuala este nevoie de rescanarea disk-ului pentru a colecta informatiile legate de noua capacitate:
# echo 1 > /sys/block/sdb/device/rescan
Apoi ne asiguram ca OS-ul scanat disk-ul:
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
......
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 10G 0 part
├─vg_wiki-lv_wiki_1 252:1 0 6G 0 lvm /wiki/lv1
└─vg_wiki-lv_wiki_2 252:2 0 4G 0 lvm /wiki/lv2
......
Extindere Partitie[edit | edit source]
Dupe ce a fost extins disk-ul fizic trebuie extinsa si partitia aflata pe respectivul disk:
# growpart /dev/sdb 1
CHANGED: partition=1 start=2048 old: size=31455199 end=31457246 new: size=41940959 end=41943006
# pvresize /dev/sdb1
Physical volume "/dev/sdb1" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
Apoi ne asiguram ca extinderea se reflecta pe partitie in OS:
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
......
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 20G 0 part
├─vg_wiki-lv_wiki_1 252:1 0 6G 0 lvm /wiki/lv1
└─vg_wiki-lv_wiki_2 252:2 0 4G 0 lvm /wiki/lv2
......
Extindere Logical Volume[edit | edit source]
In continuare dorim sa marim lv_wiki_1 cu 7GB iar restul spatiului disponibil il vom aloca catre lv_wiki_2
Query Logical Volume si Volume Group[edit | edit source]
Volume group-ul (VG) vg_wiki a fost creeat peste intreaga partitie /dev/sdb1 iar odata cu extinderea partitiei s-a exting si VG-ul
# vgdisplay vg_wiki
--- Volume group ---
VG Name vg_wiki
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 8
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size <20.00 GiB
PE Size 4.00 MiB
Total PE 3839
Alloc PE / Size 2559 / <10.00 GiB
Free PE / Size 1280 / 10.00 GiB
VG UUID LvZwAo-9K3I-Qdvw-x39q-kbGT-9IAn-s7e2Nb
Pentru a vedea informatiile volumelor logice rulam:
# lvdisplay
--- Logical volume ---
LV Path /dev/vg_wiki/lv_wiki_1
LV Name lv_wiki_1
VG Name vg_wiki
LV UUID 4sOD3P-pYEi-S0Tf-OaYb-83B3-NhCM-lqLSdG
LV Write Access read/write
LV Creation host, time docktest, 2025-06-27 11:47:34 +0000
LV Status available
# open 1
LV Size 6.00 GiB
Current LE 1536
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:1
--- Logical volume ---
LV Path /dev/vg_wiki/lv_wiki_2
LV Name lv_wiki_2
VG Name vg_wiki
LV UUID 4UMXIA-7Ftj-UPRf-bccb-Iltw-EoJl-h3U0iZ
LV Write Access read/write
LV Creation host, time docktest, 2025-06-27 11:47:43 +0000
LV Status available
# open 1
LV Size <4.00 GiB
Current LE 1023
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:2
......
Pentru a vedea informatiile strict necesare in acest caz putem rula:
# vgs
VG #PV #LV #SN Attr VSize VFree
......
vg_wiki 1 2 0 wz--n- <20.00g 10.00g
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
......
lv_wiki_1 vg_wiki -wi-ao---- 6.00g
lv_wiki_2 vg_wiki -wi-ao---- <4.00g
Extindere lv_wiki_1 cu 7GB[edit | edit source]
Extindem mai intai volumul logic:
# lvextend -r -L+7G /dev/mapper/vg_wiki-lv_wiki_1
Size of logical volume vg_wiki/lv_wiki_1 changed from 6.00 GiB (1792 extents) to 13.00 GiB (3328 extents).
Logical volume vg_wiki/lv_wiki_1 successfully resized.
resize2fs 1.47.0 (5-Feb-2023)
Filesystem at /dev/mapper/vg_wiki-lv_wiki_1 is mounted on /wiki/lv1; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/mapper/vg_wiki-lv_wiki_1 is now 3407872 (4k) blocks long.
Din verbose-itatea de mai sus observam ca a fost rulat automat si redimensionarea file system-ului, astfel ca putem vedea instant marirea la nivel de mount:
# df -h /wiki/lv1/
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_wiki-lv_wiki_1 13G 24K 13G 1% /wiki/lv1
Extindere lv_wiki_2 cu aprox 3GB[edit | edit source]
In VG vg_wiki au mai ramas nealocati aproximativ 3GB:
# vgs
VG #PV #LV #SN Attr VSize VFree
......
vg_wiki 1 2 0 wz--n- <20.00g 3.00g
Acesti 3GB ii vom aloca catre lv_wiki_2 in totalitate:
# lvextend -l +100%FREE /dev/mapper/vg_wiki-lv_wiki_2
Size of logical volume vg_wiki/lv_wiki_2 changed from <4.00 GiB (1023 extents) to <7.00 GiB (1791 extents).
Logical volume vg_wiki/lv_wiki_2 successfully resized.
De aceasta data redimenionarea filesystem-ului nu a mai fost facuta in mod automat motiv pentru care acest lucru trebuie sa il facem manual:
# resize2fs /dev/mapper/vg_wiki-lv_wiki_2
resize2fs 1.47.0 (5-Feb-2023)
Filesystem at /dev/mapper/vg_wiki-lv_wiki_2 is mounted on /wiki/lv2; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/mapper/vg_wiki-lv_wiki_2 is now 1833984 (4k) blocks long.
Dupa redimenionarea filesystem-ului putem vedea extinderea si la nivel de mount:
# df -h /wiki/lv2/
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_wiki-lv_wiki_2 6.9G 24K 6.5G 1% /wiki/lv2
Nota[edit | edit source]
Situatia extinerii de disk-uri dintr-un VM este diferita si cu un risc mai mare de pierdere a datelor in situatia in care fiecare lv are propia lui partitie:
# lsblk
sdb 8:16 0 10G 0 disk
└─sdb1 8:17 0 6G 0 part
└─vg_wiki-lv_wiki_1 252:1 0 6G 0 lvm /wiki/lv1
└─sdb2 8:17 0 4G 0 part
└─vg_wiki-lv_wiki_2 252:2 0 4G 0 lvm /wiki/lv2
... sau atunci cand disk-urile sunt tratate ca raw-disk
# lsblk
sdb 8:16 0 10G 0 disk
├─sdb1 8:17 0 6G 0 part /wiki/lv1
└─sdb2 8:17 0 4G 0 part /wiki/lv2