次の方法で共有


Azure の Linux VM で LVM を構成する

このドキュメントでは、Azure 仮想マシンで論理ボリューム マネージャー (LVM) を構成する方法について説明します。 LVM は、Azure VM の OS ディスクまたはデータ ディスクで使用できますが、既定では、ほとんどのクラウド イメージでは、OS ディスクに LVM が構成されていません。 以下の手順では、データ ディスクの LVM の構成に重点を置きます。

線形とストライプの論理ボリューム

LVM を使用して、多数の物理ディスクを 1 つのストレージ ボリュームに結合できます。 既定では、LVM は通常、線形論理ボリュームを作成します。つまり、物理ストレージは連結されます。 この場合、通常、読み取り/書き込み操作は 1 つのディスクにのみ送信されます。 これに対して、ボリューム グループに含まれる複数のディスク (RAID0 と同様) に読み取りと書き込みが分散されるストライピングされた論理ボリュームを作成することもできます。 パフォーマンス上の理由から、接続されているすべてのデータ ディスクを読み取りと書き込みで利用できるように、論理ボリュームをストライピングすることが必要になる可能性があります。

このドキュメントでは、複数のデータ ディスクを 1 つのボリューム グループに結合し、ストライピングされた論理ボリュームを作成する方法について説明します。 以下の手順は、ほとんどのディストリビューションで動作するように一般化されています。 ほとんどの場合、Azure 上の LVM を管理するためのユーティリティとワークフローは、他の環境と根本的に異なっていません。 通常どおり、特定のディストリビューションで LVM を使用するためのドキュメントとベスト プラクティスについては、Linux ベンダーにお問い合わせください。

データ ディスクの接続

LVM を使用するときは、通常、2 つ以上の空のデータ ディスクから始める必要があります。 IO のニーズに基づいて、Standard Storage に格納されているディスクを接続できます。ディスクあたり最大 500 IO/ps、またはディスクあたり最大 5000 IO/ps の Premium ストレージを使用できます。 この記事では、Linux 仮想マシンにデータ ディスクをプロビジョニングしてアタッチする方法については詳しく説明しません。 空のデータ ディスクを Azure 上の Linux 仮想マシンに接続する方法の詳細については、Microsoft Azure の記事「ディスクを接続する」を参照してください。

LVM ユーティリティをインストールする

  • Ubuntu

    sudo apt-get update
    sudo apt-get install lvm2
    
  • RHEL、CentOS 、Oracle Linux

    sudo yum install lvm2
    
  • SLES 12 と openSUSE

    sudo zypper install lvm2
    
  • SLES 11

    sudo zypper install lvm2
    

    SLES11 では、 /etc/sysconfig/lvm を編集し、 LVM_ACTIVATED_ON_DISCOVERED を "有効" に設定する必要もあります。

    LVM_ACTIVATED_ON_DISCOVERED="enable" 
    

LVM の構成

このガイドでは、3 つのデータ ディスクが接続されていることを前提としています。これは、 /dev/sdc/dev/sdd/dev/sdeと言います。 これらのパスは、VM のディスク パス名と一致しない場合があります。 'sudo fdisk -l' または同様のコマンドを実行して、使用可能なディスクを一覧表示できます。

  1. 物理ボリュームを準備します。

    sudo pvcreate /dev/sd[cde]
    Physical volume "/dev/sdc" successfully created
    Physical volume "/dev/sdd" successfully created
    Physical volume "/dev/sde" successfully created
    
  2. ボリューム グループを作成します。 この例では、ボリューム グループ data-vg01を呼び出しています。

    sudo vgcreate data-vg01 /dev/sd[cde]
    Volume group "data-vg01" successfully created
    
  3. 論理ボリュームを作成します。(複数可) 次のコマンドでは、ボリューム グループ全体にまたがって data-lv01 という 1 つの論理ボリュームを作成しますが、ボリューム グループ内に複数の論理ボリュームを作成することもできます。

    sudo lvcreate --extents 100%FREE --stripes 3 --name data-lv01 data-vg01
    Logical volume "data-lv01" created.
    
  4. 論理ボリュームのフォーマット

    sudo mkfs -t ext4 /dev/data-vg01/data-lv01
    

    SLES11 では、ext4 の代わりに -t ext3 を使用します。 SLES11 では、ext4 ファイルシステムへの読み取り専用アクセスのみがサポートされます。

新しいファイル システムを /etc/fstab に追加する

重要

/etc/fstab ファイルを不適切に編集すると、システムが起動できなくなる可能性があります。 編集方法がはっきりわからない場合は、このファイルを適切に編集する方法について、ディストリビューションのドキュメントを参照してください。 編集する前に、/etc/fstab ファイルのバックアップを作成することもお勧めします。

  1. 新しいファイル システムに必要なマウント ポイントを作成します。次に例を示します。

    sudo mkdir /data
    
  2. 論理ボリューム パスを特定する

    lvdisplay
    --- Logical volume ---
    LV Path                /dev/data-vg01/data-lv01
    ....
    
  3. テキスト エディターで /etc/fstab を開き、新しいファイル システムのエントリを追加します。次に例を示します。

    /dev/data-vg01/data-lv01  /data  ext4  defaults  0  2
    

    次に、 /etc/fstabを保存して閉じます。

  4. /etc/fstabエントリが正しいことをテストします。

    sudo mount -a
    

    このコマンドの結果としてエラー メッセージが表示される場合は、 /etc/fstab ファイルの構文を確認してください。

    次に、 mount コマンドを実行して、ファイル システムがマウントされていることを確認します。

    mount
    ......
    /dev/mapper/data--vg01-data--lv01 on /data type ext4 (rw)
    
  5. (省略可能) フェールセーフ ブート パラメーターが指定された /etc/fstab

    多くのディストリビューションには、nobootwait ファイルに追加できるnofailまたは/etc/fstabマウント パラメーターが含まれます。 これらのパラメーターを使用すると、特定のファイル システムをマウントするときにエラーが発生し、RAID ファイル システムを適切にマウントできない場合でも Linux システムを起動し続けることができます。 これらのパラメーターの詳細については、ディストリビューションのドキュメントを参照してください。

    例 (Ubuntu):

    /dev/data-vg01/data-lv01  /data  ext4  defaults,nobootwait  0  2
    

TRIM/UNMAP のサポート

一部の Linux カーネルでは、ディスク上の未使用ブロックを破棄するために TRIM/UNMAP 操作がサポートされます。 これらの操作は、削除されたページが無効になり、破棄できることを Azure に通知するために、主に Standard Storage で役立ちます。 大きなファイルを作成してから削除するときにページを破棄することで、コストを節約できます。

Linux VM で TRIM のサポートを有効にする方法は 2 通りあります。 通常どおり、ご使用のディストリビューションで推奨される方法をお問い合わせください。

  • 次のように、discard/etc/fstab マウント オプションを使用します。

    /dev/data-vg01/data-lv01  /data  ext4  defaults,discard  0  2
    
  • 場合によっては、discard オプションがパフォーマンスに影響を与える場合があります。 または、 fstrim コマンドを手動でコマンド ラインから実行するか、crontab に追加して定期的に実行することができます。

    Ubuntu

    # sudo apt-get install util-linux
    # sudo fstrim /datadrive
    

    RHEL、CentOS 、Oracle Linux

    # sudo yum install util-linux
    # sudo fstrim /datadrive