1: 2009-08-19 (水) 00:33:50 maruo |
現: 2010-06-23 (水) 02:49:55 maruo |
| :基本方針|現在120G、140Gの2つの領域がある。これをLVMで統合して250Gbyte相当のHDを作る | | :基本方針|現在120G、140Gの2つの領域がある。これをLVMで統合して250Gbyte相当のHDを作る |
| +まずは120Gに入っているソフトデータ等を玄箱に退避 | | +まずは120Gに入っているソフトデータ等を玄箱に退避 |
- | +120GのHDをLVM化して、/var(20G)、/share(95G)に分ける | + | +120GのHDをLVM化して、/var(20G)、/share(95G)に分ける |
| +140Gの領域にある/var、/share、の内容をLVMの/var、/shareに移動して、実運用システムにマウント。しばらく様子を見る | | +140Gの領域にある/var、/share、の内容をLVMの/var、/shareに移動して、実運用システムにマウント。しばらく様子を見る |
| +データ整合性などに問題なしとなったら、140GをLVM化し、グループ統合する | | +データ整合性などに問題なしとなったら、140GをLVM化し、グループ統合する |
- | +/shareにこの140Gを追加して、200G程度のデータ領域を作る | + | +/shareにこの140Gを追加して、200G程度のデータ領域を作る |
| +玄箱に退避したデータを/shareに戻す | | +玄箱に退避したデータを/shareに戻す |
| | | |
| | | |
| と、言うわけで、基本的なLVMの使い方をやってみましょう。 | | と、言うわけで、基本的なLVMの使い方をやってみましょう。 |
| + | |
| **カーネルをLVM対応にする [#y3649ae1] | | **カーネルをLVM対応にする [#y3649ae1] |
| カーネルのコンパイルオプションを確認してください。おいちゃんの所は2.6.ですので一般的にLVM2と言われる形式に合わせます。 | | カーネルのコンパイルオプションを確認してください。おいちゃんの所は2.6.ですので一般的にLVM2と言われる形式に合わせます。 |
| <M> Device mapper support | | <M> Device mapper support |
| このDevice Mapper supportをON、もしくはモジュール化してやります。~ | | このDevice Mapper supportをON、もしくはモジュール化してやります。~ |
- | ここで、''カーネル2.6を利用して、udev化している''のであれば、/etc/udev/rules.d/50-udev.rulesを開いて、 | |
- | KERNEL="dm-[0-9]*", PROGRAM="/sbin/devmap_name %M %m", NAME="%k", SYMLINK="%c" | |
- | | |
- | のコメントをはずしてやります。でないと、リブートしたらLVMボリュームが消去されちゃうんだって。気をつけてね! | |
| | | |
| | | |
| まずはLVMにしたいディスクのパーティションタイプをfdiskで変更します | | まずはLVMにしたいディスクのパーティションタイプをfdiskで変更します |
| #fdisk /dev/hdb | | #fdisk /dev/hdb |
| + | |
| このディスクのシリンダ数は 15017 に設定されています。 | | このディスクのシリンダ数は 15017 に設定されています。 |
| 間違いではないのですが、1024 を超えているため、以下の場合 | | 間違いではないのですが、1024 を超えているため、以下の場合 |
| 2) 別の OS のブートやパーティション作成ソフト | | 2) 別の OS のブートやパーティション作成ソフト |
| (例. DOS FDISK, OS/2 FDISK) | | (例. DOS FDISK, OS/2 FDISK) |
| + | |
| コマンド (m でヘルプ): p | | コマンド (m でヘルプ): p |
| + | |
| Disk /dev/hdb: 123.5 GB, 123522416640 bytes | | Disk /dev/hdb: 123.5 GB, 123522416640 bytes |
| 255 heads, 63 sectors/track, 15017 cylinders | | 255 heads, 63 sectors/track, 15017 cylinders |
| Units = シリンダ数 of 16065 * 512 = 8225280 bytes | | Units = シリンダ数 of 16065 * 512 = 8225280 bytes |
| + | |
| デバイス Boot Start End Blocks Id System | | デバイス Boot Start End Blocks Id System |
| /dev/hdb1 1 15017 120624021 83 Linux | | /dev/hdb1 1 15017 120624021 83 Linux |
| + | |
| Idが83ですよね。SystemがLinuxです。このhdb1を変更します。 | | Idが83ですよね。SystemがLinuxです。このhdb1を変更します。 |
| | | |
| Selected partition 1 | | Selected partition 1 |
| 16進数コード (L コマンドでコードリスト表示): 8e | | 16進数コード (L コマンドでコードリスト表示): 8e |
| + | |
| コマンド (m でヘルプ): p | | コマンド (m でヘルプ): p |
| + | |
| Disk /dev/hdb: 123.5 GB, 123522416640 bytes | | Disk /dev/hdb: 123.5 GB, 123522416640 bytes |
| 255 heads, 63 sectors/track, 15017 cylinders | | 255 heads, 63 sectors/track, 15017 cylinders |
| Units = シリンダ数 of 16065 * 512 = 8225280 bytes | | Units = シリンダ数 of 16065 * 512 = 8225280 bytes |
| + | |
| デバイス Boot Start End Blocks Id System | | デバイス Boot Start End Blocks Id System |
| /dev/hdb1 1 15017 120624021 8e Linux LVM | | /dev/hdb1 1 15017 120624021 8e Linux LVM |
| | | |
| 順を追って説明すると/dev/hda7の物理ボリュームを作成。/dev/hda7を追加してボリュームグループlvmを拡張。ロジカルボリューム/dev/lvm/shareを120G拡張。最後にreiserfsのファイルサイズを拡張して、作業終了でっす。再度マウントしたら、データが消去されずにディスク領域が広がってるのが分かるはず。これはすごいっしょ?? | | 順を追って説明すると/dev/hda7の物理ボリュームを作成。/dev/hda7を追加してボリュームグループlvmを拡張。ロジカルボリューム/dev/lvm/shareを120G拡張。最後にreiserfsのファイルサイズを拡張して、作業終了でっす。再度マウントしたら、データが消去されずにディスク領域が広がってるのが分かるはず。これはすごいっしょ?? |
| + | |
| + | *ディスクの交換 [#be751a58] |
| + | しばらく使用していたら、ディスクから異音が…そろそろ寿命かしら。ど、どうしよう~~~。てなときに、LVMの場合データを生かしたまま移動する手段があるんですよ。やってみましょう。~ |
| + | |
| + | さて、このとき増設ディスクを/dev/sdc、故障間近のディスクを/dev/hddとしますね。 |
| + | このとき注意するのは、交換するディスクのデータを移動するために、最低限同じ容量のディスクが必要ってことね。この時、ボリュームグループlvmのパーティションは、マウント解除しておくのをおすすめします。 |
| + | **ディスクをまず増設してみる [#td0277c2] |
| + | バラして、ディスクをのっけてみましょうね。 |
| + | **増設したディスクを使用できるようにする。 [#f8e67436] |
| + | -fdiskでパーティション切る |
| + | -パーティションタイプを8eに |
| + | -fdiskプロンプトのwコマンドでパーティション情報を書き込む |
| + | -qで終了 |
| + | |
| + | **増設したディスクをpvcreateして、vgextendする [#b54ebdea] |
| + | 増設したディスクを、1ボリュームのパーティション切ったとして、話を進めましょう |
| + | # pvcreate /dev/sdc1 |
| + | # vgextend lvm /dev/sdc1 |
| + | これで、容量はそのままで、ボリュームグループlvmが使用されていないFree PEが増えた状態になります。 |
| + | |
| + | **/dev/hddの内容を移動 [#cd6f31fa] |
| + | pvmoveコマンドを使用します。/dev/hddは、同じく1ボリュームのパーティションだとします。 |
| + | # pvmove /dev/hdd1 |
| + | これで、せこせことhdd1にあるPEが、sdc1に移動し始めます…移動が100%になったところで、pvdisplayコマンド打ってみてください。hdd1の Allocated PEが0になって、 Free PEが増えているはず。~ |
| + | かわりに、/dev/sdc1に、hdd1分のAllocated PEが増えているはずです。 |
| + | **/dev/hddをボリュームグループから削除する [#c39e69bd] |
| + | # vgreduce lvm /dev/hdd1 |
| + | 最後に |
| + | # pvremove /dev/hdd1 |
| + | これで、/dev/hddを引っこ抜いてもOKな状態になりました。電源落として、HDDを引っこ抜きましょう。ね、簡単でしょ… |
| + | |
| | | |
| *Snapshotを利用したバックアップ [#e404c303] | | *Snapshotを利用したバックアップ [#e404c303] |