実際、論理ボリューム管理や論理ボリューム管理などのすばらしいことについて簡単かつ簡単に話したいと思います。
私は長い間LVMを使用してきたので、マニュアルを覗き見たり、Wikiから引用を抜いたりすることなく、私にとってそれが何を意味するかを自分の言葉で説明します。 ストライプ、スナップショットなど、あらゆる種類の「高度な」機能については話さないようにします。
LVMは、鉄からの抽象化の追加レイヤーであり、異種ディスクのヒープを1つに収集し、必要に応じてこの1つを再び分割することができます。
抽象化には3つのレベルがあります。
1. PV(物理ボリューム)-物理ボリューム(パーティションまたは「壊れていない」ディスク全体)
2. VG(ボリュームグループ)-ボリュームのグループ(物理ボリューム(PV)をグループに結合し、単一のディスクを作成し、必要に応じてさらにパーティションを分割します)
3. LV(論理ボリューム)-論理パーティション。実際には、新しい「シングルディスク」またはボリュームグループのパーティションであり、通常のハードディスクである通常のパーティションとしてフォーマットして使用します。
これはおそらく理論全体です。 :)今すぐ練習:
動作するには、lvm2パッケージと、root権限で動作する機能が必要です。
$ sudo bash
#apt-get install lvm2
コンピューターに40GBのハードドライブがあり、なんとかお金をかき集めて、最終的にTERBAYTnikを購入したとしましょう。 :)))システムはすでに稼働しており、最初のディスクは1つのパーティション(/ dev / sda1として/)に分割され、2番目のディスク-接続したばかりの最大のディスク-は/ dev / sdbに分割されません...
ルートディスクを少しアンロードすると同時に、高速化(新しいディスクは古いディスクよりも高速)し、lvmを使用してシステムを「保護」することを提案します。
2番目のディスクにパーティションを作成し、それらをボリュームグループに追加できます(複数のボリュームグループが必要な場合)。
しかし、ディスク上のパーティションをまったく作成できず、デバイス全体を物理パーティション(PV)にすることはできません
ルート@ ws:〜#pvcreate / dev / sdb
物理ボリューム「/ dev / sdb」が正常に作成されました
たとえば、「ws」マシンの名前などの名前を付けてボリュームグループを作成します。これにより、このディスクを別のマシンにドラッグしても、ボリュームグループの名前と競合することはありません。
root @ ws:〜#vgcreate ws / dev / sdb
ボリュームグループ「vg0」が正常に作成されました
ルートパーティションを再度最適化したり、オーバーフローしたりしないように、ルートパーティションから/ usr / var / tmp / homeなどのフォルダーを作成することをお勧めします。したがって、次のパーティションを作成します。
root @ ws:〜#lvcreate -n usr -L10G ws#ここで、サイズが10Gbの「usr」というセクションを作成します。
作成された論理ボリューム「usr」
同様に、/ var、/ tmp、/ homeについても同じことを行います。
root @ ws:〜#lvcreate -n var -L10G ws
root @ ws:〜#lvcreate -n tmp -L2G ws
root @ ws:〜#lvcreate -n home -L500G ws
ボリュームグループにはまだ少し空き領域があります(たとえば、バックアップ用の将来のパーティション用)
チームがどれだけできるかを正確に確認します。
ルート@ ws:〜#vgdisplay
作成された論理ボリュームに関する情報
ルート@ ws:〜#lvdisplay
物理ボリューム情報
ルート@ ws:〜#pvdisplay
作成したセクションは、フォルダー/ dev / [vg_name] /に表示されます。より正確には、ファイルへのリンクがあり、
lrwxrwxrwx 1ルートルート22 2009-08-10 18:35スワップ-> / dev / mapper / ws-swap
lrwxrwxrwx 1ルートルート21 2009-08-10 18:35 tmp-> / dev / mapper / ws-tmp
lrwxrwxrwx 1 root root 21 2009-08-10 18:35 usr-> / dev / mapper / ws-usr
lrwxrwxrwx 1 root root 21 2009-08-10 18:35 var-> / dev / mapper / ws-var
など...
それからlvmはほぼ終わりました...パーティションをお気に入りのファイルシステムにフォーマットします。
root @ ws:〜#mkfs.ext2 -L tmp / dev / ws / tmp
root @ ws:〜#mkfs.ext4 -L usr / dev / ws / usr
root @ ws:〜#mkfs.ext4 -L var / dev / ws / var
root @ ws:〜#mkfs.ext4 -L home / dev / ws / home
ところで、swapパーティションを作成するといいでしょう。
root @ ws:〜#lvcreate -n swap -L2G ws
root @ ws:〜#mkswap -L swap / dev / ws / swap
ルート@ ws:〜#swapon / dev / ws / swap
フォルダを作成し、新しく形成されたボリュームを順番に接続し、必要なコンテンツをそれらにコピーします。
ルート@ ws:〜#mkdir / mnt / target
root @ ws:〜#mount / dev / ws / home / mnt / target
たとえば、次のように、/ homeフォルダーからすべてのファイルをお気に入りのファイルマネージャーで(アクセス権を保持しながら)コピーします;):
root @ ws:〜#cp -a / home / * / mnt / target /
ルート@ ws:〜#umount / mnt / target /
ちなみに、一時フォルダの場合は、権限を修正するだけで、そこにあるものをコピーすることはオプションです:
root @ ws:〜#mount / dev / ws / tmp / mnt / target && chmod -R a + rwx / mnt / target && umount / mnt / target /
/ etc / fstabに必要な行を追加します。たとえば次のとおりです。
/ dev / mapper / ws-home / home ext4 relatime 0 2
/ dev / mapper / ws-tmp / tmp ext2 noatime 0 2
/ dev / mapper / ws-swap none swap sw 0 0
そして再起動...(上級紳士は再起動せずに行うことができます;))
おいしいために、私はより高度なものを提供したい:
LVMにパーティションがあるシステムがあり、ハードドライブが故障し始めた場合、再起動せずにシステム全体を別のハードドライブ/パーティションに移動できるとします。
#LVMを使用したオンラインでのハードドライブの追加/削除(例)
root @ ws:〜#pvcreate / dev / sda1#不良ディスクエミュレーター
物理ボリューム「/ dev / sda1」が正常に作成されました
ルート@ ws:〜#pvcreate / dev / sdb1#レスキューディスクエミュレーター
物理ボリューム「/ dev / sdb1」が正常に作成されました
root @ ws:〜#vgcreate vg0 / dev / sda1#vg0ボリュームグループを作成
ボリュームグループ「vg0」が正常に作成されました
root @ ws:〜#lvcreate -n test -L10G vg0#「重要な」情報のセクションを作成する
論理ボリューム「テスト」が作成されました
root @ ws:〜#mkfs.ext2 / dev / vg0 / test#パーティションにファイルシステムを作成
root @ ws:〜#mount / dev / mapper / vg0-test / mnt / tmp /#パーティションをマウント
...#情報を入力したり、その上にいくつかのファイルを開いたりします。
root @ ws:〜#vgextend vg0 / dev / sdb1#ボリュームグループをレスキューディスクに拡張
ボリュームグループ「vg0」が正常に拡張されました
root @ work:〜#pvmove / dev / sda1 / dev / sdb1#「死にかけている」ドライブから「レスキュー」に内容を移動する
/ dev / sda1:移動:0.9%
/ dev / sda1:移動:1.8%
...
/ dev / sda1:移動:99.7%
/ dev / sda1:移動:100.0%
root @ work:〜#vgreduce vg0 / dev / sda1#「死にかけている」ディスクをボリュームグループから削除します。
ボリュームグループ「vg0」から「/ dev / sda1」を削除
合計:
論理パーティションを作成し、フォーマットし、マウントして必要なデータを入力し、デバイスから別のデバイスに移動しましたが、パーティションはマウントされたままで、データは常に利用可能です!
同様に、リブートすることなく、システム全体を死にかけているディスクからリードアレイに転送することができました。 :)
そして、これは私のお気に入りのLVMリンクです: xgu.ru/wiki/LVM
PSタイプミスを許してください、私は常に気を取られていました=))
PPSああそう!!! LVMの最も重要で最大のマイナス点は、grubによって読み取られないことです。
したがって、/ブートパーティションは、ハードドライブ上の別のパーティション上のLVMの外側にある必要があります。
そうしないと、システムは起動しません。