Skip to content

Instantly share code, notes, and snippets.

@shakeeb91
Created January 23, 2023 16:16
Show Gist options
  • Save shakeeb91/4e0a75ef4c3fb8903639b6ceffbf2e2e to your computer and use it in GitHub Desktop.
Save shakeeb91/4e0a75ef4c3fb8903639b6ceffbf2e2e to your computer and use it in GitHub Desktop.

To check linux disk space. See vg-data disk is 3.3TB we will extend it to 3.7TB

root@fs1 ~ # sudo df -hT
Filesystem                         Type            Size  Used Avail Use% Mounted on
udev                               devtmpfs        3.8G     0  3.8G   0% /dev
tmpfs                              tmpfs           779M  836K  779M   1% /run
/dev/mapper/vg--system-root        ext4            9.8G  4.3G  5.2G  46% /
tmpfs                              tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs                              tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs                              tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/mapper/vg--data-data          ext4            3.3T  3.1T   18G 100% /data
tmpfs                              tmpfs           779M     0  779M   0% /run/user/1022
So using parted see the partition table.
root@fs1 ~ # sudo parted /dev/sdb
GNU Parted 3.2
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print free
Warning: Not all of the space available to /dev/sdb appears to be used, you can fix the GPT to use all of the space (an extra 939524096 blocks) or continue with the current setting?
Fix/Ignore? Fix
Model: HC Volume (scsi)
Disk /dev/sdb: 4080GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name  Flags
        17.4kB  1049kB  1031kB  Free Space
 1      1049kB  3599GB  3599GB                     lvm
        3599GB  4080GB  481GB   Free Space
Also you can use MiB to see it is precise unit. I will extend it to 3.7T around: 3890990MiB

resizepart is used to extend the partition. So here I am increasing the partition 1.

(parted) resizepart
Partition number? 1
End?  [3432447MiB]? 3890990MiB
(parted) print
Model: HC Volume (scsi)
Disk /dev/sdb: 3891200MiB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start    End         Size        File system  Name  Flags
 1      1.00MiB  3890990MiB  3890989MiB                     lvm

(parted) unit MiB print free
Model: HC Volume (scsi)
Disk /dev/sdb: 3891200MiB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start       End         Size        File system  Name  Flags
        0.02MiB     1.00MiB     0.98MiB     Free Space
 1      1.00MiB     3890990MiB  3890989MiB                     lvm
        3890990MiB  3891200MiB  210MiB      Free Space

Now you can see the resizepart extends the sdb1 ( partition 1)

root@fs1 ~ # lsblk
NAME                  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda                     8:0    0 76.3G  0 disk
└─sda3                  8:3    0 76.3G  0 part
  └─pv-crypt          254:0    0 76.3G  0 crypt
    ├─vg--system-swap 254:1    0    2G  0 lvm   [SWAP]
    └─vg--system-root 254:2    0   10G  0 lvm   /
sdb                     8:16   0  3.7T  0 disk
└─sdb1                  8:17   0  3.7T  0 part
  └─pv-data-crypt     254:3    0  3.3T  0 crypt
    └─vg--data-data   254:4    0  3.3T  0 lvm   /data
sr0                    11:0    1 1024M  0 rom

To Extend the crypt partition cryptsetup resize command works.

root@fs1 ~ # sudo cryptsetup resize pv-data-crypt
root@fs1 ~ # lsblk
NAME                  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda                     8:0    0 76.3G  0 disk
└─sda3                  8:3    0 76.3G  0 part
  └─pv-crypt          254:0    0 76.3G  0 crypt
    ├─vg--system-swap 254:1    0    2G  0 lvm   [SWAP]
    └─vg--system-root 254:2    0   10G  0 lvm   /
sdb                     8:16   0  3.7T  0 disk
└─sdb1                  8:17   0  3.7T  0 part
  └─pv-data-crypt     254:3    0  3.7T  0 crypt
    └─vg--data-data   254:4    0  3.3T  0 lvm   /data
sr0                    11:0    1 1024M  0 rom

See the pv-data-crypt resize to 3.7T.You can now need to extend the pvsize.

muhammadshakeeb@fs1:~$ sudo pvs
  PV                        VG        Fmt  Attr PSize  PFree
  /dev/mapper/pv-crypt      vg-system lvm2 a--  76.29g 69.29g
  /dev/mapper/pv-data-crypt vg-data   lvm2 a--   3.27t     0
muhammadshakeeb@fs1:~$ sudo pvresize /dev/mapper/pv-data-crypt
  Physical volume "/dev/mapper/pv-data-crypt" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized
muhammadshakeeb@fs1:~$ sudo pvs
  PV                        VG        Fmt  Attr PSize  PFree
  /dev/mapper/pv-crypt      vg-system lvm2 a--  76.29g   69.29g
  /dev/mapper/pv-data-crypt vg-data   lvm2 a--   3.71t <447.80g

You can see the PV PFree size now using lvextend EXTEND the size and use resize2fs

muhammadshakeeb@fs1:~$ sudo lvextend -l +100%FREE /dev/vg-data/data
  Size of logical volume vg-data/data changed from 3.27 TiB (858110 extents) to 3.71 TiB (972746 extents).
  Logical volume vg-data/data successfully resized.
muhammadshakeeb@fs2:~$ sudo resize2fs /dev/vg-data/data
resize2fs 1.44.5 (15-Dec-2018)
Filesystem at /dev/vg-data/data is mounted on /data; on-line resizing required
old_desc_blocks = 419, new_desc_blocks = 475
The filesystem on /dev/vg-data/data is now 996091904 (4k) blocks long.
muhammadshakeeb@fs2:~$ sudo lsblk
NAME                  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda                     8:0    0 76.3G  0 disk
└─sda3                  8:3    0 76.3G  0 part
  └─pv-crypt          254:0    0 76.3G  0 crypt
    ├─vg--system-swap 254:1    0    2G  0 lvm   [SWAP]
    └─vg--system-root 254:2    0    5G  0 lvm   /
sdb                     8:16   0  3.7T  0 disk
└─sdb1                  8:17   0  3.7T  0 part
  └─pv-data-crypt     254:3    0  3.7T  0 crypt
    └─vg--data-data   254:4    0  3.7T  0 lvm   /data
sr0                    11:0    1 1024M  0 rom
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment