無料Wikiサービス | デモページ
Linuxなどのメモ書き
検索

Adsense

LVMによるボリューム拡張


Rev.2を表示中。最新版はこちら

概要

VMWare上のLinuxでディスク容量が足りなくなったので、ディスクを追加して、LVM2でボリュームサイズを拡張する。

前提

ディスクの状況

# df
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/mapper/vg_wing-lv_root
                      24593536  22759168    585088  98% /
/dev/sda1               198337     36603    151494  20% /boot
tmpfs                   507528      1520    506008   1% /dev/shm

/のサイズを拡張する。/のファイルシステムはext4。

/はVolumeGroup:vg_wing内のLogicalVolume:lv_root内に割り当てられている。

手順の概要

(1) VMWareの仮想マシンの設定からディスクを追加(今回は20GB)
(2) 追加したディスクにfdiskでLVM用の領域を作成
(3) (2)で作成したLVM領域にPhysicalVolumeを作成
(4) PhysicalVolumeをVolumeGroup(vg_wing)に追加
(5) /のLogicalVolume(lv_root)のサイズを拡張
(6) /のファイルシステムサイズをLogicalVolumeのサイズまで拡張

作業内容

まずは、VMWareの仮想マシンの設定からディスクを追加(今回は20GB分)。

Linuxを起動後、fdiskでLVM用の領域を作成する。

# fdisk /dev/sdb  <== 今回追加したディスクは/dev/sdb
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
Building a new DOS disklabel with disk identifier 0x525a5e11.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.


このディスクのシリンダ数は 2610 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
   (例. DOS FDISK, OS/2 FDISK)
警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります

コマンド (m でヘルプ): p

ディスク /dev/sdb: 21.4 GB, 21474836480 バイト
ヘッド 255, セクタ 63, シリンダ 2610
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
Disk identifier: 0x525a5e11

デバイス ブート     始点        終点    ブロック   Id システム
<== まだ領域はなにもない

コマンド (m でヘルプ): n <== 領域作成
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-2610, 初期値 1): <== 20GB分すべて割り当て
初期値 1 を使います
Last シリンダ, +シリンダ数 or +size{K,M,G} (1-2610, 初期値 2610): 
初期値 2610 を使います

コマンド (m でヘルプ): p

ディスク /dev/sdb: 21.4 GB, 21474836480 バイト
ヘッド 255, セクタ 63, シリンダ 2610
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
Disk identifier: 0x525a5e11

デバイス ブート     始点        終点    ブロック   Id システム
/dev/sdb1               1        2610    20964793+  83  Linux
<== 領域が作成された

コマンド (m でヘルプ): t <== 領域の種別をLVMに変更する
選択した領域 1
16進数コード (L コマンドでコードリスト表示): 8e
領域のシステムタイプを 1 から 8e (Linux LVM) に変更しました

コマンド (m でヘルプ): p

ディスク /dev/sdb: 21.4 GB, 21474836480 バイト
ヘッド 255, セクタ 63, シリンダ 2610
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
Disk identifier: 0x525a5e11

デバイス ブート     始点        終点    ブロック   Id システム
/dev/sdb1               1        2610    20964793+  8e  Linux LVM
<== Linux LVMに変更された

コマンド (m でヘルプ): w <==ディスクに書き込んで終了
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。

次に作成した領域(/dev/sdb1)にPhysicalVolumeを作成する。

# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created

# pvdisplay 
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               vg_wing
  PV Size               24.80 GB / not usable 3.72 MB
  Allocatable           yes (but full)
  PE Size (KByte)       4096
  Total PE              6348
  Free PE               0
  Allocated PE          6348
  PV UUID               Lnejqg-BXFK-mEjP-JWwT-a7wD-F63Q-WANN3P
以下が新しく作成したPhysicalVolume
  "/dev/sdb1" is a new physical volume of "19.99 GB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               <== VolumeGroupはまだ割り当てていないので空
  PV Size               19.99 GB
  Allocatable           NO
  PE Size (KByte)       0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               NcfcBj-uewt-C40I-EdPv-rcIh-malQ-Eu7acF

作成中...


最終更新 2011/03/21 11:26:44 - kztomita
(2011/03/21 11:09:34 作成)