LVMでディスク拡張1

February 01, 2021

LVMのことよくわかってないので、勉強がてらVMにディスク追加して各論理ボリュームのサイズを拡張してみます。
まずは現状を確認。

現在の物理ディスクの状況
$ lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda               8:0    0   127G  0 disk
├─sda1            8:1    0   200M  0 part /boot/efi
├─sda2            8:2    0     1G  0 part /boot
└─sda3            8:3    0 125.8G  0 part
  ├─centos-root 253:0    0    50G  0 lvm  /
  ├─centos-swap 253:1    0     1G  0 lvm  [SWAP]
  └─centos-home 253:2    0  74.8G  0 lvm  /home
sr0              11:0    1  1024M  0 rom
$
物理ボリュームの状況
$ sudo /sbin/pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               centos
  PV Size               125.80 GiB / not usable 2.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              32205
  Free PE               1
  Allocated PE          32204
  PV UUID               F0ItPv-jpOz-A6o7-LDbQ-f8Zv-Wcv2-kTnyaG

$
ボリュームグループの状況
$ sudo /sbin/vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               125.80 GiB
  PE Size               4.00 MiB
  Total PE              32205
  Alloc PE / Size       32204 / <125.80 GiB
  Free  PE / Size       1 / 4.00 MiB
  VG UUID               510xRa-4lvI-s60z-E3ji-dRjf-F15Z-ZFcqnT

$
論理ボリュームの状況
$ sudo /sbin/lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                jCgO6B-3uus-3miN-hOmq-Ymaq-7y3S-qfQa9D
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2020-11-17 02:51:04 +0900
  LV Status              available
  # open                 2
  LV Size                1.00 GiB
  Current LE             256
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/centos/home
  LV Name                home
  VG Name                centos
  LV UUID                Qu2Nej-yB1c-hl8L-4mF1-q9Ok-wSvh-BuCWeh
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2020-11-17 02:51:04 +0900
  LV Status              available
  # open                 1
  LV Size                <74.80 GiB
  Current LE             19148
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                mW4aXn-KUik-P3IK-Ep58-ryvj-bRZ0-aebUO0
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2020-11-17 02:51:05 +0900
  LV Status              available
  # open                 1
  LV Size                50.00 GiB
  Current LE             12800
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

$
マウント状況
$ df -h
ファイルシス            サイズ  使用  残り 使用% マウント位置
devtmpfs                  200M     0  200M    0% /dev
tmpfs                     212M     0  212M    0% /dev/shm
tmpfs                     212M  4.4M  207M    3% /run
tmpfs                     212M     0  212M    0% /sys/fs/cgroup
/dev/mapper/centos-root    50G  2.3G   48G    5% /
/dev/sda2                1014M  129M  886M   13% /boot
/dev/sda1                 200M   12M  189M    6% /boot/efi
/dev/mapper/centos-home    75G   33M   75G    1% /home
tmpfs                      43M     0   43M    0% /run/user/1000
$

/dev/centos/rootと/dev/mapper/centos-rootは同じものなのだろうか。lsで見てみます。

$ ls -l /dev/centos
合計 0
lrwxrwxrwx 1 root root 7  21 20:16 home -> ../dm-2
lrwxrwxrwx 1 root root 7  21 20:16 root -> ../dm-0
lrwxrwxrwx 1 root root 7  21 20:16 swap -> ../dm-1
$ ls -l /dev/mapper
合計 0
lrwxrwxrwx 1 root root       7  21 20:16 centos-home -> ../dm-2
lrwxrwxrwx 1 root root       7  21 20:16 centos-root -> ../dm-0
lrwxrwxrwx 1 root root       7  21 20:16 centos-swap -> ../dm-1
crw------- 1 root root 10, 236  21 20:16 control
$ ls -l /dev | grep dm
crw------- 1 root root     10,  61  21 20:16 cpu_dma_latency
brw-rw---- 1 root disk    253,   0  21 20:16 dm-0
brw-rw---- 1 root disk    253,   1  21 20:16 dm-1
brw-rw---- 1 root disk    253,   2  21 20:16 dm-2
crw------- 1 root root      1,  12  21 20:16 oldmem
$

ともに/dev/dm-xへのシンボリックリンクになってますね。dm-xはどこから出てくるのか調べてみるとlsblkのオプションでKNAMEを出力すると出てくることが分かりました。

$ lsblk --output NAME,KNAME,MAJ:MIN,RM,SIZE,RO,TYPE,MOUNTPOINT
NAME            KNAME MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda             sda     8:0    0   127G  0 disk
├─sda1          sda1    8:1    0   200M  0 part /boot/efi
├─sda2          sda2    8:2    0     1G  0 part /boot
└─sda3          sda3    8:3    0 125.8G  0 part
  ├─centos-root dm-0  253:0    0    50G  0 lvm  /
  ├─centos-swap dm-1  253:1    0     1G  0 lvm  [SWAP]
  └─centos-home dm-2  253:2    0  74.8G  0 lvm  /home
sr0             sr0    11:0    1  1024M  0 rom
$ 

dm-0, dm-1, dm-2の各番号はMIN(minor device number)から来てるようなので、dmはMAJから来ているのかな。メジャー番号253が何かを調べてみます。

$ cat /proc/devices
Character devices:
  1 mem
  4 /dev/vc/0
  4 tty
  4 ttyS
  5 /dev/tty
  5 /dev/console
  5 /dev/ptmx
  7 vcs
 10 misc
 13 input
 21 sg
 29 fb
128 ptm
136 pts
162 raw
180 usb
188 ttyUSB
189 usb_device
202 cpu/msr
203 cpu/cpuid
244 ptp
245 pps
246 hidraw
247 usbmon
248 bsg
249 hmm_device
250 watchdog
251 iio
252 rtc
253 dax
254 tpm

Block devices:
259 blkext
  8 sd
  9 md
 11 sr
 65 sd
 66 sd
 67 sd
 68 sd
 69 sd
 70 sd
 71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
253 device-mapper
254 mdp

dmはdevice-mapperの略ですね。納得。このへんの資料みると番号はマップを作成する順番で変動することがあるので/dev/dm-xを直接参照しないようにしてるとのこと。/dev/centos/rootは/dev/ボリュームグループ名/ボリューム名から来てるってこともわかました。

ところでswap領域、/etc/fstabに書いてあってもmount一覧に出てこないのはなぜだろう。

$ cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Tue Nov 17 02:51:09 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=6812b727-5c85-422c-9752-c8da3af72d83 /boot                   xfs     defaults        0 0
UUID=C0A6-DD0D          /boot/efi               vfat    umask=0077,shortname=winnt 0 0
/dev/mapper/centos-home /home                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
$ mount -l | grep -i swap
$

横道にそれて長くなったのでいったんここまでにします。