1.概要 anchor.png

1-1 今回アップデートの経緯 anchor.png

 前回構成の検討段階ではeSATA外付HDDケースでRAID-1構成とし、FreeNASの外部ストレージは予定していなかったのだが、eSATAケースの書き込み速度が非常に遅くて断念したため、省エネに逆行する妥協の産物であった。
 幸いなことに、最近ためしてみたNOVACのケースはESXi5からeSATA接続で書き込み速度もそれなりに出るとわかったので、善は急げということで移行した。

  • eSATAのRAID-1ディスクには、基本的には内部データストレージ用。
  • 公開用のLinux仮想マシンや、クライアント用Windowsなどは
    • システム用VMFSディスクは従来どおり高速なSSDに置く。
    • 万一のクラッシュに備えてデータエリアは今回追加した外付けRAID-1ストレージを、CentOS6でiSCSIターゲットを作りこれをマウントして使用することで、キャッシュの効いた高速なディスクとして使用する。

1-2 eSATA接続HDDケース anchor.png

今回、お試しで買ってみたところ使えそうだった以下の物を使用。 新規購入は外付けHDDケースだけです。

02d6b4e0e3291a80aab77a0791c8af76e8.JPG
  • eSATAボード:玄人志向 SATA2E2-PCIe (SATAII) eSATAカード
    • 実勢価格:3,500~4,000円程度
    • SATA2 (3Gbps、NCQ), SiliconImage Sil3132搭載, PCI-Express x1対応
    • 実際は、マザーボード内蔵のeSATAポートを使用しますが、メンテ用に使えることの確認は重要。 :-)
    • ドライバはこれを有り難く使用させていただきました。
      ESXi5.0のドライバを作成してみる(Silicon Image 3124/3132/3531編)(環境さんぷる)
      • 残念ながら私の環境では、ESXi5.1では動作しませんでした。
      • FreeNASを使わなくなってしまいました。どうぞお許しを・・
  • このタイプのケースで使えるRAID-1ミラーリングは、
    • 専用の速度重視のRAIDカードと異なり独自フォーマットを使っていません。
    • よって、速度がそれほどでも無い代わりに、HDDケース自体にトラブルが発生した時でも中のDISK1台をSATAに繋げばそのまま認識してくれるメリットがあります。

1-3 ESXi5の構成 anchor.png

ESXi5のバージョン anchor.png

テストしたeSATAポートの種類

  1. マザーボードのeSATAポート
  2. マザーボードの内蔵SATAコネクタから、単純変換ケーブルでeSATAポートに変換したもの
  3. eSATAボード SATA2E2-PCIe (SiI3132)
  4. 内部SATAボード(PCI、sil3132チップ):玄人志向 SATA2E2-PCIe から、単純変換ケーブルでeSATAソケットに変換したもの
  • テストしたESXiのバージョン
    • ESXi5.0.0 build 469512
    • ESXi5.0.0 UPDATE1 build 623860
      ESXi5.0.0 build 469512 と ESXi5.0.0 UPDATE1 build 623860は同じ結果だったので以下5.0と表記。
    • ESXi5.1.0a build 914609
ESXi5.0ESXi5.1
1 :M/B内蔵eSATA
2 :内蔵SATA→eSATA××
3 :SATA2E2-PCIe(SiI3132)×→○
4 :SATA2E2-PCIe→eSATA×→○

以上のように、ESXi5.1では、M/B内蔵eSATAポート以外は全滅。5.0のまま移行しました。
(以下、訂正)

  • その後、aoyama様より、ESXi5.1はデフォルトでsil3132ドライバが入っているので、追加ドライバは不要かつ干渉するとの情報をいただきました。 後日再度ESXi5.1.0+patch(Build914609)で試してみたところ、確かに認識しました。ありがとうございました。
  • ということで、現在はESXi5.1.0+patch(Build914609)にて運用中です。
ESXi5.0U1のパッチ anchor.png

 ESXi5.0U1にアップすると、ゲストOSの自動起動が無効になってしまいます。

 私の場合は、5.1まで上げると上記のSilicon Image 3124ストレージアダプタのドライバが動作してくれなかったのでESXi5.1は断念しました。 解決策として、5.0のパッチを当てていって最新版にしました。(パッチ後のバージョンは、ESXi5.0.0 Build 821926)

 ホストをメンテナンスモードに移行したあと、VMwareのサイトから最新版(今の時点では ESXi500-201209001.zip)をダウンロードし、ESXiの「/vmfs/volumes/データストア名/」フォルダにアップロードしたあと、SSHで以下のコマンドを実行します。

# esxcli software sources profile list --depot=/vmfs/volumes/データストア名/ESXi500-201209001.zip
    • (ソースリストを確認)
# esxcli software profile update --depot=/vmfs/volumes/データストア名/ESXi500-201111001.zip --profile=ESXi-5.0.0-20120904001-standard
    • (実際のインストール)

