目次

LVM

ハードディスク追加手順

  1. ハードディスクの取り付け
  2. PVをVGへ登録、またはVG作成
  3. 論理ボリュームを追加(mount)、または論理ボリュームサイズを拡大
    1. 論理ボリュームを追加(mount)の場合はLVへファイルシステム作成

LVMパーティション作成

HDDパーティション確認

# fdisk -l ← HDDパーティション確認

Disk /dev/xvdb: ##.5 GB, ############ bytes ← 追加したHDDを/dev/xvdbとして認識
255 heads, 63 sectors/track, #### cylinders
Units = cylinders of ###### * 512 = ######## bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

パーティション設定

# fdisk /dev/xvdb
......
Command (m for help): n ← n(新規パーティション作成)
Command action
   e   extended
   p   primary partition (1-4)
p ← p(基本パーティション)
Partition number (1-4): 1 ← 1(パーティション番号)
First cylinder (1-####, default 1):  ← enter
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-####, default ####):   ← enter
Using default value ####

Command (m for help): t ← t(システムID設定)
Selected partition 1
Hex code (type L to list codes): 8e ← 8e(LVMシステムID)
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): p ← p(パーティション表示)

Disk /dev/xvdb: ##.5 GB, ######### bytes
255 heads, 63 sectors/track, #### cylinders
Units = cylinders of ##### * 512 = ######### bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xea#####

    Device Boot      Start         End      Blocks   Id  System
/dev/xvdb1               1        ####    ########+  8e  Linux LVM
パーティションが一つでIdが8e、SystemがLinux LVMとなっていることを確認
Command (m for help): w ← w(パーティションをディスクへ書き込み)応答
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

PV(Physical volume)作成

# pvcreate /dev/xvdb1 ← 作成したLVMパーティションでPV作成
  Physical volume "/dev/xvdb1" successfully created

# pvdisplay ← 確認
  --- Physical volume ---
  PV Name               /dev/xvda#
  VG Name               VolGroup00
  PV Size               ##.90 GiB / not usable ##.00 MiB
  Allocatable           yes (but full)
.........
   
  "/dev/xvdb1" is a new physical volume of "##.## GiB"
  --- NEW Physical volume ---
  PV Name               /dev/xvdb1
  VG Name               
  PV Size               ##.## GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               AX9M24-XXXXXXXXXXXXXXXXXXXXXXXXX

PVをVGへ登録

# vgextend VolGroup00 /dev/xvdb1 ← 作成したPVを既存VGへ登録
  Volume group "VolGroup00" successfully extended
[root@host ~]# vgdisplay ← 確認
  --- Volume group ---
  VG Name               VolGroup00
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
.........
  VG Size               ##.84 GiB
  PE Size               ##.00 MiB
  Total PE              891
  Alloc PE / Size       252 / ##.88 GiB
  Free  PE / Size       639 / ###.97 GiB ← VGに空きができたのを確認
  VG UUID               ZoDZsE-LWRR-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

新たにVGを作成する場合

# vgcreate VolData /dev/xvdb1
  Volume group "VolData" successfully created
# vgdisplay
  --- Volume group ---
  VG Name               VolData
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               1.95 TiB
  PE Size               4.00 MiB
  Total PE              511999
  Alloc PE / Size       0 / 0
  Free  PE / Size       511999 / 1.95 TiB
  VG UUID               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

論理ボリュームサイズを拡大

LVの拡大

# lvdisplay /dev/VolGroup00/LogVol00 ← 拡大する前のLV状況確認
  --- Logical volume ---
  LV Name                /dev/VolGroup00/LogVol00
  VG Name                VolGroup00
  LV UUID                D36jZ6-e6si-jiXXXXXXXXXXXXXXXXXXXXXXXX
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                #.## GB ← 拡大前LVサイズ
  Current LE             108
  Segments               1
  Allocation             inherit
.........

# vgdisplay ← 拡大する前のVG状況確認
  --- Volume group ---
  VG Name               VolGroup00
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  35
  VG Access             read/write
  VG Status             resizable
.........
  PE Size               32.00 MB
  Total PE              ####
  Alloc PE / Size       ## / #.## GB
  Free  PE / Size       ## / ##.00 GB ← VGに空きあり
  VG UUID               9fGKL1-4ki1-XXXXXXXXXXXXXXXXXXXXXXXXX


# lvextend -L +##G /dev/VolGroup00/LogVol00
 ← VGの空きすべて(PE Size×Free PE=##.00 GB)を使用してLVサイズ拡大

  Extending logical volume LogVol00 to ##.## GB
  Logical volume LogVol00 successfully resized

[root@centos ~]# lvdisplay /dev/VolGroup00/LogVol00 ← 拡大後LV
  --- Logical volume ---
  LV Name                /dev/VolGroup00/LogVol00
  VG Name                VolGroup00
  LV UUID                D36jZ6-e6si-jiXXXXXXXXXXXXXXXXXXXXXXXX
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                ##.## GB ← 拡大後LVサイズ
.........

[root@centos ~]# vgdisplay ← 拡大後VG
  --- Volume group ---
  VG Name               VolGroup00
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  36
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
.........
  Free  PE / Size       0 / 0 ← VGに空きなし
  VG UUID               9fGKL1-4ki1-XXXXXXXXXXXXXXXXXXXXXXXXX

ファイルシステムサイズ拡大

# df ← 拡大前ファイルシステムサイズ
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
                      ####8080  #####572   ####344  51% / ← 拡大前ファイルシステムサイズ
/dev/sda1               101000     23800     72000  25% /boot
tmpfs                   127000         0    127000   0% /dev/shm

[root@centos ~]# resize2fs /dev/VolGroup00/LogVol00 ← LVファイルシステムサイズ拡大(LVサイズに合わせる)
resize2fs 1.xx.xx (dd-mm-20##)
Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required
Performing an on-line resize of /dev/VolGroup00/LogVol00 to ######## (4k) blocks.
The filesystem on /dev/VolGroup00/LogVol00 is now ######## blocks long.

[root@centos ~]# df ← 拡大後ファイルシステムサイズ照会
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
                      ####1604   ####432   ####980  20% / ← 拡大後ファイルシステムサイズ
/dev/sda1               101000     23800     72000  25% /boot
tmpfs                   127000         0    127000   0% /dev/shm

論理ボリュームを追加する場合

ハードディスク取り外し手順

メモ

pvscan
lvscan
lvdisplay
vgrename


参考

http://abcmark2010.hatenablog.com/entry/2016/01/10/170809

https://qiita.com/TsutomuNakamura/items/93c6333c8dd32aeb197a#%E8%A3%9C%E8%B6%B3%E8%AB%96%E7%90%86%E3%83%9C%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0%E3%82%92%E7%B8%AE%E5%B0%8F%E3%81%99%E3%82%8B