web-dev-qa-db-ja.com

LVMはどこにデータを保存しますか?

私の質問はこのスレッドに似ています LVMはデータ損失のリスクを高めますか? しかし、満足のいく答えを見つけることができませんでした。

したがって、問題は、3つの物理ディスクのボリュームグループ(VG)がある場合、LVMはデータ/ファイルをどこに保存するのかということです。 1つのディスクに障害が発生するとどうなりますか?そのディスクのプラグを抜いて、LVMにその物理ディスクをVGから削除し、他のディスクで作業を続けるように指示できますか?したがって、本当の問題は、LVMがファイルを1つのディスクに保存するのか、それともLVMがファイルをフラグメント化して、3つのディスクに分割するのかということです。最初のオプションは正しくありません。3GBのファイルがあるとどうなるか、私のVGは3GBが空いていると言っていますが、実際には各ディスクには1GBのスペースしか残っていません。後者は本当ですか?しかし、これは、障害が発生したディスク以外のデータを確実に失うことを意味しますか?

5
Cherrun

質問はあまり明確ではありませんが、とにかく答えようと思います。

まず、VG自体はデータを保存できません(OK、保存できますが、このように使用している可能性はほとんどありません)。 2番目のこと-LVMはディスクではなく、物理ボリュームを認識します。

通常、データは論理ボリュームの下に定義されたパーティションに保存されます。 1つのVGには、多くのPVに多くのLVを含めることができます。ウィキメディアからの画像が役立つかもしれません:

LVM scheme

これは、LVを線形、ストリップ、またはミラーリングされたボリュームとしてどのように構成したかによって異なります。また、通常、LVは順番にPVに配置されますが、LVMがそれらを特定のPVに配置するように強制することもできます。

PVが含まれているディスクで障害が発生した場合、主に次の2つのことが起こります。

  • pVにLVが含まれていない場合、LVMはそのPVが見つからないことを叫びますが、他のLVに保存されているデータは安全です
  • 欠落しているPVに論理ボリュームの少なくとも一部があった場合、そのLVで定義されたファイルシステムは確実に破損します。これは、使用するfilesystemによって、失われるデータの数と、残りの部分を回復するのがどれほど難しいかに依存します。

もちろん、LVMをストリップモードで構成した場合、おそらくすべてのディスクに障害が発生するとすべてのLVのすべてのファイルシステムが破損します。

LVMの内部についてさらに詳しく知りたい場合は、RedHatマガジンに優れた記事があります。 http://www.redhat.com/magazine/009jul05/features/lvm2/

6
Paweł Rumian

データの行き先を決定するのは、実際にはLVMの責任ではありません。ただし、特定の構成を使用することにより、データ分散をある程度制御できる場合があります。

LVM論理ボリュームには3つのタイプがあります。 1つ目は線形ボリューム、2つ目はストライプ、3つ目はミラーリングされたボリュームです。線形マッピングを設定している場合は、論理ボリュームの領域にある範囲の物理エクステントを割り当てます順番に。ファイルシステムにとって、これは1つの連続した「ディスク」のように見えます。

その場合、データを保存する必要があると思われる場所にデータを保存するのはファイルシステムの責任です。多くのファイルシステムはデータを継続的に保存しようとするため、リニアボリュームでは、ファイルが1つの物理ボリュームに収まる場合と収まらない場合があります。

ストライプボリュームの場合、状況は少し異なります。そこでLVMは実際にデータをストライプに分割し、それらを異なるPVに並列に書き込みます。

ミラーは、異なるデバイス上のデータの同一のコピーを維持します。

したがって、セットアップによっては、PV3に障害が発生した場合、PV3に物理的に存在していたファイルのみが失われる(線形)か、3つ以上のストライプを拡張するすべてのファイルが破損する(ストライプ)か、まったくない(ミラー)可能性があります。

2
Jari Laamanen

LVMの動作はlvm.conf(/ etc/lvm /のCentOS 5にあります)で設定されます。

通常、LVMはそのメタデータをすべてのPVに保存します(構成ファイルのメタデータのセクションを参照)。

そして、/ etc/lvm/lvm.confbackup-セクションで定義されているLVM情報のバックアップがあります。

現在、このデフォルト設定では、PVを失うと、データが失われるかどうかにかかわらず、VG/LV設定に完全に依存します(ミラーリングしてもデータは失われません)。

0
Nils