その後、再起動して、ゲストOSが自動起動するのを確認します。

SSHでのパッチの当て方は、以下のサイトを参考にしました。

1-4 ストレージ管理ゲストOS: Cent-OS 6.3 anchor.png

 2.5TBのストレージを管理する仮想ゲストOSは、新規にインストールしたCentOS-6.3を使用、内部ネットワークにsambaファイル共有エリアを供給したり、他のゲストOS用にtgtdを用いたiSCSI接続を供給します。

 なお、旧FreeNAS上のZFSフォーマット2.5TBディスク2台をそのまま活用したいため、 まずデータをESXi上の仮の1.5TBディスクにVMFSを切り出してLVM構成してデータ内容をコピーしておき、FreeNASマシンから取り外したディスクを本設用外付けHDDケースに格納して、LVMのpvmoveコマンドでデータ移動しました。
 1.3TB程度のデータ移行に1日半もかかってしまった。。 :roll:

1-5 同一ホスト上にあるゲストのiSCSIターゲットをマウントする方法 anchor.png

 今回、ゲストマシンのiSCSIターゲットを同一ESXiホスト上で動くゲストマシンで参照する場合、ESXiが起動してもそのゲストマシンが立ち上がっていないので、iSCSI接続に失敗します。 よって、ストレージデバイスの「再スキャン」を自動で行うことで、iSCSI接続を活性化させマウントし、ストレージとして使用するゲストOSの立ち上げを遅らせる方法をとります。

  • 私の場合は、ホスト起動直後の1回だけでは不安があったので、ホストマシン起動中に1分に1回、再スキャンさせることにしました。 ;-)
    # vi /vmfs/volumes/データストア名/iscsirescan.sh
    Everything is expanded.Everything is shortened.
     
    
    esxcli storage core adapter rescan --all
    • ESXi5.0の場合
      # chmod 755 /vmfs/volumes/データストア名/iscsirescan.sh
      #
      # vi /etc/rc.local
      Everything is expanded.Everything is shortened.
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      
      -
      !
       
       
       
       
       
       
       
      -
      -
      -
      -
      |
      |
      !
      !
      !
      |
      -
      !
      |
      |
      
      #!/bin/sh
       
      export PATH=/sbin:/bin
       
      log() {
         echo "${1}"
         /bin/busybox logger init "${1}"
      }
       
      # execute all service retgistered in ${rcdir} ($1 or /etc/rc.local.d)
      if [ -d "${1:-/etc/rc.local.d}" ] ; then
         for filename in $(find "${1:-/etc/rc.local.d}" | /bin/busybox sort) ; do
            if [ -f "${filename}" ] && [ -x "${filename}" ]; then
               log "running ${filename}"
               "${filename}"
            fi
         done
      fi
       
      ########### rescan drives
      /bin/kill $(cat /var/run/crond.pid)
      /bin/echo "*	*	*	*	*	/vmfs/volumes/(データストア名)/iscsirescan.sh" >> /var/spool/cron/crontabs/root
      /bin/busybox crond
    • ESXi5.1の場合
      # vi /etc/rc.local.d/local.sh
      Everything is expanded.Everything is shortened.
      1
      2
      3
      4
      5
      
      -
      |
      !
       
       
      
      #!/bin/sh
      ########### rescan drives
      /bin/kill $(cat /var/run/crond.pid)
      /bin/echo "*    *       *       *       *       /vmfs/volumes/(データストア名)/iscsirescan.sh" >> /var/spool/cron/crontabs/root
      /bin/crond

1-6 消費電力 anchor.png

 UPSの出力モニタで確認したところ、実運用・eSATAストレージ・光モデムルーター・スイッチングハブ2台など補機込みで130W程度です。 前回のFreeNAS用にE350M1/USB3に変更した構成で160W程度でしたから、30Wほどの省エネですね。 当分この消費電力で押さえていけそうな気がします。

  • OMRON UPS BY50S の管理ソフト Power Act Pro CO2排出量の項目で平均消費電力を見れます。
    ESXi-UPS.jpg

1-7 速度 anchor.png

 同一サーバー上のiSCSIをマウントしたストーレジからwindowsXPにディスクを切り出してCrystalDiskMarkをかけてみると、5,400rpmのWD25のミラーリングとしては目を見張る数値がでました。

  • おそらく、iSCSIターゲットのキャッシュが効いている。
  • SSDをESXiホストキャッシュやゲストのswap領域にもSSDを指定していることも好影響と思う。
  • 細かなアクセスの多い公開WEBサーバー用としては、なかなか使えるのでは。
    Novac_CristalMark_ESXi50_iSCSI_NOVAC_WD15_RAID1_b.jpg
  • 先日、iSCSIではなく単なるVMFS上のLVMボリュームとしてマウントしたストレージでの速度は、WD6400でも以下の程度でした。 上の結果にビックリした訳をおわかりいただけるかと思います。
    000bd88b7621b607f39ccc4e9be8dfea8f.jpg

