エンタープライズ:特集 | 2003/07/11 12:50:00 更新 |
特集:LVMによるディスクパーティションの動的化(前編) (3/7)
カーネルがLVMサポートされている必要がある
ここではまずLVMの導入に際し、あらかじめ準備しておいたほうがよい事項を挙げておこう。LVMを導入する上では3つの条件が必要となっている。
1. カーネルのLVMサポート
現在リリースされている主なディストリビューションは、LVMをサポートした状態でカーネル構築されている場合が多い。独自にカスタムカーネルを利用している場合にはサポートを有効にしておく必要がある。カーネル組み込みでもモジュール化することも可能である。カーネルコンフィグレーション設定「Multi-device support」(RAID and LVM)内にあるのでチェックしておこう。なお、ジャーナリングファイルシステム(ReiserFSやext3など)を利用している場合には、後述のLVMユーティリティに含まれるパッチ類を適用しておくとよい(画面1)。
2. LVMユーティリティの導入
主なLinuxディストリビューションであれば、「lvm」という頭文字のRPMパッケージが導入されているだろう(Red Hat系の場合)。しかし、用意されていない場合にはディストリビューションCDやアップデートサイトからインストールしておく必要がある。ちなみに、Debian GNU/Linuxの場合は、lvm10パッケージとなっているので、aptで導入するとよい。
ソースコードから導入する場合には、「Sistina's LVM」からダウンロードが可能だ。本稿執筆時点ではバージョン1.0.7となっている。このソースには、カーネルにマージされていない機能についてのパッチがあるため(ジャーナリングファイルシステムを用いた際のジャーナルファイルロックなどに対応)、必要な機能である場合には適宜パッチを用いてカーネル再構築しよう。
3. LVM作業用に利用できるパーティションを用意
残念ながら、既存のパーティションをシームレスにLVMへ変換することはできない。しかし、導入のためにディスク全体を占有する必要性はないため、空き領域があれば割り当てて作業することができる。このため、あまった領域+新たなディスクを利用という手順も可能だ。
空き容量は余ってないがバックアップは行えるという状態であれば、LVM化したいパーティションを丸ごとバックアップし、LVM化した後に書き戻すという方法もある。
LVMパーティションには、パーティションタイプとして、0x8E(Linux LVM)が設定される。fdiskやcfdiskなどを用いて設定してみよう。今回は例として、「/dev/hda」と「/dev/hdc」を以下のようにパーティショニングしてみた。
$ sudo /sbin/fdisk -l /dev/hda ディスク /dev/hda: ヘッド 255, セクタ 63, シリンダ 2482 ユニット = シリンダ数 of 16065 * 512 バイト デバイス ブート 始点 終点 ブロック ID システム /dev/hda1 * 1 9 72261 83 Linux /dev/hda2 10 2482 19864372+ f Win95 拡張領域 (LBA) /dev/hda5 10 532 4200966 83 Linux /dev/hda6 533 598 530113+ 82 Linux スワップ /dev/hda7 599 1121 4200966 8e Linux LVM /dev/hda8 1122 1644 4200966 8e Linux LVM $ sudo /sbin/fdisk -l /dev/hdc ディスク /dev/hdc: ヘッド 15, セクタ 63, シリンダ 8944 ユニット = シリンダ数 of 945 * 512 バイト ディスク /dev/hdc は正常な領域テーブルを含んでいません |
ここでは、「/dev/hdc」がエラーのように見えてしまう点に注目したい。ディスク全体を利用するという場合には、パーティショニングされている必要はないのである。また、パーティションタイプとして0x8Eと設定したところ、「/dev/hda7」と「/dev/hda8」は、「Linux LVM」と表示される。
[佐藤大輔,ITmedia]