ディスク交換→LVM拡張

HDD交換し、LVMを拡張する方法です。VM環境で実施。
LVMを拡張ついでに、VG拡張も実施しています。
※数回やったことがあります。
旧HDD5GB→新HDD20GB
※拡張するLVMはVolGroup00でテスト環境なので全容量を割り当てる(切るのが面倒w)

  1. データ移行
    ツールG4Lを使用して、データをバックアップ→HDD交換後にリストアする
    G4Lの使用方法
  2.  現在のディスク容量を確認する
    # df -h
    Filesystem          サイズ  使用  残り 使用% マウント位置
    /dev/mapper/VolGroup00-LogVol00
                          4.3G  2.8G  1.4G  68% /
    /dev/sda1              99M   25M   70M  26% /boot
    tmpfs                 125M     0  125M   0% /dev/shm
    
    ※G4Lでリストアするだけではもちろんディスク容量は小さいまま
  3. VGを確認する
    # vgdisplay VolGroup00
      --- Volume group ---
      VG Name               VolGroup00
      System ID             
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  3
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                2
      Open LV               2
      Max PV                0
      Cur PV                1
      Act PV                1
      VG Size               4.88 GB
      PE Size               32.00 MB
      Total PE              156
      Alloc PE / Size       156 / 4.88 GB
      Free  PE / Size       0 / 0   
      VG UUID               327z1U-sD31-u5mb-otyC-ZgD0-Khb3-MVBe09
    
    ※Free PEが開いてないのでやはり空きは全くない。
  4. パーティションを確認する
    # fdisk -l
    
    Disk /dev/sda: 21.4 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 cylinders
    Units = シリンダ数 of 16065 * 512 = 8225280 bytes
    
    デバイス Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          13      104391   83  Linux
    /dev/sda2              14         652     5132767+  8e  Linux LVM
    
  5.  パーティションサイズを変更する
    ※流れ的に一度領域を削除後に頭のシリンダ番号を同じにして再作成します(後ろだけ変更する感じ)
    # fdisk /dev/sda
    
    このディスクのシリンダ数は 2610 に設定されています。
    間違いではないのですが、1024 を超えているため、以下の場合
    に問題を生じうる事を確認しましょう:
    1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
    2) 別の OS のブートやパーティション作成ソフト
       (例. DOS FDISK, OS/2 FDISK)
    
    コマンド (m でヘルプ): p
    
    Disk /dev/sda: 21.4 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 cylinders
    Units = シリンダ数 of 16065 * 512 = 8225280 bytes
    
    デバイス Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          13      104391   83  Linux
    /dev/sda2              14         652     5132767+  8e  Linux LVM
    
    コマンド (m でヘルプ): d
    領域番号 (1-4): 2
    
    コマンド (m でヘルプ): n
    コマンドアクション
       e   拡張
       p   基本領域 (1-4)
    p
    領域番号 (1-4): 2
    最初 シリンダ (14-2610, default 14): そのままエンター
    Using default value 14
    終点 シリンダ または +サイズ または +サイズM または +サイズK (14-2610, default 2610): そのままエンター
    Using default value 2610
    
    コマンド (m でヘルプ): p
    
    Disk /dev/sda: 21.4 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 cylinders
    Units = シリンダ数 of 16065 * 512 = 8225280 bytes
    
    デバイス Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          13      104391   83  Linux
    /dev/sda2              14        2610    20860402+  83  Linux
    
    コマンド (m でヘルプ): t
    領域番号 (1-4): 2
    16進数コード (L コマンドでコードリスト表示): 8e       
    領域のシステムタイプを 2 から 8e (Linux LVM) に変更しました
    
    コマンド (m でヘルプ): p
    
    Disk /dev/sda: 21.4 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 cylinders
    Units = シリンダ数 of 16065 * 512 = 8225280 bytes
    
    デバイス Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          13      104391   83  Linux
    /dev/sda2              14        2610    20860402+  8e  Linux LVM
    
    コマンド (m でヘルプ): w
    領域テーブルは交換されました!
    
    ioctl() を呼び出して領域テーブルを再読込みします。
    
    警告: 領域テーブルの再読込みがエラー 16 で失敗しました: デバイスもしくはリソースがビジー状態です。
    カーネルはまだ古いテーブルを使っています。
    新しいテーブルは次回リブート時に使えるようになるでしょう。
    ディスクを同期させます。
    
    ※システム領域の拡張なので、起動中に拡張できません。
    メッセージ通り、一度再起動すると反映するようなので再起動します。
  6.  再起動します
    # shutdown -r now
  7.  VGを確認する
    # vgdisplay VolGroup00
      --- Volume group ---
      VG Name               VolGroup00
      System ID             
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  3
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                2
      Open LV               2
      Max PV                0
      Cur PV                1
      Act PV                1
      VG Size               4.88 GB
      PE Size               32.00 MB
      Total PE              156
      Alloc PE / Size       156 / 4.88 GB
      Free  PE / Size       0 / 0   
      VG UUID               327z1U-sD31-u5mb-otyC-ZgD0-Khb3-MVBe09
    
    ※fdiskするだけではFree PEは増えない
  8. pvresizeをする
    ※手順が違ったので直してます。確かこれで大丈夫なはずです。
    # pvresize /dev/sda2
    
  9. pvscanをする
    # pvscan
    
  10. 再びVGを確認する
    # vgdisplay VolGroup00
      --- Volume group ---
      VG Name               VolGroup00
      System ID             
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  9
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                2
      Open LV               2
      Max PV                0
      Cur PV                1
      Act PV                1
      VG Size               19.88 GB
      PE Size               32.00 MB
      Total PE              636
      Alloc PE / Size       156 / 4.88 GB
      Free  PE / Size       480 / 15.00 GB
      VG UUID               327z1U-sD31-u5mb-otyC-ZgD0-Khb3-MVBe09
    
    ※Free PEが無事15GBになりました。

 いらないコマンドが入っていたので修正(2011/08/01)