1-8 副産物 anchor.png

 内部データストレージが同一サーバー上にあるため、ESXi上のゲストマシン同士の通信は物理層を通らない内部ネットワークで行うことができる。 よって、

  • 実体NICを通過する通信量が減るため、家族用ゼロクライアントの安定性が向上。 時々起きるブチッとブルースクリーンで飛ぶ頻度が減った。
  • WindowsXPゲストマシンをMusicサーバーと、USBサウンドデバイスへASIO出力経由でDACへ送りピュアオーディオを鳴らしているのだが、外部ストレージの時は他のマシンのネットワーク通信が増えるとブチブチ多かった雑音がだいぶ減った。

 という感じで、期待以上に満足度の高い構成になった。 :-D

1-9 当サイト内の関連記事 anchor.png

以下に、関連記事へのリンクを貼っておきます。

2. ネットワーク・ハードウエア構成とサービス anchor.png

2-1 ネットワーク構成 anchor.png

Network2013.jpg
 
  1. 社内ネットワークと公開サーバーを置くネットワークとの完全分離は、会社規模の関係もありできませんが、フリーの仮想ブロードバンドルーター「Vyatta」を配置することにより、同一マシン上の仮想ホスト間でセグメントを分離し、通信の遮断をしています。

  2. モーションクリエイト社内PC(各社員使用)のインターネット接続に関しても、このルーターを経由し、念のため個人用回線側をゲートウエイとする構成となっています。
    これらの構成により、インターネット側から社内ファイルサーバーへのアクセスはできません。

  3. ゼロクライアント端末のデバイス群とゲストマシンが不安定になることがあったので、内部LAN用のNICを2枚差しとしてチーミングしてみました。 これで少し安定してくれると嬉しいな。

2-2 実マシン anchor.png

2-2-1写真 anchor.png

写真右側 ESXi公開サーバー
server100305.jpg
 
2-2-2 ハード構成 anchor.png

外付けHDD CASE以外は、HDDも含み全て旧品流用品。

2-2-3 その他 anchor.png
  • ホーム用BBルーター:(NEC)Aterm PA-WR8700N-HP
    家族用ゼロクライアントからのアクセスを、悪質サイトフィルタリング。
  • UPS:(OMRON)BY50S
    正弦波出力なのでPC側電源との相性も安心。 USBでESXiマシンに接続し、電源管理ツール「Power Act Pro」をWindowsゲストOS上にインストールして、停電時にゲストOS達をシャットダウンさせることが可能。 但し、ESXi5用のハイパーバイザ自体にインストールするクライアントソフトは、本記事執筆時点で未公開。

2-3 公開サーバーのサービス anchor.png

2-3-1 公開中のサービスとポート anchor.png

以前と変わっていませんが、公開サーバーでは、主に以下のサービスとポート開放をしています。
攻撃対象に成りやすいポート(telnetやsshなど)は閉じてあります。

    • WEBサービス (Apache、PHP、MySQL、Perl)
    • FTPサービス(SSL暗号化)
    • SMTP、POP、IMAPメールサービス(SSL暗号化)
    • DNS
2-3-2 各サービス anchor.png
    1. 自社運営のWEBサービスでは、必要に応じてSSL接続を行い、成りすましなどによるサイトの乗っ取りや通信傍受などに対処します。 また、掲示板等でのHTML記述を基本的に禁止し、クロスサイトスクリプティングへの予防処置とます。 各サイトにDoS攻撃などに対処するソフトを使用し、クラッキングからの防御を図ります。
    2.  FTPサービスでは、SSL/TLS暗号化を必須としており、通信の暗号化により成りすましなどによるサイトの乗っ取りを予防します。
    3.  メールサービスでは、POP、IMAP、SMTP各サーバー接続にSSL暗号化(任意)を選択し、通信傍受などに対して情報の漏洩を予防します。
2-3-3 移行したサーバー上での公開サイト anchor.png

 今回移行した仮想サーバー上で稼動している公開サイトは、以下になります。まだ増やせそうですが、ほとんど休眠サイトになってきました。  :hammer:

  1. なーお'nWEB (ここですね)
  2. (有)モーションクリエイト
  3. Motion cafe
  4. モバイルテンプハウス
  5. 蘇我みくすクラブ・さんぶクラブ別館
  6. みやこどりソフトテニスクラブ
  7. 積層スピーカーの会
  8. Lafesta cafe.
  9. スマイル(住まいづくりプロデューサー)
  10. d3diaryテストサイト
  11. 集まれ!塩ビスピーカーの会 コミュニティ

その他に非公開いくつか・・

3.参考サイト anchor.png

 構築の際に参考にさせていただいたページリンクです。