LVMにディスクを追加する最良の方法は何ですか?

LVMにディスクを追加する最良の方法は何ですか?

Linuxのマニュアルページによれば、rawディスクとパーティションをボリュームグループに追加できます。

他のドキュメント(RedHat、CentOS、またはopenSUSE)では、すべての例は、rawディスクではなくVGにパーティションを追加することを示しています。一般的な(ベスト)ケースは何ですか?

答え1

RHEL6 LVM管理ガイド

~によるとRHEL 6 論理ボリューム管理ガイドドライブ全体をLVMボリュームグループの物理ボリュームとして使用する場合は、パーティションを分割することをお勧めします。

「RHEL6論理ボリュームマネージャ管理LVM管理ガイド」ガイドから抜粋

2.1.2。ディスクのマルチパーティション

LVMを使用すると、ディスクパーティションから物理ボリュームを作成できます。通常、次の理由でディスク全体を含む単一のパーティションを作成し、LVM 物理ボリュームにラベルを付けることをお勧めします。

行政の利便性

各物理ディスクが一度だけ表示される場合は、システムのハードウェアを追跡する方が簡単です。ディスクに障害が発生した場合は特にそうです。さらに、単一のディスクに複数の物理ボリュームがある場合、起動時に未知のパーティションタイプに関するカーネル警告が発生する可能性があります。

LVMガイド

部分11.1 LVM Howtoのディスクまたはディスクパーティションを初期化します。条項は次のとおりです。

LVM Howtoからの抜粋

フルディスクの場合:

ディスクからpvcreateを実行します。

# pvcreate /dev/hdb

これにより、ディスクの先頭にボリュームグループ記述子が作成されます。

推奨しない

ディスク全体にわたるパーティションではなく、ディスク全体をPVとして使用すると、管理上の問題が発生する可能性があるため、お勧めできません。ディスクを表示する他のオペレーティングシステムは、LVMメタデータを認識せず、ディスクを使用可能としてマークするため、上書きされる可能性があります。 LVM自体は、ディスク全体のPVを非常にうまく処理します。

LVMがパーティションテーブルを使用してディスクを初期化できないというエラーが表示された場合は、まず正しいディスクで作業していることを確認してください。これが真であると確信している場合は、次のコマンドを実行します。

危険

次のコマンドは、作業中のディスクのパーティションテーブルを削除します。正しいディスクであることを確認してください。

# dd if=/dev/zero of=/dev/diskname bs=1k count=1
# blockdev --rereadpt /dev/diskname

結論として

これは、HDDを物理ボリュームとして追加する前にHDDの個々のパーティションをフォーマットする必要があるかどうかを判断するときに私が信頼する主なソースです。他の答え(および説明)が示すように、パーティションなしでドライブ全体を追加すると問題は発生しません。

私はそれをシートベルトを着用して運転することに例えます。事故に遭ったことがなければ、シートベルトは何の役割も果たせませんが、事故に遭った場合は間違いなく着用したでしょう。

フォローアップ#1(@Joelのコメントに対する回答)

上記の2つのガイドには2つの良い理由があると思います。どちらも公式ガイドです。 1つはRHによって提供され、もう1つはLVMチームによって編集されたHowtoです。

これがもう一つの理由です。 HDDを分割しないと、HDDの使用方法を明確に識別できるIDは明示的に設定されません。

 fdisk -l
 ...
/dev/sda6       318253056   956291071   319019008   8e  Linux LVM

システム管理者として、私と他の人は、8eを使用していないときよりも、この特定のドライブを使用する方法についてより良いアイデアを持っています。

@ Joelさんの言葉に感謝します。私はまた、Fortune 500の企業で働いていて、デスクトップ/サーバーの物理的/仮想的な展開だけでなく、大規模なストレージ展開に何百ものLinuxを展開したので、どういう意味か理解しています。

答え2

普遍的に認識される記述子(メタデータ)を持つ方が良いですが、MBRはそのような記述子として機能します。 GPTでさえ、以前のMBRベースのパーティションテーブルを使用して存在を示します。

