LoginSignup
11
4

More than 5 years have passed since last update.

Logical Volume Manager の定義、I/O効率を改善する為LVMでストライプ化をテスト

Last updated at Posted at 2018-11-30

LVMとは

  • LVMは「論理ボリューム管理:Logical Volume Manager」の略でボリューム管理をするツールです。
  • 管理対象は複数の論理ボリュームを集約したLVM論理ボリュームです。

image.png

  • 用語:

物理ボリューム(パーティション) 
パーティションであり、Linuxではsda1やsdb2など

ボリュームグループ
物理ボリュームはボリュームグループに統合され、論理ボリュームへ割り当てるディスク領域のプールが作成される。

論理ボリューム
ボリュームグループから切り出した仮想的なパーティション領域。従来のパーティションと同じようにファイルシステムを作って利用可能です。

  • LVMを利用する流れ
  1. 物理ディスクから物理ボリューム(パーティション)を作成
    (sda1、sdb1、sdc1)

  2. 物理ボリュームのシステムタイプを、83(Linux)から8e (LVM)に変更

  3. ボリュームグループを作成(Vol-00)

  4. 論理ボリュームを作成(LogicVol-01)

  5. 論理ボリュームをmount(/mnt/lvm)

image.png

LVMのの機能

  • リニアボリューム

    • 複数の物理ボリュームの領域を 1 つの論理ボリュームに統合します。 例えば: 60GB ディスクが 2 つある場合、120GB の論理ボリュームを作成できます。
    • 通常データは設定した順番に書き込まれます。 PV1 ⇒ PV2
    • 論理ボリュームを構成している物理ボリュームは同じサイズである必要はありません。
    • 必要に応じて容量が追加できることでオブジェクトストレージみたいものです。

      image.png

    

  • ストライプ化 ボリューム

    • 単一ディスクでのデータ格納とは対照的に、複数のディスクにわたってデータを分散させる手段です。そしてストライプ化では、I/O は並行して実行されますので効率を改善することができます。
    • 以下の図では、3 つの物理ボリューム全体にデータがストライプ化されている状態を示しています。

    データの 1 番目のストライプは PV1 に書き込まれます。
    データの 2 番目のストライプは PV2 に書き込まれます。
    データの 3 番目のストライプは PV3 に書き込まれます。
    データの 4 番目のストライプは PV1 に書き込まれます。

    image.png

  • ミラー化 ボリューム

    • ミラーはデータの同一コピーを異なるデバイスに維持します。データが 1 つ目のデバイスに書き込まれると、2 つ目のデバイスにも書き込まれ、データのミラー化が行われます。この重複保存は、デバイス障害に対する保護になります。
    • ミラー化した際、同一の物理ボリュームを使用せずに異なる物理ボリュームを使用した場合、利用できるのは容量の小さな物理ボリュームのサイズとなります。 1GBディスクと2GBディスクをミラー化した場合の使用可能な容量は1GBになります。
    • 実際に各サーバでLVMのスナップショットとミラー化を利用せずにVMwareやStorageなどがスナップショットとミラー化をサポートするので、集中的に管理した方がいいです

image.png

  • スナップショット

    • 論理ボリュームのシンプロビジョニング(thin provisioning)が可能になりました。スナップショットは、ある瞬間のファイルシステムのイメージを保持したものです。
    • スナップショットは全データを複製するのではなく、元のデータへのリンク情報というポインタだけを残したものであるため、スナップショット領域はデータ元よりも格段に少ない容量で済み、元データが大きい場合もスナップショット作成処理は数秒で完了します。元のデータに変更が加えられた場合は、スナップショット領域に変更前のデータが退避されます。

      image.png

LVMでストライプ化論理ボリュームをテスト

  • I/O効率を改善することがでるので今回LVMでストライプ化のテストを実施します。 テスト目的:
    • 二つの2Tパーティションから4TBのLVM論理パーティションを組み立てて、 ストライプできるか確認します。
    • MBR標準で2T 以上のパーティションが作成できない問題を解決します。
  • CentOSバージョンとパーティションテーブルを確認
    CentOSバージョン:6.10
    パーティションテーブル:msdos ➞ MBR標準です。

    image.png

  • 操作する対象のsdb、sdcを確認

    image.png

  • 物理ボリュームを作成
    image.png

  • ボリュームグループを作成

    image.png

  • 論理ボリュームを作成
    オプション: 
    -n lv-data 論理ボリューム名を指定
    -l 100%FREE 空き容量を全て使うことができる
    -i2 ストライプするボリューム数(2)を指定
    -vg-data どのボリュームグループか名前を指定

    image.png

  • ストライプを確認
    lvdisplay 論理ボリュームの情報を表示
    m 論理ボリュームのマッピングの情報を表示

    image.png

  • 実際に論理ボリュームをmountし、データを作成してI/Oテスト
    ddで8GB のデータを作成して、I/Oテスト
    bs    ブロックデータのサイズを指定
    count   ブロックデータの数を指定

    image.png

  • 同時にiostatで観察sdbとsdcが一斉に書き込むことができました。
    image.png

11
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
4