• Help & contact
    • Spring Offers
      %

    In this article, we'll show you how to customize the Logical Volume after increasing the size of your SSD in CentOS 7, CentOS Stream 8, and CentOS Stream 9.

    On cloud servers, the Logical Volume Manager (LVM) is used to manage storage space. The Logical Volume Manager puts a logical layer between the file system and the partitions of the datastores in use. This makes it possible to create a file system that spans multiple partitions and/or disks. In this way, the storage space of several partitions or disks can be combined. In addition, the Logical Volume Manager gives you the option to increase a logical volume on the fly.

    After you have increased the size of your cloud server's SSD, you must manually adjust the size of the Logical Volume.

    Please Note

    We recommend that you take a snapshot before manually adjusting the logical volume. You can use a snapshot to restore the captured state of your cloud server or virtual server. However, please note that snapshots are automatically deleted after three days.

    For more information on how to create a snapshot, click here:

    Creating a Snapshot

    Requirements
    • You have restarted the server after enlarging the SSD.

    • You have logged in to the server as an administrator.

    Preparation

    • Install the growpart program. To do this, enter the following command and then follow the instructions.

      [root@localhost ~]# yum install cloud-utils-growpart

    • To check the available space of the logical volume, enter the following command:

      [root@localhost ~]# df -h

      After entering the command, the following partitioning is displayed, for example:

      Filesystem               Size  Used Avail Use% Mounted on
      /dev/mapper/centos-root   78G  1.3G   77G   2% /
      devtmpfs                 899M     0  899M   0% /dev
      tmpfs                    910M     0  910M   0% /dev/shm
      tmpfs                    910M   18M  893M   2% /run
      tmpfs                    910M     0  910M   0% /sys/fs/cgroup
      /dev/sda1                509M  213M  296M  42% /boot
      tmpfs                    182M     0  182M   0% /run/user/0

    • Note the logical volume that is to be expanded. This is mounted under /. In the above example, the logical volume is /dev/mapper/centos-root.

    • To view the partitioning of the Logical Volume, type the command below. Then press Enter.

      [root@localhost ~]# fdisk -l

      After entering the command, the file system structure is displayed:

      [root@localhost ~]# fdisk -l

      Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 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: 0x000ccef8

         Device Boot      Start         End      Blocks   Id  System
      /dev/sda1   *        2048     1050623      524288   83  Linux
      /dev/sda2         1050624   167772159    83360768   8e  Linux LVM

      Disk /dev/mapper/centos-root: 83.2 GB, 83181436928 bytes, 162463744 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 /dev/mapper/centos-swap: 2147 MB, 2147483648 bytes, 4194304 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

      In this example, the partition sda2 is to be adjusted manually. Note the name of the partition for this purpose.

    • To determine the file system, enter the following command:

      [root@localhost ~]# df -Th | grep "^/dev"

      In the following example, the logical volume /dev/mapper/centos-root uses the xfs file system:

      [root@localhost ~]# df -Th | grep "^/dev"
      /dev/mapper/centos-root xfs        78G  1.7G   76G   3% /
      /dev/sda1               xfs       509M  207M  303M  41% /boot

    Increasing the Size of the Partition with growpart

    Use the following growpart command to grow the partition:

    [root@localhost ~]# growpart /dev/device_name

    Example:

    [root@localhost ~]# growpart /dev/sda 2

    Take note of the fact that there is a space between the device name and the partition number.

    Increasing the Logical Volume Manually

    • To display detailed information about the physical volumes, enter the following command:

      [root@localhost ~]# pvdisplay

      After entering the command, the following information is displayed, for example:

      [root@localhost ~]# pvdisplay
        --- Physical volume ---
        PV Name               /dev/sda2
        VG Name               centos
        PV Size               <79.50 GiB / not usable 30.00 MiB
        Allocatable           yes (but full)
        PE Size               32.00 MiB
        Total PE              2543
        Free PE               0
        Allocated PE          2543
        PV UUID               6FKWEG-OnkG-QxZt-m7TB-wiDb-K9P6-I403lP

    • To resize the physical volume, enter the following command:

      [root@localhost ~]# pvresize /dev/sda2

      After entering the command, the following information is displayed:

      [root@localhost ~]# pvresize /dev/sda2
        Physical volume "/dev/sda2" changed
        1 physical volume(s) resized or updated / 0 physical volume(s) not resize

    • To check the status of the logical volumes, type the following command:

      [root@localhost ~]# lvdisplay
        --- Logical volume ---
        LV Path                /dev/centos/swap
        LV Name                swap
        VG Name                centos
        LV UUID                ZghzAz-F7hG-Kxsn-OEdM-idwf-HPmJ-esaD8s
        LV Write Access        read/write
        LV Creation host, time localhost, 2019-03-18 19:48:34 +0000
        LV Status              available
        # open                 2
        LV Size                2.00 GiB
        Current LE             64
        Segments               1
        Allocation             inherit
        Read ahead sectors     auto
        - currently set to     8192
        Block device           253:1

        --- Logical volume ---
        LV Path                /dev/centos/root
        LV Name                root
        VG Name                centos
        LV UUID                1ajYhy-gUdt-KUG4-9MaO-8ayT-g7Yi-Q3lGg1
        LV Write Access        read/write
        LV Creation host, time localhost, 2019-03-18 19:48:34 +0000
        LV Status              available
        # open                 1
        LV Size                <77.47 GiB
        Current LE             2479
        Segments               1
        Allocation             inherit
        Read ahead sectors     auto
        - currently set to     8192
        Block device           253:0

    • Note the path of the logical volume you want to expand. In this example, the path is /dev/centos/root.

    • To increase the size of the logical volume with the lvresize program, type the lvresize command in the following format:

      [root@localhost ~]# lvresize -l +100%FREE [PATH OF LOGICAL VOLUME]

      Example:

      [root@localhost ~]# lvresize -l+100%FREE /dev/centos/root
        Size of logical volume centos/root changed from <77.47 GiB (2479 extents) to <97.47 GiB (3119 extents).
        Logical volume centos/root successfully resized

    • Resize the file system to use the new space. To use xfs_growfs to resize the file system to the new size, type the xfs_growfs command in the following format:

      [root@localhost ~]# xfs_growfs [PATH OF LOGICAL VOLUME]

      Example:

      [root@localhost ~]# xfs_growfs /dev/centos/root
      meta-data=/dev/mapper/centos-root isize=512    agcount=42, agsize=489472 blks
               =                       sectsz=512   attr=2, projid32bit=1
               =                       crc=1        finobt=0 spinodes=0
      data     =                       bsize=4096   blocks=20307968, imaxpct=25
               =                       sunit=0      swidth=0 blks
      naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
      log      =internal               bsize=4096   blocks=2560, version=2
               =                       sectsz=512   sunit=0 blks, lazy-count=1
      realtime =none                   extsz=4096   blocks=0, rtextents=0
      data blocks changed from 20307968 to 25550848

      If the partition uses the ext4 file system, enter the following command to resize it to the new size:

      [root@localhost ~]# resize2fs [PATH OF LOGICAL VOLUME]

      Example:

      [root@localhost ~]# resize2fs /dev/centos/root

    • To check if the file system has been adjusted, enter the following command:

      [root@localhost ~]# df -h