LVMによるパーティション管理
今回は"Linuxにおける"パーティションについてと、その管理方法であるLVMについてまとめたいと思います。
動機
サーバー用にCentOSをインストールする事になった。
いつもはテキトウに済ませてしまっていたのですが、ファイル管理上をしっかり意識する必要が出てきたので、ちゃんと勉強する事にしました。
パーティションとは?
一つのハードディスクを分割して使う時の単位です。
分割して利用する事で、一台のハードディスクを、複数の用途に分けて使う事ができます。
(用途例:ここのパーティションにはwindowsを入れる。ここのパーティションは、システム部分、そしてここはデータ部分を担当させる。といった風)
パーティションを利用するメリット
3つあると思います。
1.バックアップしやすい
2.障害に強い
3.ディスクの有効活用ができる
1.について
パーティションに分割し、更新頻度の高いシステムと低いシステムで分割しておく事で、前者と後者のバックアップ頻度を合わせることができ、効率的なバックアップを行うことができるようになる。
2.について
パーティションごとに、アクセス権を変更したり、暗号化したりと、セキュリティ対策をとる事ができます。
また、もしディスクに論理的な障害が起きたとしても、その対象ディスクにだけ対策をとればよいので、他のディスクに影響を与えません。
3.について
1~数KBといった小さなファイルが無数に存在するパーティションでは、ブロック(データを保存するための最小の単位)・サイズを1KBにしてあげる事で、無駄な容量を使わないで済みます。
標準のブロック・サイズは4KBなので、もし1KBのデータを保存する時は、3KB無駄にしてしまいます。
パーティション割り振りの考え方
Linuxのパーティションの取り扱い
Linuxがパーティションを扱う時は、/(ルートディレクトリ)を起点としたディレクトリ・ツリーの中に、個別のディレクトリに割り当てて(以下マウント)して運用します。
マウントの方法
このマウントを行う方法は3つあります。
1.Linuxの起動時にマウントをする
2.必要な時に手動でマウントする
3.必要な時に自動でマウントする
1.について
/etc/fstabに記載されている無いように基づいてマウントを行います。
これは、mountコマンドが、Linuxが起動する時に自動的にrc.sysinitというスクリプトを行ってくれることで実現します。
2.について
必要な時に、mountコマンドを実行すれば良い。
3.について
autofsを利用します。
パーティションの種類
LVMによるパーティションの管理
以前までのパーティション分割方法は、「物理的なハードディスクをいくつかに分割する」と言う方式だけだったそうです。
「分割するだけ」なので、その後に「やっぱ容量が足りないから増やしたい!」となった時には、困ってしまっていたそうです。
しかし、現在はLVM(Logical Volume Management)を利用する事で、その問題を解決する事ができます。
LVMとは?
物理的なパーティションを、細かなブロックに分けて、そのブロックを寄せ集める事で、論理的なパーティションとして再編成する仕組みです。
まず、LVM用の物理的なパーティションであるPV(Pysical Volume)を用意します。
次に、PVを一定サイズに分割した、PE(Physical Extent)を用意します。
そのPEを寄せ集めて、想像上のパーティションであるLV(Logical Volume)を用意します。
この、"PEの寄せ集め"で構成されている事から、パーティションを拡大したり、縮小したりする事ができます。
しかし、注意しなければいけないのが、寄せ集める事のできるPEについてです。
LVを構成するためのPEは、同じVG(Volume Group)にいなければなりません。
このVGは、想像上のディスクドライブのようなものです。色々な物理的なパーティションを集めて、構成します。
自分のマシンの現状
現状のディスク使用状況と、パーティションの表示は、df -Hで表示する事ができます。
こんな感じで出力されました。
[root@vm ~]# df -H Filesystem Size Used Avail Use% マウント位置 /dev/mapper/VolGroup00-LogVol00 154G 1.9G 144G 2% / /dev/hda1 104M 19M 81M 19% /boot tmpfs 397M 0 397M 0% /dev/shm
こちらは、CentOS5.2をインストールした際に、パーティション設定を自動で設定してもらった際の設定です。
/bootが物理パーティションに割り振られ、/がLVに割り振られている事が分ります。
では、実際にLVMをいじってみよう!といきたいところですが、
LVMの扱い方は、こちらがとても分りやすいので、ご紹介させていただく形で終わりたいと思います。