Help us understand the problem. What is going on with this article?

新しいHDDを追加して既存LVM領域を拡張する手順メモ

More than 1 year has passed since last update.

要件

元々20GBだったTargetHostサーバに、新しいHDD30GBを追加したい。

手順メモ

HDDの追加

今回はESXi上の仮想マシンだったため、Vsphereで新しいHDDを論理的に追加しました。
物理サーバーだったら、内蔵ディスクを増設したり、外付けHDDを追加接続するイメージです。

HDDがOSからどう認識されているか確認

[root@TargetHost dev]# fdisk -l

ディスク /dev/sda: 21.5 GB, 21474836480 バイト
ヘッド 64, セクタ 32, シリンダ 20480
Units = シリンダ数 of 2048 * 512 = 1048576 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x000c12df

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1   *           2         501      512000   83  Linux
パーティション 1 は、シリンダ境界で終わっていません。
/dev/sda2             502       20480    20458496   8e  Linux LVM
パーティション 2 は、シリンダ境界で終わっていません。

ディスク /dev/mapper/vg_centos6target-lv_root: 18.8 GB, 18798870528 バイト
ヘッド 255, セクタ 63, シリンダ 2285
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000


ディスク /dev/mapper/vg_centos6target-lv_swap: 2147 MB, 2147483648 バイト
ヘッド 255, セクタ 63, シリンダ 261
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000


ディスク /dev/sdb: 32.2 GB, 32212254720 バイト
ヘッド 64, セクタ 32, シリンダ 30720
Units = シリンダ数 of 2048 * 512 = 1048576 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000

新しく追加したHDDが、sdbとして認識されていることがわかります。

新しいHDD上にPVを作成

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

拡張したいLVが含まれるVGに新しいPVを追加

以下は既存のVG vg_targethostserver にPV /dev/sdb を追加する場合の実行例。
既存VGの確認は、もう一つ下の手順参照。

[root@TargetHost ~]# vgextend vg_targethostserver /dev/sdb
  Volume group "vg_targethostserver" successfully extended

VGの確認

vgdisplay を実行し実行結果の--- Physical volumes ---の部分を見ることで、新しいPVが追加されたことを確認できます。

[root@TargetHost ~]# vgdisplay -v
    Finding all volume groups
    Finding volume group "vg_targethostserver"
  --- Volume group ---
  VG Name               vg_targethostserver
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               49.50 GiB
  PE Size               4.00 MiB
  Total PE              12673
  Alloc PE / Size       4994 / 19.51 GiB
  Free  PE / Size       7679 / 30.00 GiB
  VG UUID               uwLcTX-A3qe-u6As-kB1r-GniV-maUj-sLydnk

  --- Logical volume ---
  LV Path                /dev/vg_targethostserver/lv_root
  LV Name                lv_root
  VG Name                vg_targethostserver
  LV UUID                3MPIJd-2MHJ-hH1N-U0e2-b2Jh-6AlV-hAsRQO
  LV Write Access        read/write
  LV Creation host, time centos6target, 2014-05-09 04:52:58 +0900
  LV Status              available
  # open                 1
  LV Size                17.51 GiB
  Current LE             4482
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

  --- Logical volume ---
  LV Path                /dev/vg_targethostserver/lv_swap
  LV Name                lv_swap
  VG Name                vg_targethostserver
  LV UUID                he2HLI-lCSO-XgZL-yM0u-prON-CvxS-ngmqYP
  LV Write Access        read/write
  LV Creation host, time centos6target, 2014-05-09 04:53:06 +0900
  LV Status              available
  # open                 1
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

  --- Physical volumes ---
  PV Name               /dev/sda2
  PV UUID               nQnUoY-pxQV-sOL2-Wf1D-vDbg-cAAb-W5hYUH
  PV Status             allocatable
  Total PE / Free PE    4994 / 0

  PV Name               /dev/sdb
  PV UUID               HoxWHo-urf3-Djea-dhUB-Y3Ht-cdqe-7BsAsT
  PV Status             allocatable
  Total PE / Free PE    7679 / 7679

LVの拡張

lvextendを実行することで、拡張されたVGの未使用領域をLVに追加できます。
以下はVG上の未使用領域のすべてをLVに追加する場合の実行例となります。

[root@TargetHost ~]# lvextend -l +100%FREE /dev/vg_targethostserver/lv_root
  Extending logical volume lv_root to 47.50 GiB
  Logical volume lv_root successfully resized

ファイルシステムの拡張

LVを拡張してもファイルシステムは以前の大きさのままなので、最後にファイルシステムの拡張も行う必要があります。
ext3/ext4の場合はresize2fsを実行します。
xfsの場合はxfs_growfsを実行します。CentOS7系だと基本的にはxfsだと思います。
なおこの処理は数分かかる場合もあります。

[root@TargetHost ~]# resize2fs /dev/vg_targethostserver/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_targethostserver/lv_root is mounted on /; on-line resizing required
old desc_blocks = 2, new_desc_blocks = 3
Performing an on-line resize of /dev/vg_targethostserver/lv_root to 12452864 (4k) blocks.
The filesystem on /dev/vg_targethostserver/lv_root is now 12452864 blocks long.

処理完了後、dfコマンドでファイルシステムが拡張されたことを確認します。

[root@TargetHost ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_targethostserver-lv_root
                       47G  1.5G   43G   4% /
tmpfs                 939M     0  939M   0% /dev/shm
/dev/sda1             485M   75M  385M  17% /boot

以上です!

tomozo6
元Cobolerで金融系案件のPM。 インフラの技術に興味があって転職。 オンプレのホスティングサービスの構築,保守,運用を担当。 現在、時代の流れによりオンプレ環境を全てAWSへ移設する作業中。 全体改善,効率化,DevOpsが最近の興味関心。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away