6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

LVMの/領域を拡張する [RHEL7,CentOS7]

Posted at

背景

(/)ルート領域を拡張することになった。
インストール時のパーティションは以下のとおり

  • boot領域 4GB
  • swap領域 1GB
  • /領域 38GB
  • /home領域 19GB

[root@localhost ~]# df -h
ファイルシス          サイズ  使用  残り 使用% マウント位置
/dev/mapper/rhel-root    38G   20G   18G   53% /
/dev/sda1              1014M  145M  870M   15% /boot
/dev/mapper/rhel-home    19G   33M   19G    1% /home

なお今回は/領域を拡張するということで、/をアンマウントする必要がある。そのためメディアブートしてレスキューモードからオペレーションする必要がある。

いざ拡張

まずはハードディスクそのものを拡張する。今回はESXi上のVMが対象であるため、VMをシャットダウンしてからvCenterからVMのハードディスク容量を変更する(60GB -> 100GB)
※不測の事態にそなえてスナップショットの取得をお忘れなく

[変更前]
image.png

[変更後]
image.png

OSメディアを読み込ませて、レスキューモードで起動する
image.png

レスキューモードで起動したら、3)のSkipを選択
image.png

そうすると/にはローカルディスクではなくISOメディアボリュームがマウントされる

パーティションの管理はfdiskで行われる場合が多いが、partedのresize機能を使用することにする。
なぜならfdiskはパーティションを一度削除する必要があるため、できるだけ使いたくない。
と思ったが、どうやらRHEL7(CentOS7)ではpartedでresizeができないらしい。。。

結局fdiskでやる

どうやら拡張する際の開始セクタが同じであればデータは消えないとのことなので、fdiskを利用して
パーティションを削除->再作成することにより拡張することとする。(縮小の場合はどうするんだろう。。。)

fdiskを実行
image.png

現在のパーティションテーブルは以下の通り、/dev/sda2が/に該当するパーティションなので今回は
こちらを削除してから大きいサイズで再作成する
image.png
さようならーーーー

念のため消えたことを確認する
image.png

そして新しいパーティションを作成する
※全部デフォルトをたたけばいい感じにできます最終セクターのデフォルトは指定できるMAX値になるので
image.png
できたー

確認する
image.png

LVMになっていないので、LVMに変更する
image.png

書き込みもお忘れなく
image.png
Warningがでているが、これは設定を適用したいなら再起動しろよというメッセージ。なので再起動する
もうレスキューモードは必要ないので、再起動後は通常モードで起動する

これでパーティションは拡大することができたので、論理ボリュームを拡大していく
とその前にOSを再起動してレスキューモードからぬけることをお忘れなく

OSが起動したら
パーティションサイズの変更が適用されていることを確認
image.png

確認したら、まずはPhisical Volumeから拡張する

現状PVは(約)60GBになっている

