Custom Search

JITAKU_SVR_Wiki



LVM構築

LVMとはLogical Volume Manager(論理ボリュームマネージャ)の意味。
物理的な障害や、ディスク容量(パーティション)の増減を臨機応変に対応可能。

PV(Physical Volume)

物理ボリュームのこと。/dev/hda7や/dev/hdcと示すディスクそのものを意味する。
NL1200では、
/dev/rd/c0d0
にあたる。

VG(Volume Group)

上記のPVを束ねて作成されるボリュームのこと。
この中から実際に使う「論理的な」パーティションを切り出すことになる。

LV(Logical Volume)

LVとは、ここまで「論理的な」ボリュームであり、VGから切り出して実際に利用することになるパーティションを示す。

PE(Physical Extent)

LV作成時に選択が可能。
この値を大きくすることでLV総容量が増える。
しかし、大きくしすぎるとパフォーマンスの劣化があるため、デフォルト(32M)を指定。

LVM領域を作成するときに表示されるエラーなどを収集したい場合は、「vgscan」コマンドを使用する。
エラーが出た場合は確認してみる。

1.PVを作成する。
2.VGを作成する。
3.LVを作成する。

TIPS
PVを作成するのは作業的にはフォーマットに相当する。
1つのPVに対して1つのVGを作成可能。

物理的なディスクを後付けしても、そのディスクに同じVGを指定すれば、
VGの容量を増やすことが可能。

LVはその名の通り論理ボリュームを作成しているという意味。

LVM使用例

領域を作成する手順
OSインストール時
(CentOS5.5)
必要なパーティションがあれば先に設定しておく。

例)
計30GBディスク
swap 2GB
/ 8GB

残り20GB
「新規」から「ファイルシステムタイプ」からphysical volume(LVM)を指定する。
(コマンドではpvcreateの部分)

出来上がったPVは「LVMボリュームグループ」として表記される。
更にこのボリュームに対してLVMボタン(vgcreateにあたるボタン)を押しボリューム名の変更ができる。

出来上がった「LVMボリュームグループ」に「論理ボリューム」を作成することができる(lvcreate)

LVMの確認

実際に出来上がったOSでの状態

・fdiskでパーティション情報を取得
[root@centos ~]# fdisk -l

Disk /dev/hda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot Start End Blocks Id System
/dev/hda1 * 1 1044 8385898+ 83 Linux
/dev/hda2 1045 2349 10482412+ 8e Linux LVM
/dev/hda3 2350 2610 2096482+ 82 Linux swap / Solaris
/dev/hda4 2611 3916 10490445 5 拡張領域
/dev/hda5 2611 3916 10490413+ 8e Linux LVM

LVM用のパーティションはhda2とhda5になっていることが分かる。
hda4は基本パーティションではすべてを作成することができないので、
拡張領域(論理パーティション)として認識されている。

・dfコマンドで容量デバイス名を確認
[root@centos ~]# df -h
Filesystem         サイズ 使用 残り 使用% マウント位置
/dev/hda1          7.8G 3.1G 4.3G 42% /
/dev/mapper/vg01-lv01   9.7G 151M 9.1G 2% /home
/dev/mapper/vg02-lv02   4.9G 139M 4.5G 3% /data02
/dev/mapper/vg02-lv01   4.9G 139M 4.5G 3% /data01
tmpfs             1014M 0 1014M 0% /dev/shm

vg01とvg02がmapperとしてマウントされていることが分かる。

わかりやすく表で示すと、以下のような構成になっている。

[PV][VG][LV][size][mount]
hda2vg01lv0110GB/home
hda5vg02lv015GB/data1
lv025GB/data2

TIPS
カーネル2.6のLVM2からは、Device-Mapperと呼ばれる論理/物理デバイス間のマッピング機構がカーネルに組み込まれるようになっている。
スナップショット生成など、従来のLVMが持っていたより高度な機能は、LVM2の管理ツールで実現される。

以下、確認方法のコマンドと表示例

pvdisplay

[root@centos ~]# pvdisplay 
 --- Physical volume ---
 PV Name               /dev/hda5
 VG Name               vg02
 PV Size               10.00 GB / not usable 4.54 MB
 Allocatable           yes (but full)
 PE Size (KByte)       32768
 Total PE              320
 Free PE               0
 Allocated PE          320
 PV UUID               KkWBpZ-TU8i-nztG-zVVB-3s8n-UPc0-Cp5QTQ
    
 --- Physical volume ---
 PV Name               /dev/hda2
 VG Name               vg01
 PV Size               10.00 GB / not usable 28.73 MB
 Allocatable           yes (but full)
 PE Size (KByte)       32768
 Total PE              319
 Free PE               0
 Allocated PE          319
 PV UUID               A3fiWu-3uze-bwlO-K1NS-AdXc-bm5x-Pj55Hv
  

