ページへ戻る
印刷
データ領域のLVM化で悩む
をテンプレートにして作成 ::
Nest Of Hawk
xpwiki
:データ領域のLVM化で悩む をテンプレートにして作成
開始行:
[[Gentoo Linuxな生活/システム管理関連]]
*LVMとは?
ここを参照。
-[[GentooLVM2インストール:http://www.gentoo.org/doc/ja/lv...
-[[Logical Volume Manager HOWTO:http://www.linux.or.jp/JF...
Logical Volume Managerのことです。これを行うと何が良いか...
-古い中途半端な容量のHDがあったとします。どうにも使い回し...
-100GbyteのHDを買ってきて、50、50で分けて使っていたら、か...
-HDを使ってたら、HDの寿命がきた。交換しないといけないけど...
(」゜ロ゜)」(」゜ロ゜)」(」゜ロ゜)」オオオオオッッッ、こ...
*では導入手順
おいちゃんところでは、LVMを最初は使用しない状態でスタート...
:基本方針|現在120G、140Gの2つの領域がある。これをLVMで統...
+まずは120Gに入っているソフトデータ等を玄箱に退避
+120GのHDをLVM化して、/var(20G)、/share(95G)に分ける
+140Gの領域にある/var、/share、の内容をLVMの/var、/share...
+データ整合性などに問題なしとなったら、140GをLVM化し、グ...
+/shareにこの140Gを追加して、200G程度のデータ領域を作る
+玄箱に退避したデータを/shareに戻す
多分これで大丈夫、なはず。ここで領域を若干残してあるのは...
と、言うわけで、基本的なLVMの使い方をやってみましょう。
**カーネルをLVM対応にする
カーネルのコンパイルオプションを確認してください。おいち...
Device Drivers --->
Multi-device support (RAID and LVM) --->
[*] Multiple devices driver support (RAID and LVM)
< > RAID support
<M> Device mapper support
このDevice Mapper supportをON、もしくはモジュール化してや...
**LVM2パッケージ導入
# emerge lvm2
終ったら
# echo 'devices { filter=["r/cdrom/"] }' >/etc/lvm/lvm.c...
CD-ROMドライブをLVMの検索対象からはずすってことね。起動時...
# vgscan
Reading all physical volumes. This may take a while...
No volume groups found
# vgchange -a y
**パーティションタイプの変更
まずはLVMにしたいディスクのパーティションタイプをfdiskで...
#fdisk /dev/hdb
このディスクのシリンダ数は 15017 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い ...
2) 別の OS のブートやパーティション作成ソフト
(例. DOS FDISK, OS/2 FDISK)
コマンド (m でヘルプ): p
Disk /dev/hdb: 123.5 GB, 123522416640 bytes
255 heads, 63 sectors/track, 15017 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス Boot Start End Blocks Id S...
/dev/hdb1 1 15017 120624021 83 ...
Idが83ですよね。SystemがLinuxです。このhdb1を変更します。
コマンド (m でヘルプ): t
Selected partition 1
16進数コード (L コマンドでコードリスト表示): 8e
コマンド (m でヘルプ): p
Disk /dev/hdb: 123.5 GB, 123522416640 bytes
255 heads, 63 sectors/track, 15017 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス Boot Start End Blocks Id S...
/dev/hdb1 1 15017 120624021 8e ...
分かりますか?SystemがLinux LVMに変更されましたよね。
**物理HDをLVMに加える
pvcreateコマンドを使用して、物理HDをLVMのphysical volume...
# pvcreate /dev/hdb1
No physical volume label read from /dev/hdb1
Physical volume "/dev/hdb1" successfully created
**ボリュームグループを作成する
普通のHDで言うところのHD1ドライブに相当するボリュームグル...
# vgcreate -s 32M lvm /dev/hdb1
Volume group "lvm" successfully created
ここでは、lvmというボリュームグループに先ほど作った/dev/h...
**ロジカルボリュームを作る
ロジカルボリュームとは、普通のHDで言うところのパーティシ...
# lvcreate -L20G -nvar lvm
# lvcreate -L95G -nshare lvm
これで先ほどのvar(20G)とshare(95G)ができたわけですね。あ...
/dev/ボリュームグループ/ロジカルボリューム~
がデバイス名ですね。
**フォーマットしてやる。
あとは普通のディスクと同様に、初期化してやります。おいち...
# mkreiserfs /dev/lvm/var
とかやってフォーマットしてやります。ext2でもext3でもXFSで...
これをfstabに書いてやったり、mountで指定したりするわけで...
**ディスクの追加
さて、どーするかというと以下の手順。安全のため、一応/dev/...
ここでは、/dev/hda7を新たに追加するとします。あらかじめパ...
# pvcreate /dev/hda7
# vgextend lvm /dev/hda7
# lvextend -L+120G /dev/lvm/share
# resize_reiserfs -s +120G /dev/lvm/share
順を追って説明すると/dev/hda7の物理ボリュームを作成。/dev...
*ディスクの交換
しばらく使用していたら、ディスクから異音が…そろそろ寿命か...
さて、このとき増設ディスクを/dev/sdc、故障間近のディスク...
このとき注意するのは、交換するディスクのデータを移動する...
**ディスクをまず増設してみる
バラして、ディスクをのっけてみましょうね。
**増設したディスクを使用できるようにする。
-fdiskでパーティション切る
-パーティションタイプを8eに
-fdiskプロンプトのwコマンドでパーティション情報を書き込む
-qで終了
**増設したディスクをpvcreateして、vgextendする
増設したディスクを、1ボリュームのパーティション切ったとし...
# pvcreate /dev/sdc1
# vgextend lvm /dev/sdc1
これで、容量はそのままで、ボリュームグループlvmが使用され...
**/dev/hddの内容を移動
pvmoveコマンドを使用します。/dev/hddは、同じく1ボリューム...
# pvmove /dev/hdd1
これで、せこせことhdd1にあるPEが、sdc1に移動し始めます…移...
かわりに、/dev/sdc1に、hdd1分のAllocated PEが増えているは...
**/dev/hddをボリュームグループから削除する
# vgreduce lvm /dev/hdd1
最後に
# pvremove /dev/hdd1
これで、/dev/hddを引っこ抜いてもOKな状態になりました。電...
*Snapshotを利用したバックアップ
Snapshotとは、さっきも書いた、ロジカルボリュームの一瞬を...
ですので、Snapshot用に取っておく領域は、変更差分が書き込...
**ではSnapshotの作り方
SnapshotはSnapshot用の論理ボリュームを作成してやります。...
# lvcreate --size 1G --snapshot --name snap /dev/lvm/exa...
上の例だと、/dev/lvm/snapという名前の、/dev/lvm/exampleの...
**注意
先ほど変更差分を記録していく、と言いました。この例では1G...
**というわけで
# lvcreate --size 1G --snapshot --name snap /dev/lvm/exa...
# mount /dev/lvm/snap /mnt/snap
# rsync -auv --delete /mnt/snap/ /backup/
# umount /mnt/snap
# lvremove /dev/lvm/snap
とやってやれば、Snapshotとrsyncを使用した安全バックアップ...
終了行:
[[Gentoo Linuxな生活/システム管理関連]]
*LVMとは?
ここを参照。
-[[GentooLVM2インストール:http://www.gentoo.org/doc/ja/lv...
-[[Logical Volume Manager HOWTO:http://www.linux.or.jp/JF...
Logical Volume Managerのことです。これを行うと何が良いか...
-古い中途半端な容量のHDがあったとします。どうにも使い回し...
-100GbyteのHDを買ってきて、50、50で分けて使っていたら、か...
-HDを使ってたら、HDの寿命がきた。交換しないといけないけど...
(」゜ロ゜)」(」゜ロ゜)」(」゜ロ゜)」オオオオオッッッ、こ...
*では導入手順
おいちゃんところでは、LVMを最初は使用しない状態でスタート...
:基本方針|現在120G、140Gの2つの領域がある。これをLVMで統...
+まずは120Gに入っているソフトデータ等を玄箱に退避
+120GのHDをLVM化して、/var(20G)、/share(95G)に分ける
+140Gの領域にある/var、/share、の内容をLVMの/var、/share...
+データ整合性などに問題なしとなったら、140GをLVM化し、グ...
+/shareにこの140Gを追加して、200G程度のデータ領域を作る
+玄箱に退避したデータを/shareに戻す
多分これで大丈夫、なはず。ここで領域を若干残してあるのは...
と、言うわけで、基本的なLVMの使い方をやってみましょう。
**カーネルをLVM対応にする
カーネルのコンパイルオプションを確認してください。おいち...
Device Drivers --->
Multi-device support (RAID and LVM) --->
[*] Multiple devices driver support (RAID and LVM)
< > RAID support
<M> Device mapper support
このDevice Mapper supportをON、もしくはモジュール化してや...
**LVM2パッケージ導入
# emerge lvm2
終ったら
# echo 'devices { filter=["r/cdrom/"] }' >/etc/lvm/lvm.c...
CD-ROMドライブをLVMの検索対象からはずすってことね。起動時...
# vgscan
Reading all physical volumes. This may take a while...
No volume groups found
# vgchange -a y
**パーティションタイプの変更
まずはLVMにしたいディスクのパーティションタイプをfdiskで...
#fdisk /dev/hdb
このディスクのシリンダ数は 15017 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い ...
2) 別の OS のブートやパーティション作成ソフト
(例. DOS FDISK, OS/2 FDISK)
コマンド (m でヘルプ): p
Disk /dev/hdb: 123.5 GB, 123522416640 bytes
255 heads, 63 sectors/track, 15017 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス Boot Start End Blocks Id S...
/dev/hdb1 1 15017 120624021 83 ...
Idが83ですよね。SystemがLinuxです。このhdb1を変更します。
コマンド (m でヘルプ): t
Selected partition 1
16進数コード (L コマンドでコードリスト表示): 8e
コマンド (m でヘルプ): p
Disk /dev/hdb: 123.5 GB, 123522416640 bytes
255 heads, 63 sectors/track, 15017 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス Boot Start End Blocks Id S...
/dev/hdb1 1 15017 120624021 8e ...
分かりますか?SystemがLinux LVMに変更されましたよね。
**物理HDをLVMに加える
pvcreateコマンドを使用して、物理HDをLVMのphysical volume...
# pvcreate /dev/hdb1
No physical volume label read from /dev/hdb1
Physical volume "/dev/hdb1" successfully created
**ボリュームグループを作成する
普通のHDで言うところのHD1ドライブに相当するボリュームグル...
# vgcreate -s 32M lvm /dev/hdb1
Volume group "lvm" successfully created
ここでは、lvmというボリュームグループに先ほど作った/dev/h...
**ロジカルボリュームを作る
ロジカルボリュームとは、普通のHDで言うところのパーティシ...
# lvcreate -L20G -nvar lvm
# lvcreate -L95G -nshare lvm
これで先ほどのvar(20G)とshare(95G)ができたわけですね。あ...
/dev/ボリュームグループ/ロジカルボリューム~
がデバイス名ですね。
**フォーマットしてやる。
あとは普通のディスクと同様に、初期化してやります。おいち...
# mkreiserfs /dev/lvm/var
とかやってフォーマットしてやります。ext2でもext3でもXFSで...
これをfstabに書いてやったり、mountで指定したりするわけで...
**ディスクの追加
さて、どーするかというと以下の手順。安全のため、一応/dev/...
ここでは、/dev/hda7を新たに追加するとします。あらかじめパ...
# pvcreate /dev/hda7
# vgextend lvm /dev/hda7
# lvextend -L+120G /dev/lvm/share
# resize_reiserfs -s +120G /dev/lvm/share
順を追って説明すると/dev/hda7の物理ボリュームを作成。/dev...
*ディスクの交換
しばらく使用していたら、ディスクから異音が…そろそろ寿命か...
さて、このとき増設ディスクを/dev/sdc、故障間近のディスク...
このとき注意するのは、交換するディスクのデータを移動する...
**ディスクをまず増設してみる
バラして、ディスクをのっけてみましょうね。
**増設したディスクを使用できるようにする。
-fdiskでパーティション切る
-パーティションタイプを8eに
-fdiskプロンプトのwコマンドでパーティション情報を書き込む
-qで終了
**増設したディスクをpvcreateして、vgextendする
増設したディスクを、1ボリュームのパーティション切ったとし...
# pvcreate /dev/sdc1
# vgextend lvm /dev/sdc1
これで、容量はそのままで、ボリュームグループlvmが使用され...
**/dev/hddの内容を移動
pvmoveコマンドを使用します。/dev/hddは、同じく1ボリューム...
# pvmove /dev/hdd1
これで、せこせことhdd1にあるPEが、sdc1に移動し始めます…移...
かわりに、/dev/sdc1に、hdd1分のAllocated PEが増えているは...
**/dev/hddをボリュームグループから削除する
# vgreduce lvm /dev/hdd1
最後に
# pvremove /dev/hdd1
これで、/dev/hddを引っこ抜いてもOKな状態になりました。電...
*Snapshotを利用したバックアップ
Snapshotとは、さっきも書いた、ロジカルボリュームの一瞬を...
ですので、Snapshot用に取っておく領域は、変更差分が書き込...
**ではSnapshotの作り方
SnapshotはSnapshot用の論理ボリュームを作成してやります。...
# lvcreate --size 1G --snapshot --name snap /dev/lvm/exa...
上の例だと、/dev/lvm/snapという名前の、/dev/lvm/exampleの...
**注意
先ほど変更差分を記録していく、と言いました。この例では1G...
**というわけで
# lvcreate --size 1G --snapshot --name snap /dev/lvm/exa...
# mount /dev/lvm/snap /mnt/snap
# rsync -auv --delete /mnt/snap/ /backup/
# umount /mnt/snap
# lvremove /dev/lvm/snap
とやってやれば、Snapshotとrsyncを使用した安全バックアップ...
ページ名: