なーお さんの日記
社内ネットワークの再構築の一環で、2台のVineLinuxサーバーの構築を同時に進行中なのですが、 ファイル構成に 「Linux-Raid1 + LVM」 を使う方針でして、その際に気をつけなければいけない点があるのでメモを残しておきます。
 今回色々迷った末、「VMwareServer上のゲストOSを公開サーバーに使っても良い」とのVMware社からの返答を いただきまして、晴れてゲストOSへの乗せ換えを決意。 そのため、ホスト側は将来ディスクエリアが不足した際の拡張を見越して、思い切ってLVMを導入 することにしました。 (Vine Linuxは今回リリース予定の4.0から、インストール時にRaid+LVMを構成できるようになっています。但し、/bootパーティションを除きます。)
 さて、LVM(Logical Volume Management)の説明は数ある詳しいサイトにお任せするとして、そこで問題になるのは
1、 「万一ハードディスクがクラッシュしたらどうなるか?」
2、 「マシンの電源やマザーボードが壊れた時にどう対応するのか?」
 ということです。
1、に関して:
 Raid-1上にLVMを作るため、片方のディスクがクラッシュしても、再起動すれば片肺運転で立ち上がります。 そのまま同じパーティション構成のディスクを繋げて再構築が可能です。
2、に関して:
 公開サーバーのマシンが壊れた時、最短時間で他のマシンに移植するには、HDDごと他方のマシンに繋ぎ変えて、そこで仮想OSを稼動させてしまうことです。
 が、実はこれが落とし穴だったりします。 RaidやLVMを構成したマシン同士でディスクをやりとりすると、それらのボリューム名称が被っていると、すぐにはマウントできません。
詳しい解説 → sanonosa システム管理コラム集 の記事
これを最初から避けるには、同じボリューム名称にしなければよろしいわけで。 今回は、下記のようにしてみました。
# cat /proc/mdstat ##(Raidの構成: md0が本来のOS、
          ##md4,5が他のマシンから持ってきたもの)
Personalities : [raid1] 
md0 : active raid1 hdc3[1] hda3[0]
      71167872 blocks [2/2] [UU]
      
md4 : active raid1 sdb3[1] sda3[0]
      193743808 blocks [2/2] [UU]
      
md5 : active raid1 sdb5[1] sda5[0]
      43383424 blocks [2/2] [UU]
      
unused devices: <none>
# /usr/sbin/pvscan ##(LVMの物理構成:md5は組み込んでいない)
  PV /dev/md0   VG VG0   lvm2 [67.81 GB / 16.88 GB free]
  PV /dev/md4   VG VG4   lvm2 [184.75 GB / 64.00 MB free]
  Total: 2 [252.56 GB] / in use: 2 [252.56 GB] / in no VG: 0 [0   ]
# /usr/sbin/vgscan
  Reading all physical volumes.  This may take a while...
  Found volume group "VG0" using metadata type lvm2
  Found volume group "VG4" using metadata type lvm2
# /usr/sbin/lvscan ##(LVMの論理構成:分りやすい名前にした)
  ACTIVE            '/dev/VG0/root' [9.81 GB] inherit
  ACTIVE            '/dev/VG0/home' [29.31 GB] inherit
  ACTIVE            '/dev/VG0/var' [9.81 GB] inherit
  ACTIVE            '/dev/VG0/swap' [2.00 GB] inherit
  ACTIVE            '/dev/VG4/root' [11.75 GB] inherit
  ACTIVE            '/dev/VG4/home' [159.19 GB] inherit
  ACTIVE            '/dev/VG4/var' [11.75 GB] inherit
  ACTIVE            '/dev/VG4/swap' [2.00 GB] inherit
# df
 ファイルシステム  1K-ブロック  使用   空き 使用% マウント位置
 /dev/mapper/VG0-root  10127604   2004400   7608748  21% /
 /dev/hda2               505636     14171    465360   3% /boot
 none                    509084         0    509084   0% /dev/shm
 /dev/mapper/VG0-home 30254032 3021436 25695780 11% /home
 /dev/mapper/VG0-var   10127604    226344   9386804   3% /var
WebminのLVMタブで見ると。。
まあこんな感じで、別々に稼動していた2台のマシンをまとめて、IDE2台とSATA2台を1台のマシンに繋げて、問題なくmountできることが確認できれば安心、といったところ。
こういうところで急ぐとミスして、後で困るんだよねえ。 ・・ゆっくり焦らずいきます。
061202追記:
 上記のように認識されている状態で、実際にマウントするには、先ず以下のコマンドでVolumeGroupを有効にしなければいけません。
# /sbin/lvm vgchange -ay VG4

前の日記
