タグ別アーカイブ: Windows

やっとVPN問題が解決した

FW切替後、VPNを再設定したところ、厄介な問題が発生していました。結果からみると、よくある話(MTUサイズの調整不足)だったのですが、途中で起こったことが珍しいことだったので、ブログに書いておこうと思います。

IPSecVPNを設定。双方のセグメントにあるホストへPingがきれいに通り、無事開通、と思ったのもつかの間。リモートサイトにある端末からローカル側のサーバにHTTPでアクセスできません。

私の作業用PCで確認したところ、サクサクに動いてます。が、お客様のPCではNGです。どうやっても繋がりません。Pingは通るのに。

作業用PCとIPアドレスを入れ替えてもNG。お客様のPCをリカバリにかけてみてもNG。

時間をおいて、会社から違うPCを持ち込んだところ、これまたサクサク動く。

完全に手詰まりです。

基本に立ち返ってWiresharkでパケットキャプチャしたところ、[TCP segment of a reassembled PDU]の嵐。

ここでようやくMTUサイズ問題だと気づきました。

ルータでMTUを大幅に下げたところ、あっさりと接続。めでたしめでたしです。

しかし、どうして作業用PCや社から持ち込んだPCではOKで、お客様のPCではNGだったのか。

どうやら、Path MTU Black Hole Detection機能が関係しているようです。

Configure TCPIP stack settings in Windows NT にある

To configure Path MTU Black Hole Detection:

[HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services Tcpip Parameters]
EnablePMTUBHDetect = 0 (Enabled = 1, Disabled = 0, Default = 0)
Note Windows 2003 SP2, Windows XP SP3 and Windows Vista enables black hole detection by default, and changes the PMTU to 536 bytes if retransmissions occurs (If the following retransmission also fails then the PMTU is returned to its original size). More Info MS KB Q925280
More Info MS KB Q136970
More Info MS KB Q159211
More Info MS KB Q314825

このあたりの記述にヒントが。NGだったお客様のPCはWindowsXPSP2、持ち込んだPCはVista、作業用PCは7でした。

どうやらOKだった端末はMTUサイズのエラーを検知して、自動的にMTUを縮めていたようです。

なまじ接続が出来るPCがあったもので、解決までかなり時間がかかってしまいましたが、理屈の通る現象で一安心です。

XenApp、ICAファイルから公開アプリケーションが起動しない(解決済み)

ICAファイルからの公開アプリケーションの起動に失敗する件。

http://support.citrix.com/article/CTX120926

これに合致していた。

このHotfix Rollup Packをインストールすると、ICAファイルのパラメータTcpBrowserAddressではなくHttpBrowserAddressが使用されるようになります。ただし、デリバリーサービスコンソールで作成されるICAファイルには、デフォルトでSSLEnable=ONが指定されます。このため、ICAファイルでサーバーポートとして80を指定すると、アプリケーションが起動に失敗します。この問題を避けるには、サーバーポートとして80を指定する場合はICAファイルをSSLEnable=OFFに変更してください。[#214876]

作成したICAファイルをNotepadで編集して、SSLEnable=OFFとしたところ無事起動した。

「TCP/IP+HTTPブラウスのチェックボタン」をオフにして作成した場合、TcpBrowserAddressだけしかエントリが無いので起動に失敗する。HttpBrowserAddressを追記してやれば起動に成功する。

つまり回避方法は2通り。

  1. 「TCP/IP+HTTPブラウスのチェックボタン」をオンにして作成した場合はSSLEnable=OFFにする。
  2. 「TCP/IP+HTTPブラウスのチェックボタン」をオフにして作成した場合はHttpBrowserAddressを追記する。

チェックボタンの有無はXenAppサーバの検出時、ICAクライアントからブロードキャストが送信されるかどうかの違い。オフにするとブロードキャストで検出を試みる。このためネットワークトラフィックが発生するので、基本的にはオンにしてICAファイルを作成する。詳細は以下。

http://support.citrix.com/article/CTX114457

XenApp動いた…

テスト環境を作っていましたが、Web Interfaceのサイト作成にどうしても失敗してました。

XenAppサーバにインストールしていたんですが、別のサーバにインストールしてみるとアッサリ動いてしまいました。

XenAppのライセンスサーバにWeb Interfaceをインストールしてます。

XenAppサーバのインストールの時、IPSEC Serviceが無効になっているとインストール途中で失敗するという罠もあります。

私はIPSEC Serviceを無効にしがちなので、ハマりました。

WindowsとSQLServerのメモリ上限サイズについて

SQLServerのメモリ上限については、2005以降はOSがサポートする範囲が上限となっている。
たとえば32bitのWindows Server 2008 StandardならOS上限は4GBまでなので、SQLServerの認識も4GBまでとなる。64bitのWindows Server 2008 Standardなら32GBまでなので、SQLServerも32GBまでの認識が可能となる。

一方で、SQLServerのAWE機能を使うと32bitOSの4GB上限を超えられるが、
現実的には32bitのWindows Server 2008 Standardでは意味をなさない。
2008 Enterpriseは32bitでもメモリ上限は64GBとなっているため、AWEを利用することで4GB以上のメモリを利用できる。

4GB以上のメモリをSQLServerで利用するには、64bitのServer 2008 StandardでSQLServer 2008 Standardを利用すれば良い。
今判らないのは、この場合、SQLServerのバージョンは32bitか64bitか、どちらを使うべきなのか、あるいは使えるのか、ということ。

ちなみに、hpのサーバの場合、プリインストールモデルでは32bitと64bit双方のOSインストール用メディアが付いてくるので、再インストールの手間はかかるけど、簡単に試すことができきる。

APサーバのスペック不足か?

VPN越しに利用しているWebアプリがどうにも重い。接続帯域は十分。DBサーバのCPUやメモリは余裕がある。

となるとAPサーバか?ということでじっとパフォーマンスモニタを見ていたが、そこまで酷い値になってない。

一体どこから手をつけていいものやら。

まずはAPサーバのパフォーマンスカウンタで何を見るかは

http://207.46.16.252/ja-jp/magazine/2007.10.sqlcpu.aspx

を参考にすることにする。

ただ、直感的にはスペックの限界に達しているとは思えない。

アプリケーションの作りを変えたり、SQLServerの設定で改善されるような気がするんだけど…。

サーバをリプレースしても改善されなかったらと思うと今できることはやっておきたい。

Hyper-Vへの移行を諦め、普通の移行にしました

tibファイル(TrueImageで取得したイメージバックアップファイル)の仮想ディスクへの変換がどうやっても出来ないので、素直にバックアップイメージから復元しました。

目的はHDDの拡張だったので、もうこれでいいや、という気分です。

半日ほど費やしたけど、駄目だったなあ。

窓の杜 – 【REVIEW】フォルダを同期させるMS純正の高機能コマンド“robocopy”をGUIで「RichCopy」

窓の杜 – 【REVIEW】フォルダを同期させるMS純正の高機能コマンド“robocopy”をGUIで「RichCopy」.

早速データ移行に使ってみました。大変便利。

RoboCopyがインストールされてない環境の場合、いちいちセットアップしないといけないので、どうせセットアップするならRichCopyを入れてしまう、という考え方もアリですね。

Hyper-VにTrueImageのtibファイルをインポートする

TrueImageで取得したバックアップイメージファイル(.tib)をHyper-Vの仮想ディスク(.vhd)に変換し、インポートを試みてますが、どうしても変換できません。

TrueImageで変換タスクを実行しようとすると一瞬で終了してしまいます。「完了」と表示されますが、実際には何も変化なし。ここを見極めるために体験版を使ってるんだけど…。