LVMにディスクを追加するためのベストプラクティスは何ですか


21

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

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


回答:


19

RHEL6 LVM管理ガイド

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

ガイド「RHEL6 Logical Volume Manager Administration LVM Administrator Guide」からの抜粋

2.1.2。ディスク上の複数のパーティション

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

管理上の利便性

各実ディスクが1回しか表示されない場合、システム内のハードウェアを追跡するのが簡単です。これは、ディスクに障害が発生した場合に特に当てはまります。さらに、1つのディスクに複数の物理ボリュームがあると、起動時に不明なパーティションタイプに関するカーネル警告が表示される場合があります。

LVMハウツー

セクション11.1 LVM Howtoのディスクまたはディスクパーティションを初期化すると、次のようになります。

LVM Howtoからの抜粋

ディスク全体の場合:

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

# pvcreate /dev/hdb

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

非推奨

ディスク全体をPVとして使用する(ディスク全体にまたがるパーティションではなく)ことは、管理上の問題が発生する可能性があるため、お勧めしません。ディスクを見る他のOSはLVMメタデータを認識せず、ディスクがフリーであると表示するため、上書きされる可能性があります。LVM自体は、ディスク全体のPVで正常に機能します。

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

危険な

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

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

結論

これらは、物理ボリュームとして追加する前にHDD上の単一のパーティションをフォーマットする必要があるかどうかを判断する上で信頼できる主要なソースです。他の回答が示しているように(およびコメント)、パーティションなしでドライブ全体を追加するだけで間違いはありません。

私には、シートベルトをつけたまま車を運転することに例えました。事故に遭わなかった場合、シートベルトは役に立たなかったが、もし事故に巻き込まれたとしても、それを着ていてよかったと思う。

フォローアップ#1(@Joelのコメントへ)

上記の2つのガイドは、2つのかなりの理由だと思いました。どちらも公式ガイドであり、一方はRHから、もう一方はLVMチームがまとめたHowtoです。

別の理由があります。HDDをパーティション化しないことにより、使用方法を明確に識別するためのIDがHDDに明示的に設定されません。

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

システムの管理者として、この特定のドライブがどのように使用されているかという意図は、8eを使用しない場合と比べて、私自身にとっても他の人にとっても明らかです。

@Joelが言っていることに感謝します。私もフォーチュン500の会社で働いていました。そこでは、デスクトップ/サーバーの物理/仮想展開と大規模なストレージ展開の両方で100のLinux展開がありました。と言っています。


Red Hatがそれを真実にしないと言っているからといって。ディスクをパーティション分割する本当の理由はまだ聞いていませんが、そうしない理由しか考えられません。また、「各実ディスクが一度しか表示されない場合、システム内のハードウェアを追跡する方が簡単です。」これは本当に問題ですか?それはfdisk -l一度、/sys/block一度、そしてあなたの経歴に一度現れるでしょう。どこで複製されることになっていますか?(続き)
ブルックリー

個人的な経験から言えば、多くのボリュームにスペースを追加する必要がありました。それらはパーティション化されていたため、カーネルがパーティションテーブルを解放しなかったあらゆる種類の問題に遭遇しました。そのため、再パーティションを実行してから再起動することを余儀なくされ、正当な理由もなくサービスが停止しました。「ディスクを見る他のOSはLVMメタデータを認識せず、ディスクがフリーであると表示するので、上書きされる可能性が高い」ということはまったく真実ではありません。Windowsでは、未使用のディスクとして表示されますが(管理者の方がよく知っています)、どのOSについて話しているのでしょうか?
ブラッチリー

これまでのところ、ディスクのパーティション分割が好ましいと言っている人は誰も実際に正当な理由を与えておらず、実際に人々が企業の状況で最終的にはisterに噛まれるようなことをすることを奨励しています(最終的にはより多くのスペースが必要になります) 。私たちが取得しているのは、他のOSに割り当てられていない方法で表示される漠然とした応答(それが何らかの理由でWindowsがパーティション上のext3を認識しないなど)またはそれが複数回表示される根拠のないステートメントですまたは何らかの方法でストレージの追跡を簡単にします。
ブラッチリー