実際には、一部のディスク容量が失われますが、これは無視できるレベルであり、ディスクに何があるのか​​(そしてどこにあるのか)知ることで得られる利点は自明です。

答え3

ディスク容量の100%を占めるパーティションに物理ボリュームを作成することは決して正しいことではありません。私が「ほぼ」と言う理由は、ただ何をすべき理由が思い出せないからといって、それをする理由がないという意味ではないという私の態度のためです。つまり、ディスクがLVMを使用している場合、パーティションをスペースの100%に配置する理由はありません。

一部の固定パーティションを復元しても大きな利点はありません。 SAN対応の物理ボリュームであり、これを行う場合は、ボリュームグループのストレージスペースを拡張する方法は2つあります。

  1. 新しい新しいLUNをプロビジョニングし、ボリュームグループに追加し、何らかの方法で分割したLUNをpvmoveし、ボリュームグループから削除し、SANユーザーにキャンセルするように指示します。これは可能であり、オンラインで実行できますが、パフォーマンスの低下があり、SAN側のストレージプールに両方のLUNを収容するのに十分なSANスペースがあると仮定するときに可能です。
  2. 唯一の他の方法は、パーティションを扱うことに戻ることです。これは、人々がbtrfs、lvm、zfsなどのようによく設計されたボリューム管理スキームを好む理由の1つです。物理ボリュームのパーティションテーブルを編集してpartprobe新しいサイズを読み取ることができますが、個人的な経験によれば、これは2回のうち1回だけ機能し、ファイルシステムをマウント解除する必要があります(例:オフライン人々がボリュームマネージャを愛するもう一つの理由)。

フルディスクを使用している場合は、SAN管理者がLUNを拡張できます。SCSIバスを再スキャンすると、LUNの新しいサイズを取得して物理pvresizeボリュームを拡張できます。ファイルシステムをオフラインにすることなく、これをすべて行うことができます。

MBR ビットがオフの状態では、通常、あるシステムから PV を取り込み、エンタープライズ環境の他のシステムには提供しません。これがLVMの場合は、LUNを提供するオペレーティングシステムがLVMをサポートしたいと思うでしょう。そうでなければ、彼らにそれを提示するポイントは何ですか?その場合は、すべての物理ボリューム情報、ボリュームグループ情報、および論理ボリュームを表示できます(これがボリュームグループの唯一のPVであると仮定)。だからそう記録します。

オリジナル:ディスク全体を100%に分割することは、リンゴパイを持ってきたウェイターにナイフを頼むようなものです。彼がそうすれば、あなたはナイフを横に倒してパイに顔を埋めます。意味:一度だけ使用したい場合は、1つのツールを使用して何かをより小さな部分に分割することは意味がありません。

答え4

私の経験では、テスト中またはディスク/ストレージを使用できない小規模な環境では、パーティションを使用することをお勧めします。これは学校に適しているか、ガレージで働くときに適しています。現実の世界では、必要に応じてディスクを拡張できる仮想サーバーを使用して、パーティションの代わりにLVMにRAW / Full Diskを管理させることをお勧めします。サーバーを再起動しなくても、簡単で柔軟な管理が可能です。これで時間がどれくらい節約されるのか分かりますか?これを管理する必要があるすべてのサーバーに乗算します。スプリット/スライスによってカーネルが新しいテーブルを認識できない可能性があるため、サーバーを再起動する必要がある問題に何度も直面しました。 RAWディスクを使用するLVMは、LVMにRAWディスク/仮想ディスクを追加してファイルシステムを拡張する必要がある場合に便利です。 XXXがディスク(sdb、sdc、sddなど)である「echo 1> / sys / block / XXX / device / rescan」などの簡単なコマンドを実行すると、再起動やブームなしでディスクが追加スペースのために再スキャンされます。ファイルシステムを動的に拡張できます。 Linuxサーバーを再起動せずにディスクを拡張するのに約5分かかります。パーティションディスクの場合、プロセスは複雑です。

関連情報