OSS Fan ~OSSでLinuxサーバ構築~

作成日: 2013/04/07
更新日: 2013/09/07

OSSでLinuxサーバ構築

LVMで既存ボリュームグループを拡張して論理ボリュームを拡張

トップページOSSでLinuxサーバ構築 > LVMで既存ボリュームグループを拡張して論理ボリュームを拡張
このエントリーをはてなブックマークに追加

概要

解説

 2台目のハードディスクを増設し、LVMで既存のボリュームグループを拡張した後に、 既存の論理ボリュームとファイルシステムを拡張します。 なお、この拡張に際して対象のボリュームをアンマウントする必要はありません。

拡張範囲

 ディスクの拡張範囲は以下の通りです。

サーバ構成

OSバージョン

Red Hat Enterprise Linux 6.4 64bit

パッケージ一覧

必要な追加パッケージはありません。

拡張手順

(1) パーティションの作成

 増設したハードディスクが /dev/sdb として認識されるので、 全領域を1つのプライマリパーティション /dev/sdb1 として作成します。 パーティションはLVM用のシステムタイプに変更します。

# fdisk -l

Disk /dev/sda: 34.4 GB, 34359738368 bytes
255 heads, 63 sectors/track, 4177 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00083f40

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      102400   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              13        4178    33451008   8e  Linux LVM

Disk /dev/sdb: 17.2 GB, 17179869184 bytes ←このデバイスが追加された
255 heads, 63 sectors/track, 2088 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
(以下省略)
# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x4d4de011.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): p

Disk /dev/sdb: 17.2 GB, 17179869184 bytes
255 heads, 63 sectors/track, 2088 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4d4de011

   Device Boot      Start         End      Blocks   Id  System
                               ←パーティションは表示されない
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-2088, default 1):  ←何も入力せずにリターン
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-2088, default 2088):  ←何も入力せずにリターン
Using default value 2088

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): p

Disk /dev/sdb: 17.2 GB, 17179869184 bytes
255 heads, 63 sectors/track, 2088 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4d4de011

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        2088    16771828+  8e  Linux LVM ←作成したパーティションが表示される

Command (m for help): w
The partition table has been altered!

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

(2) 物理ボリュームの初期化

 作成したパーティション /dev/sdb1 をLVMの物理ボリュームとして初期化します。

# pvscan
  PV /dev/sda2   VG VolGroup00   lvm2 [31.90 GiB / 9.90 GiB free]
  Total: 1 [31.90 GiB] / in use: 1 [31.90 GiB] / in no VG: 0 [0   ]
# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created
# pvscan
  PV /dev/sda2   VG VolGroup00      lvm2 [31.90 GiB / 9.90 GiB free]
  PV /dev/sdb1                      lvm2 [15.99 GiB] ←追加されたことを確認
  Total: 2 [47.89 GiB] / in use: 1 [31.90 GiB] / in no VG: 1 [15.99 GiB]

(3) ボリュームグループの拡張

 LVMの物理ボリュームを元に既存のボリュームグループを拡張します。

# vgdisplay
  --- Volume group ---
  VG Name               VolGroup00
  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               31.90 GiB
  PE Size               4.00 MiB
  Total PE              8166
  Alloc PE / Size       5632 / 22.00 GiB
  Free  PE / Size       2534 / 9.90 GiB
  VG UUID               42KD42-JpFM-rGw0-0NwI-jsa5-rgYx-zXWuxP
   
# vgextend VolGroup00 /dev/sdb1
  Volume group "VolGroup00" successfully extended
# vgdisplay
  --- Volume group ---
  VG Name               VolGroup00
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               47.89 GiB
  PE Size               4.00 MiB
  Total PE              12260
  Alloc PE / Size       5632 / 22.00 GiB
  Free  PE / Size       6628 / 25.89 GiB ←空きが増えたことを確認
  VG UUID               42KD42-JpFM-rGw0-0NwI-jsa5-rgYx-zXWuxP
   

(4) 論理ボリュームの拡張

 拡張前に状態を確認します。

# vgdisplay -v VolGroup00
    Using volume group(s) on command line
    Finding volume group "VolGroup00"
  --- Volume group ---
  VG Name               VolGroup00
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  7
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               47.89 GiB
  PE Size               4.00 MiB
  Total PE              12260
  Alloc PE / Size       5632 / 22.00 GiB
  Free  PE / Size       6628 / 25.89 GiB ←空きエクステントサイズは25.89GB
  VG UUID               42KD42-JpFM-rGw0-0NwI-jsa5-rgYx-zXWuxP
   