みんなありがとう:)この議論は私にとって本当に役に立ちました。
マクガイバー

2
@ジョエル-私もそうです。議論に感謝します。さまざまな実践的な経験を持ち込み、この特定のトピックについて、現在ウェブ上で利用可能なものよりも優れたガイダンスを提供してみてください。少なくとも、多くの断片化されたドキュメントを1つの場所に集めています。8-)。
slm

10

一般的に認識されているいくつかの記述子(メタデータ)があり、MBRはそのような記述子として非常に有効です。GPTでさえ、古いMBRベースのパーティションテーブルを使用して、その存在を示します。

確かに、ディスク領域をいくらか失いますが、ディスク上にあるもの(および場所)を理解することの利点は自明です。


1
ディスク容量を失ってもディスクを失うことはありません。pvdisplayXが1MiBより大きい場合、(PVサイズ:使用できないX MiB)を確認してください。これ以上損失することなくパーティションを作成できます。
frostschutz

@frostschutz気配りが行き届いていますが、スマートアス:「無駄に使用できる」スペースは「devサイズモジュロPEサイズ」ではなく、「(devサイズマイナスメタデータスペース(384K))​​モジュロPEサイズ」です。それが多かれ少なかれをもたらすかどうかは、もちろん異なります。
ホークレイジング

また、LVMには記述子があります。最初にFATテーブルを作成し、LVMディスクリプターを作成する理由。LVMはメタデータを2番目のセクターに保存します。最初にファットを作成するために考えられることの1つは、災害復旧または一部の初心者向けLinux管理者(ディスクの管理)です。
マクガイバー

HP-UXもLVMを使用します。このプラットフォームでは、rawディスクを追加し、LVMがディスク上で処理を実行できるようにする一般的な方法です。LVM2.x
MacGyver

1
@ user39597、あなたは物事を台無しにしています。FATはFile Allocation Tableの略で、これはMS-DOSの意味です。MBRパーティションテーブルは標準のデファクトであり、多くのさまざまなツールは、LVMがディスクがパーティション分割され占有されていることを認識していないことを認識していません。これは予防策です。
poige

4

ディスクの100%を占めるパーティションに物理ボリュームを作成することは、ほとんど正しいことではありません。「ほとんど」と言うのは、何かをする理由を考えることができないからといって、それをする理由がないという意味ではないという態度を取るからです。そうは言っても、LVMになる場合、ディスクのパーティションをスペースの100%に配置する理由は考えられません。

パーティション分割の剛性の一部を取り戻すことと引き換えに、目に見える利点は得られません。これらがSANベースの物理ボリュームであり、それを行う場合、ボリュームグループ内のストレージスペースを拡張する方法は2つしかありません。

  1. 新しい大きなLUNを提示し、ボリュームグループに追加し、不可解にパーティション分割されたLUNからpvmoveを削除し、ボリュームグループから削除し、SANの人々に提示しないように指示します。これは動作する可能性があり、オンラインで実行できます(パフォーマンスに影響があり、SAN側のストレージプールにこれら2つのLUNを同時に保持するのに十分なSANスペースがあると仮定します)が、実行可能です。
  2. 他の唯一の方法は、パーティションの処理に戻ることです。これは、人々が適切に設計されたボリューム管理スキーム(btrfs、lvm、zfsなど)を好む理由の一部です。あなたは、物理ボリュームのパーティションテーブルを編集することができますし、希望partprobeあなたが行くように(すなわち力をletがあなたが新しいサイズを読んだが、それは私の個人的な経験から、2のうちの1時間程度動作し、それがファイルシステムをアンマウントする必要がありますオフライン別の理由の人々をボリュームマネージャーなど)。

ディスク全体を作成する場合、SAN管理者がLUNを拡張できます。SCSIバスを再スキャンし、LUNの新しいサイズを選択してpvresizeから、物理ボリュームを拡張します。すべてのファイルシステムをオフラインにすることなく。

MBRビットをオフにすると、通常、1つのシステムからPVを取得してエンタープライズ環境の別のシステムに表示することはありません。たとえそれを行ったとしても、それがLVMである場合、LVMをサポートするために、LUNを提示するOSが必要になります。それ以外の場合、彼らにそれを提示する意味は何ですか?表示される場合、すべての物理ボリューム情報、ボリュームグループ情報、および論理ボリュームが表示されます(これがボリュームグループ内の唯一のPVであると仮定)。そのため、そのように自己文書化します。

基本的に、ディスク全体を100%にパーティション分割することは、アップルパイを持ってきたウェイターがナイフも持ってくることを要求するようなものです。彼がそうするとき、あなたはナイフを横に投げて、ちょうどパイであなたの顔を埋めます。意味:とにかく一度にすべてを使用する場合、ツールを小さな部分に分けるツールを主張することは意味がありません。


2
理論上、あなたは間違っていません。実際には、OSやインストーラー(Linuxでさえも)がこのおそらく空きディスクをフォーマットするように提供するなど、LVMを認識しなかったため、日常的な問題があります。同時に、パーティションを使用することには(パフォーマンスに関して)マイナス面はありません。そのため、ホームユーザー、デスクトップ、マルチOS環境では、パーティションに固執する方が安全です。
frostschutz

私はインストーラーの問題を自分で見たことがありません。カーネルはpvscan起動時と同等の処理を行うことになっているため、インストーラーディスク上のカーネルはすべてのブロックデバイスをスキャンしてLVMヘッドを探しているはずです。おそらく、ベンダーがインストーラーがふざけていると説明している人にバグを報告するでしょう。ホームインストールの場合、ルートファイルシステムが2つのディスクにまたがっていても、プライマリディスクが/ boot用にパーティション分割され、カーネルがロードするときにボリュームスキャンが実行されます。これが、LVMでブートする方法です。
ブラッチリー

ただし、マイナス面としては、BIOS以外のパーティションおよびgrubサポート(したがって/ boot)の利点はありません。ホームユーザーでも。また、メリットはほとんどありません(HDDが大きくなることはありません)。入るのは良い習慣です
。– Bratchley

みんなありがとう:)この議論は私にとって本当に役に立ちました。
マクガイバー

0

私の経験から、パーティションを使用するのは、テストを行っている場合や、ディスク/ストレージが利用できない小規模な環境の場合に適しています。学校やガレージでの作業に適しています。現実の世界では、要求に応じてディスクを拡張できる仮想サーバーでは、LVMでパーティション分割ではなくraw /全体ディスクを管理する方が適切です。サーバーを再起動せずに管理するのは簡単で柔軟です。時間をどれだけ節約できるか知っていますか?あなたが管理する必要があるかもしれないすべてのサーバーのために乗算します!複数の場合、カーネルが新しいテーブルを認識しない可能性があるため、パーティション/スライスが原因でサーバーを再起動する必要があるという課題があります。rawディスク/仮想ディスクをLVMに追加し、ファイルシステムを拡張する必要がある場合、rawディスクを使用したLVMは素晴らしいです。「echo 1>」のような単純なコマンドを実行することにより / sys / block / XXX / device / rescan” XXXはディスク(sdb、sdc、sddなど)です。再起動せずにディスクを再スキャンして追加スペースを再ブームします。その場でファイルシステムを拡張できます。Linuxサーバーを再起動せずにディスクを拡張するには、5分ほどかかります。パーティション化されたディスクでは、このプロセスは複雑です


1
あなたの答えは、LVMへのフルディスク割り当てではなく、VMを使用するメリットに集中しているようです。
ロアイマ

@roaima:わかりました、私の目は失敗しています。この答えは、VMについて何を言っていますか?
G-Manによると、「

1
@ G-Man全体とは、ストレージをVMに追加し、VM自体でLVMを使用して、再起動することなく新しく割り当てられたディスクをスライスできることです。
ロアイマ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.