Конспект LVM

Опубликовано 27.01.2015 г. в Linux

Общие принципы

Основные компоненты

Каждый Logical Volume (LV) состоит из одного или нескольких Physical Volume (PV). PV это блочное устройство (раздел или целый диск). Перед тем, как устройство может быть использовано в LV, оно должно быть инициализировано, как PV. При этом в начале раздела (диска) помещается LVM-метка. Несколько PV объединяются в Volume Group (VG), из которой формируются Logical Volume (LV).

Типы LV

  1. Linear Volumes
  2. Striped Logical Volumes
  3. RAID Logical Volumes
  4. Thin Volumes
  5. Snapshot Volumes
  6. Thinly-Provisioned Snapshot Volume
  7. Cache Volume

Команды

Действие Команда
Просмотр PV pvs
pvdisplay
Просмотр VG vgs
vgdisplay
Просмотр LV lvscan
lvdisplay

Сценарии

Расширение раздела с корнем на новый диск

Информация по подключенным дискам:

    [root@nf01 ~]# fdisk -l

    Disk /dev/sda: 17.2 GB, 17179869184 bytes, 33554432 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: 0x00014795

       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        2048     1026047      512000   83  Linux
    /dev/sda2         1026048    33554431    16264192   8e  Linux LVM

    Disk /dev/sdb: 429.5 GB, 429496729600 bytes, 838860800 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_sibttk-root: 14.9 GB, 14889779200 bytes, 29081600 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_sibttk-swap: 1719 MB, 1719664640 bytes, 3358720 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

Создаем новый PV:

    [root@nf01 ~]# pvcreate /dev/sdb
      Physical volume "/dev/sdb" successfully created

    [root@nf01 ~]# pvs
      PV         VG            Fmt  Attr PSize   PFree
      /dev/sda2  centos_sibttk lvm2 a--   15.51g    0 
      /dev/sdb   centos_sibttk lvm2 a--  400.00g

Добавляем PV в VG:

    [root@nf01 ~]# vgs
      VG            #PV #LV #SN Attr   VSize  VFree 
      centos_sibttk   1   2   0 wz--n- 15.51g 40.00m

    [root@nf01 ~]# vgextend centos_sibttk /dev/sdb
      Volume group "centos_sibttk" successfully extended

    [root@nf01 ~]# vgs
      VG            #PV #LV #SN Attr   VSize   VFree
      centos_sibttk   2   2   0 wz--n- 415.50g    0

Расширяем LV с корнем на все свободное место в VG:

    [root@nf01 ~]# lvscan 
      ACTIVE            '/dev/centos_sibttk/swap' [1.60 GiB] inherit
      ACTIVE            '/dev/centos_sibttk/root' [13.87 GiB] inherit

    [root@nf01 ~]# lvextend -l +100%FREE /dev/centos_sibttk/root
      Size of logical volume centos_sibttk/root changed from 13.87 GiB (3550 extents) to 413.90 GiB (105959 extents).
      Logical volume root successfully resized.

    [root@nf01 ~]# lvscan 
      ACTIVE            '/dev/centos_sibttk/swap' [1.60 GiB] inherit
      ACTIVE            '/dev/centos_sibttk/root' [413.90 GiB] inherit

Смотрим, что в корень смонтировано то, что надо:

    [root@nf01 ~]# df -h
    Filesystem                      Size  Used Avail Use% Mounted on
    /dev/mapper/centos_sibttk-root   14G  1.2G   13G   9% /
    devtmpfs                        911M     0  911M   0% /dev
    tmpfs                           921M     0  921M   0% /dev/shm
    tmpfs                           921M  8.5M  912M   1% /run
    tmpfs                           921M     0  921M   0% /sys/fs/cgroup
    /dev/sda1                       497M  168M  330M  34% /boot
    tmpfs                           185M     0  185M   0% /run/user/1000

Корневой раздел у нас с системой XFS. Расширяем его:

    [root@nf01 ~]# xfs_growfs /
    meta-data=/dev/mapper/centos_sibttk-root isize=256    agcount=4, agsize=908800 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=0        finobt=0
    data     =                       bsize=4096   blocks=3635200, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
    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 3635200 to 108502016

    [root@nf01 ~]# df -h
    Filesystem                      Size  Used Avail Use% Mounted on
    /dev/mapper/centos_sibttk-root  414G  1.2G  413G   1% /
    devtmpfs                        911M     0  911M   0% /dev
    tmpfs                           921M     0  921M   0% /dev/shm
    tmpfs                           921M  8.5M  912M   1% /run
    tmpfs                           921M     0  921M   0% /sys/fs/cgroup
    /dev/sda1                       497M  168M  330M  34% /boot
    tmpfs                           185M     0  185M   0% /run/user/1000