[root@localhost ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               rhel
  PV Size               <59.00 GiB / not usable 2.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              15103
  Free PE               1
  Allocated PE          15102
  PV UUID               v38uuP-pqb7-vBs9-GGch-JPg9-vOrv-zb0OGF

pvresizeコマンドで拡張する

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

(約)100GBに拡張されたことを確認する

[root@localhost ~]# pvscan
  PV /dev/sda2   VG rhel            lvm2 [<99.00 GiB / 40.00 GiB free]
  Total: 1 [<99.00 GiB] / in use: 1 [<99.00 GiB] / in no VG: 0 [0   ]
[root@localhost ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               rhel
  PV Size               <99.00 GiB / not usable 2.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              25343
  Free PE               10241
  Allocated PE          15102
  PV UUID               v38uuP-pqb7-vBs9-GGch-JPg9-vOrv-zb0OGF

LogicalVolumeを拡張する

まずは確認

[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/rhel/swap
  LV Name                swap
  VG Name                rhel
  LV UUID                OQzoCQ-Okea-ec9A-rXa3-OIUy-A2nR-OBZMLk
  LV Write Access        read/write
  LV Creation host, time localhost, 2018-12-20 10:42:41 +0900
  LV Status              available
  # open                 2
  LV Size                <3.88 GiB
  Current LE             992
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/rhel/home
  LV Name                home
  VG Name                rhel
  LV UUID                cDZSgW-EjnM-zFb2-354F-Nn2k-EEpR-AHRIFN
  LV Write Access        read/write
  LV Creation host, time localhost, 2018-12-20 10:42:41 +0900
  LV Status              available
  # open                 1
  LV Size                18.08 GiB
  Current LE             4629
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

  --- Logical volume ---
  LV Path                /dev/rhel/root
  LV Name                root
  VG Name                rhel
  LV UUID                fxnSpj-0875-X0gV-D07I-7woW-MpDT-bhLh6t
  LV Write Access        read/write
  LV Creation host, time localhost, 2018-12-20 10:42:41 +0900
  LV Status              available
  # open                 1
  LV Size                <37.04 GiB
  Current LE             9481
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/rhel/swap
  LV Name                swap
  VG Name                rhel
  LV UUID                OQzoCQ-Okea-ec9A-rXa3-OIUy-A2nR-OBZMLk
  LV Write Access        read/write
  LV Creation host, time localhost, 2018-12-20 10:42:41 +0900
  LV Status              available
  # open                 2
  LV Size                <3.88 GiB
  Current LE             992
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/rhel/home
  LV Name                home
  VG Name                rhel
  LV UUID                cDZSgW-EjnM-zFb2-354F-Nn2k-EEpR-AHRIFN
  LV Write Access        read/write
  LV Creation host, time localhost, 2018-12-20 10:42:41 +0900
  LV Status              available
  # open                 1
  LV Size                18.08 GiB
  Current LE             4629
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

  --- Logical volume ---
  LV Path                /dev/rhel/root
  LV Name                root
  VG Name                rhel
  LV UUID                fxnSpj-0875-X0gV-D07I-7woW-MpDT-bhLh6t
  LV Write Access        read/write
  LV Creation host, time localhost, 2018-12-20 10:42:41 +0900
  LV Status              available
  # open                 1
  LV Size                <37.04 GiB
  Current LE             9481
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

今回はこの/dev/rhel/rootを拡張する

lvextendコマンドで該当するLVを拡張する(+100%FREEを指定すると、拡張可能な最大値までボリュームサイズを拡張することができる)

[root@localhost ~]# lvextend -l +100%FREE /dev/rhel/root
  Size of logical volume rhel/root changed from <37.04 GiB (9481 extents) to <77.04 GiB (19722 extents).
  Logical volume rhel/root successfully resized.

拡張されていることを確認する

[root@localhost ~]# lvdisplay
~割愛~
  --- Logical volume ---
  LV Path                /dev/rhel/root
  LV Name                root
  VG Name                rhel
  LV UUID                fxnSpj-0875-X0gV-D07I-7woW-MpDT-bhLh6t
  LV Write Access        read/write
  LV Creation host, time localhost, 2018-12-20 10:42:41 +0900
  LV Status              available
  # open                 1
  LV Size                <77.04 GiB
  Current LE             19722
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

40GBほど拡張されている!!

これだけだとまだファイルシステムは拡張されていない

[root@localhost ~]# df -h
ファイルシス          サイズ  使用  残り 使用% マウント位置
/dev/mapper/rhel-root    38G   20G   18G   53% /
devtmpfs                1.9G     0  1.9G    0% /dev
tmpfs                   1.9G     0  1.9G    0% /dev/shm
tmpfs                   1.9G  8.6M  1.9G    1% /run
tmpfs                   1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda1              1014M  145M  870M   15% /boot
/dev/mapper/rhel-home    19G   33M   19G    1% /home
tmpfs                   380M     0  380M    0% /run/user/0

最後にファイルシステムのリサイズを実行

[root@localhost ~]# xfs_growfs /dev/rhel/root
meta-data=/dev/mapper/rhel-root  isize=512    agcount=4, agsize=2427136 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=9708544, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=4740, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

ファイルシステムサイズが変更されたことを確認する

[root@localhost ~]# df -h
ファイルシス          サイズ  使用  残り 使用% マウント位置
/dev/mapper/rhel-root    78G   20G   58G   26% /
devtmpfs                1.9G     0  1.9G    0% /dev
tmpfs                   1.9G     0  1.9G    0% /dev/shm
tmpfs                   1.9G  8.6M  1.9G    1% /run
tmpfs                   1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda1              1014M  145M  870M   15% /boot
/dev/mapper/rhel-home    19G   33M   19G    1% /home
tmpfs                   380M     0  380M    0% /run/user/0

おつかれさまでーす

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?