(中略)
   
  --- Logical volume ---
  LV Path                /dev/VolGroup00/LogVol02
  LV Name                LogVol02
  VG Name                VolGroup00
  LV UUID                xoW5WA-v5jj-evMg-nJ2u-2vdo-aq3E-2Yrgpk
  LV Write Access        read/write
  LV Creation host, time linuxtest, 2013-03-18 07:54:45 +0900
  LV Status              available
  # open                 1
  LV Size                10.00 GiB ←論理ボリュームのサイズは10GB
  Current LE             2560
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2
   
  --- Physical volumes ---
  PV Name               /dev/sda2     
  PV UUID               th2zSN-lY9c-RIvi-pxbb-qxhd-02iq-AWe3v4
  PV Status             allocatable
  Total PE / Free PE    8166 / 2534
   
  PV Name               /dev/sdb1     
  PV UUID               bOlN0r-CchY-aHia-8Kn6-Uxdx-cYeD-CNZTD2
  PV Status             allocatable
  Total PE / Free PE    4094 / 4094
   
# lvscan
  ACTIVE            '/dev/VolGroup00/LogVol01' [2.00 GiB] inherit
  ACTIVE            '/dev/VolGroup00/LogVol00' [10.00 GiB] inherit
  ACTIVE            '/dev/VolGroup00/LogVol02' [10.00 GiB] inherit ←LogVol02のサイズは10GB
# df
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
                      10321208   2211156   7585764  23% /
tmpfs                   510244        76    510168   1% /dev/shm
/dev/sda1                99150     28916     65114  31% /boot
/dev/mapper/VolGroup00-LogVol02
                      10321208    257248   9539672   3% /var ←ファイルシステムのサイズも10GB

 拡張したボリュームグループ VolGroup00 内の論理ボリューム LogVol02 を10GB拡張して20GBにします。

# lvextend -L +10g /dev/VolGroup00/LogVol02
  Extending logical volume LogVol02 to 20.00 GiB
  Logical volume LogVol02 successfully resized

 拡張後に状態を確認します。

# vgdisplay -v VolGroup00
    Using volume group(s) on command line
    Finding volume group "VolGroup00"
  --- Volume group ---
  VG Name               VolGroup00
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  8
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               47.89 GiB
  PE Size               4.00 MiB
  Total PE              12260
  Alloc PE / Size       8192 / 32.00 GiB
  Free  PE / Size       4068 / 15.89 GiB ←空きエクステントサイズが10GB分減った
  VG UUID               42KD42-JpFM-rGw0-0NwI-jsa5-rgYx-zXWuxP
   
(中略)
   
  --- Logical volume ---
  LV Path                /dev/VolGroup00/LogVol02
  LV Name                LogVol02
  VG Name                VolGroup00
  LV UUID                xoW5WA-v5jj-evMg-nJ2u-2vdo-aq3E-2Yrgpk
  LV Write Access        read/write
  LV Creation host, time linuxtest, 2013-03-18 07:54:45 +0900
  LV Status              available
  # open                 1
  LV Size                20.00 GiB ←論理ボリュームのサイズが10GB分増えた
  Current LE             5120
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2
   
  --- Physical volumes ---
  PV Name               /dev/sda2     
  PV UUID               th2zSN-lY9c-RIvi-pxbb-qxhd-02iq-AWe3v4
  PV Status             allocatable
  Total PE / Free PE    8166 / 0
   
  PV Name               /dev/sdb1     
  PV UUID               bOlN0r-CchY-aHia-8Kn6-Uxdx-cYeD-CNZTD2
  PV Status             allocatable
  Total PE / Free PE    4094 / 4068
   
# lvscan
  ACTIVE            '/dev/VolGroup00/LogVol01' [2.00 GiB] inherit
  ACTIVE            '/dev/VolGroup00/LogVol00' [10.00 GiB] inherit
  ACTIVE            '/dev/VolGroup00/LogVol02' [20.00 GiB] inherit ←LogVol02のサイズが10GB分増えた
# df
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
                      10321208   2211012   7585908  23% /
tmpfs                   510244        76    510168   1% /dev/shm
/dev/sda1                99150     28916     65114  31% /boot
/dev/mapper/VolGroup00-LogVol02
                      10321208    257272   9539648   3% /var ←ファイルシステムのサイズはまだ10GBのまま

(5) ファイルシステムの拡張

 拡張した論理ボリュームのファイルシステム(ext4)を拡張します。

# resize2fs /dev/VolGroup00/LogVol02
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/VolGroup00/LogVol02 is mounted on /var; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/VolGroup00/LogVol02 to 5242880 (4k) blocks.
The filesystem on /dev/VolGroup00/LogVol02 is now 5242880 blocks long.

 拡張後に状態を確認します。

# df
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
                      10321208   2211012   7585908  23% /
tmpfs                   510244        76    510168   1% /dev/shm
/dev/sda1                99150     28916     65114  31% /boot
/dev/mapper/VolGroup00-LogVol02
                      20642428    262340  19331640   2% /var ←ファイルシステムのサイズが10GB増えた

プロフィール

らのっち

損害保険会社のIT企画部に勤務するSEです。OSSを勉強中です。

<所属>
日本PostgreSQLユーザ会とくしまOSS普及協議会


第000414号