pvdisplayコマンドを実行すると、現在のPVの情報が得られる。
上記を見ると、2つのPVが作成されていることが分かる。

vgdisplay

vgdisplayコマンドは、ボリュームグループに関する情報を表示することができる。
vgdisplayは、指定された各VGに対してそのボリュームグループに関する情報を表示する。
引数を取らない場合、定義されているすべてのボリュームグループの名称と関連する情報を表示する。

[root@centos ~]# vgdisplay

 /dev/cdrom: read failed after 0 of 2048 at 0: 入力/出力エラーです
 --- Volume group ---
 VG Name               vg02
 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               10.00 GB
 PE Size               32.00 MB
 Total PE              320
 Alloc PE / Size       320 / 10.00 GB
 Free  PE / Size       0 / 0   
 VG UUID               vI37K9-VpqD-5MtK-ny0r-Aqnx-ThrU-Eea2sx
  
 --- Volume group ---
 VG Name               vg01
 System ID             
 Format                lvm2
 Metadata Areas        1
 Metadata Sequence No  2
 VG Access             read/write
 VG Status             resizable
 MAX LV                0
 Cur LV                1
 Open LV               1
 Max PV                0
 Cur PV                1
 Act PV                1
 VG Size               9.97 GB
 PE Size               32.00 MB
 Total PE              319
 Alloc PE / Size       319 / 9.97 GB
 Free  PE / Size       0 / 0   
 VG UUID               3oucD3-DNsY-g2eh-pDsl-S9Bk-lJwf-qQRW8r

以上を見ると、vg01とvg02が定義されていることが分かる。

lvdisplay

vgdispayではVolumeGroupの情報が取得でき、lvdisplayでは論理ボリュームの情報が取得できる。

[root@centos ~]# lvdisplay
 /dev/cdrom: read failed after 0 of 2048 at 0: 入力/出力エラーです
 --- Logical volume ---
 LV Name                /dev/vg02/lv02
 VG Name                vg02
 LV UUID                VZoWsx-x0II-SK4j-eK0Z-LAXi-Pkv1-Emqiyk
 LV Write Access        read/write
 LV Status              available
 # open                 1
 LV Size                5.00 GB
 Current LE             160
 Segments               1
 Allocation             inherit
 Read ahead sectors     auto
 - currently set to     256
 Block device           253:0
  
 --- Logical volume ---
 LV Name                /dev/vg02/lv01
 VG Name                vg02
 LV UUID                AOyTnp-NJ1Z-93R9-3alR-KkX6-YMxN-sR507V
 LV Write Access        read/write
 LV Status              available
 # open                 1
 LV Size                5.00 GB
 Current LE             160
 Segments               1
 Allocation             inherit
 Read ahead sectors     auto
 - currently set to     256
 Block device           253:1
  
 --- Logical volume ---
 LV Name                /dev/vg01/lv01
 VG Name                vg01
 LV UUID                k6GiPg-IPdX-I3Ko-04R8-tmXL-ZDri-agv9Xc
 LV Write Access        read/write
 LV Status              available
 # open                 1
 LV Size                9.97 GB
 Current LE             319
 Segments               1
 Allocation             inherit
 Read ahead sectors     auto
 - currently set to     256
 Block device           253:2
  

上記から、VolumeGroupは2種類存在し(vg01とvg02)、vg02には2種類の論理ボリュームが存在していることが分かる。

論理ボリューム名がlv01とlv02で同じになっているが、基本的にはVG配下になっているものなので同じ名前でも問題ない(管理上は分かりにくいが…。)

注意
LV名が同じでも問題ないが、VG名が同じだと、どちらか片方しか認識しないので注意!
(後付けしたディスクを取り付けた場合等に発生する可能性あり)

vgscan

今回はOSインストール時にLVMを構築してしまったので、得に問題は起きていないが、
稼働中のサーバでLVMを構築した場合、PVの名称変更時などに使用する。

※現在のところ使用環境がないため、使用するときに追記予定。

以下リンクから、実際にハードディスクを付け足し、領域の増減を実施しているコマンドの例。

LVM_運用?

参考URL

http://www.itmedia.co.jp/enterprise/0307/11/epn01.html


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-12-02 (日) 03:38:24 (1754d)