ESXiの相棒「Openfiler」のインストールメモ(iSCSI)

[追記] 2010-08-20 手順に一部間違いがあったので、修正しました。

[参考URL] OpenfilerでiSCSI

なぜか、負荷をかけると、FreeNASが壊れてしまうため、Openfiler に乗り換えた。前提条件は以下の通り。

  1. サーバは、HP-ProLiant-ML115 G5
  2. HDDは、1TB x 4 でRAID10にする。
  3. USB4GBをブートメディアにする。
  4. USB-DVDドライブからインストールする。

■USB4GBをブートメディアにする。

これがはまったねー1日かかりました。

  1. Openfiler 2.3のISOイメージをダウンロードして、CD-Rを焼く。
  2. USB-DVDドライブでOpenfilerをブートできるようにする。
  3. USB4GBをマザーのUSBポートに指す。
  4. 起動。
  5. BIOS画面を出す。
  6. BIOS画面で、SATAを無効にする。
  7. BIOS画面で、USB-DVDドライブを起動ドライブにする。
  8. BIOS画面で、USB4GBをHDDに設定する。
  9. Openfiler のブートプロンプトで "linux expert" と入力。USBメモリを認識させる。
  10. USBにインストール。遅いUSBメモリだと超時間がかかる。速いやつでも、1時間以上かかる。
  11. インストール終了後、再度インストールCDからブートさせる。
  12. Openfiler のブートプロンプトで "linux rescue" と入力する。超重要!
  13. デフォルトだと、こんな感じでパーティーションが切られる。

    sda1  /boot

    sda2  /

    sda3  swap

  14. ブート途中に、マウントするけど? と質問がでるが、Noを選択する。
  15. こんな感じでマウントさせる。

    mkdir /mnt/source/boot

    mount /dev/sda2 /mnt/source

    mount /dev/sda1 /mnt/source/boot

  16. さて、面倒が続きます。chroot したいのですが、/mnt/source/boot 配下のファイルを使いたいので、先にコピーをします。

    cp /mnt/source/boot/initrd-2.6.26.8-1.0.11.smp.pae.gcc3.4.x86.i686.img /mnt/source/tmp/initrd.gz

  17. chroot /mnt/source でchrootします。/tmp に initrd.gz があるはず!
  18. gunzip /tmp/initrd.gz
  19. cd /tmp
  20. mkdir /tmp/a
  21. cd /tmp/a
  22. cpio –i < /tmp/initrd
  23. これで、initrd が /tmp/a に解凍されます。ファイルを細工していきましょう。
  24. vi /tmp/a/init
  25. init スクリプトを編集します。echo "Loading jbd.ko module" の手前にこんな感じで、登録します。「間違えると起動しないので慎重に」

    insmod /lib/sr_mod.ko

    insmod /lib/sd_mod.ko

    insmod /lib/uhci-hcd.ko

    insmod /lib/ohci-hcd.ko

    sleep 10

    insmod /lib/usb-storage.ko

    sleep 12

  26. カーネルモジュールをコピーします。
  27. cd /lib/modules/2.6.26.8-1.0.11.smp.pae.gcc3.4.x86.i686/kernel/drivers
  28. cp scsi/sr_mod.ko /tmp/a/lib
  29. cp scsi/sd_mod.ko /tmp/a/lib
  30. cp usb/storage/usb-storage.ko /tmp/a/lib
  31. cp usb/host/uhci-hcd.ko /tmp/a/lib
  32. cp usb/host/ohci-hcd.ko /tmp/a/lib
  33. これで、カーネルモジュールをコピーは終了です。パッケージに戻しましょう。
  34. cd /tmp/a
  35. find . | cpio –c –o | gzip –9 > /tmp/usbinitrd.img
  36. cp /mnt/source/tmp/usbinitrd.img /mnt/source/boot/
  37. 改造したinitrdをコピーしたので、grub.conf も直しちゃいましょう。
  38. vi /boot/grub/grub.conf
  39. default=1 に変更し、0 からこんな感じでコピーする。

    title Openfiler NSA (32-bit PAE) USB

    root (hd0,0)

    kernel /vmlinuz-2.6.26.8-1.0.11.smp.pae.gcc3.4.x86.i686 ro root=/dev/sda2

    initrd /usbinitrd.img

  40. chroot から抜けるため、ここでexitします。
  41. umount /mnt/source
  42. umount /mnt/source/boot
  43. exit で自動リブートする。CD-Rを取り出しておく。
  44. USB4GBでブートをさせる。

ブートさせると、grubの選択画面がでます。USB版を選んで起動してください。普通に、起動できると思います(と、信じますw)

で、一度ログインして、root でシャットダウン(shutdown –h now)をしてください。

  1. 起動。
  2. BIOS画面を出す。
  3. BIOS画面で、SATAを有効にする。
  4. BIOS画面で、USB4GBを起動ドライブにする。
  5. grub でUSB版を選択する。sda2 が sde2 になります。行を選択して、e でeditして、b でブートしてください。
  6. (ブートできるはず)
  7. RAID10なので、先にこんな感じの操作をします。
  8. fdisk /dev/sda
  9. n で、swap パーティーションを作ります。512MBぐらい。t で、82  Linux swapにします。
  10. そのまま、n で全パーティーションを選んで、t で fd  Linux raid auto にします。最後は、w で書き込みます。
  11. 同じ操作を /dev/sdb /dev/sdc /dev/sdd にします。
  12. mdadm –-create /dev/md0 –-level=10 –-raid-devices=4 /dev/sd[abcd]2 を実行します。fdisk /dev/md0 を実行します。
  13. mdadm –-detail –-scan >> /etc/mdadm.conf で設定を書き込みます。
  14. vgscan を実行する。
  15. pvcreate -v /dev/md0 を実行する。
  16. vgcreate storage /dev/md0 で「storage」というボリューム・グループに追加する。

これで、コンソールからの操作は終わりです。続いて、Openfiler 上で作業をします。ブラウザで、https://[IPアドレス]:446/ にアクセスしてください。Firefoxでは、「安全な接続ができませんでした」が出るが、「例外として扱う」を選び、「例外を追加」を選び「証明書を取得」して「セキュリティ例外を承認」をクリックしてください。IE/Opera/Google Chromeも同じような事をしないとダメかも。

  1. ログイン画面では、デフォルトのユーザ名である“openfiler”およびデフォルトのパスワードである“password”を入力する。パスワードは変えた方がいいかも。
  2. [system]タブの「Network Access Configuration」アクセス可能なアドレスを登録します。
  3. [Volumes]タブで、「storage」というボリューム・グループが見えているはず。
  4. [Services]タブで、iSCSI target server をEnable にします。
  5. [Volumes] の右側にある[Add Volume]を選択します。
  6. Volume Name を storage と入力し、Required Space をMAXにし、Filesystem を iSCSI に設定して、Createボタンを押します。
  7. 再度、[Volumes]を選び、右側の[iSCSI Targets]を選択する。
  8. で、[Add]を選択する。
  9. 再度、[Volumes]を選ぶ。
  10. [Edit]を選んで、[iSCSI Targets]を選ぶ。そして、[LUN Mapping]を選ぶ。
  11. [Transfer Mode]は、fileio が正解(らしい)
  12. [MAP]ボタンを押す。
  13. [Network ACL]タブを押す。
  14. Accessを[Deny]から[Allow]に変更して、Update ボタンを押す。
  15. CHAPはとりあえず無視。
  16. これで終了かな!?

ESXi から、iSCSIを見るには、VMware Infrastructure Client(VIC)を起動させて、以下のようにするといいらしい。

  1. [構成]タブの左側にある[ストレージ アダプタを選択する。
  2. 左側で小さく書かれている[プロパティー]をクリックする。
  3. [動的検出]タブを選択する。
  4. [追加]ボタンを押して、Openfiler(iSCSI)サーバのIPアドレスを指定する。
  5. 登録が終わったら、[閉じる]ボタンを押す。
  6. [はい]を選択する。
  7. はい!これで、ESXiからOpenfiler(iSCSI)が利用できるようになりました。
  8. パチパチパチ!完全終了~

で、いかがでした? 相当面倒ですが、iSCSIの環境をうまく作ると、爆速になるらしいです。みんな、頑張って! >って、俺もなw

[追記]

その後、7ヶ月。社内ESXi4*4+Openfiler(RAID10)で、ガンガン使っていますが、何も問題が起きていません。非常に安定していて逆に怖いw

Related Posts with Thumbnails
カテゴリー: PC, お仕事, 日記   タグ: , , , , ,   この投稿のパーマリンク

ESXiの相棒「Openfiler」のインストールメモ(iSCSI) への1件のコメント

  1. ピンバック: IT備忘録