2012-03-21

【備忘録】 Team Foundation Server で公開されているソースを取得する方法

Team Foundation Server で共有されているソースにアクセスし、クライアントコンピュータで使用するまでの手順をまとめてみました。

 本記事は、Team Foundation Server がインストール済みであり、かつソースが公開設定されていることが前提になっていますので、Team Foundation Server 側の設定については省略してあります。

 なお、ユーザインタフェースは英語表記になっていますが、一応注釈を付けておりますので、日本語のメニューと読み替えてください。
1. Visual Studio 2010 を起動し、トップ画面の一番上に表示される Connect to Team Foundation Server (Team Foundation Server に接続) をクリックするか、メニューバーより、「Team」→「Connect to Team Foundation Server」を選択します。



2. Connect to Team Project (チームプロジェクトに接続)というダイアログが表示されます。
 初回起動時は接続可能な Team Foundation Server が未登録の状態ですので、サーバを登録する必要があります。
 “Servers...”をクリックします。


3. Add/Remove Team Foundation Server (Team Foundation Server の追加と削除)というダイアログが表示されますので、“Add...”(追加)をクリックします。



4. Team Foundation Server がインストールされているサーバの URL、または Team Foundation Server の名前を入力し、“OK” をクリックします。



5. 上記で登録した Team Foundation Server への接続が行われ、Connect to Team Project (チームプロジェクトに接続) というダイアログに、利用可能なチームプロジェクトの一覧が表示されます。

 特定のプロジェクトを選択することも、すべてのプロジェクトを選択することも可能です。
 以下は、すべてを選択した状態を示しています。
 選択が終わったら、“Connect” (接続)ボタンをクリックします。



6. Team Explorer (チームエクスプローラ)が表示されますので、その中から一番下の Source Control (ソースコントロール)をダブルクリックします。



7. Source Control Explorer (ソースコントロールエクスプローラー)が開きます。
 ソースを取得したいプロジェクトを右クリックし、表示されるサブメニューより、Get Latest Version (最新バージョンを取得)を選択します。



8. Map (マップ)というダイアログが表示されますので、ローカルコピーを保存するためのフォルダを指定します。

 以下では、ローカルのドキュメントフォルダに NekoTFS というプロジェクトフォルダを指定しています。
 “Map” をクリックすると、Team Foundation Server から現在の最新バージョンのソースがコピーされるとともにマッピング設定が行われます。



 これで Team Foundation Server にアクセスしながらソース管理を行うための下準備が整いました。

2012-03-09

FileMaker の分離モデル

 今日はお問い合わせ上昇傾向のFileMaker分離モデルについて。 小社ではFileMakerの分離モデル講習をおこなっており、先日もその講習会を開かせて頂いた。

 当方がFileMaker 7以降で開発したパッケージ製品、及び受託開発システムは、必ずほんとんど分離モデルを採用している。 なぜか? その理由、つまり分離モデルのメリットは以下の4点。

  1. 仕様変更時のダウンタイムを最小限にする
  2. 同一システムが複数の拠点やユーザにより運用される場合、アップグレードが容易
  3. データベースに重大な損傷が発生した場合、データファイルのみ再構築すれば良い
  4. 公開マスタ(郵便番号、宅配便仕訳コード等)の更新・入替が容易
仕様変更が予想される業務システムは、仕様変更の度にシステムを長時間ダウンさせるわけにはいかず、かといってシステム担当者( or 業者)に休日・深夜労働させるのは酷な(だけではなくミスの原因!)ので、1.は特に重要。
 アプリファイルだけの仕様変更であれば、1ファイル入替だけですべてのアップグレード作業が完了。 データファイルに変更があった場合でも、ほとんどの場合は、非常に短い時間でアップグレードを完了させることができる。 
 その為には、単純にアプリとデータのファイルに分けるだけではなく、データファイル側ではビジネスロジック(フィールドオプション/計算式、リレーション、スクリプト)を組み込まないことがキモとなる。

 今回の受講者のはdBaseで長く開発してこられ、事前のFMの勉強もバッチリだったため、ER図と資料を見ながら サンプルアプリ(請求書発行システム)を 一人でほぼ作れるレベルだったので、8時間の講習のうち多くの時間を分離モデルの説明とQ&Aにあてることができた。 これをステップに過去のシステムに劣らない立派なシステムを構築して頂きたい。

(土屋)


【関連リンク】
土屋企画の講習 ― 分離モデルに基づく請求書システムを作る(対象者:中級、4時間×2日)
FileMaker の分離モデル - 2


【分離モデルに基づく在庫管理テンプレート】
分離モデルに基づき開発された在庫管理システムテンプレート「FMEasy在庫」の紹介記事は→こちら
「FMEasy在庫」フリー版/開発版のダウンロードは→こちら

【FMEasy在庫 の画面】

(2012/12/20追記)

2011-11-03

『売上猫くん on MySQL』開発日記 - 番外23 … FileMkaer vs Access ~ 実行速度編 ~

FileMaker と Access をフロントエンドアプリとして 、MySQL 上のデータベースを操作した場合の実行速度を比較テストしてみた。 比較テストの動画は→こちら(Youtubeへ)。 


テスト方法:
FileMaker Pro 11 で開発し、今年1月にリリースした『売上猫くん on MySQL R5.0β』を使用。 さらに今回のテストのため、本製品のAccess版を作成した。 といっても、機能は売上・請求機能に限定し、その機能のいくつかも削られたプロトタイプとなっている。 システム構成は以下の通り。


MySQL上のデータベース「neko」には、FM猫からもAccess猫からも同時に接続・操作が可能となっている。

テスト結果
以下がテスト結果である。 

テスト内容Access FileMaker
1. プログラム起動 (Program startup)54
2. レコード表示 (Records display)54
3. レコード検索 (Records find)35
4. レコードソート (Records sort)52
5. レコード入力 (Record input)53
合計点(Total)2318
注:各項目を1~5点で評価


表にあるテスト項目の他にも、80ページ程度の請求書の一括印刷テストも行ったが、FM/ACCESSいずれもストレスを感じること無く、印刷(PDF化)できた。今回のテストは、売上テーブルで11.6万件、売上明細テーブルで170万件を入れて行っているが、数百万件、数千万件のレコードを扱うのであれば、開発者によるカスタムのSQLクエリを発行できるAccessの優位度が増すことになる。


ダウンロード:
本テストで使用した『売上猫くん on MySQL R5.0β』のDOWNLOADは→こちら
尚、今回使用したAccess版は非公開。

以上


【変更履歴】
12/06/05 記事タイトル変更

2011-09-28

How to fine tune your WordPress settings to allow image file uploads on IIS7

We have been testing WordPress 3.2.1 and found out that it would not upload any image files.

You may end up with the following error or something similar when you try to upload an image:
Unable to create directory *********/wp-content/uploads. Is its parent directory writable by the server?

This error occurs when you have not given the IUSR account write-access to uploads directory.

You may be able to fix this problem with the following steps:
(Note: we assume that the PHP environment is properly set up, so the detailed instructions on php.ini settings are not mentioned here.)

1. Make sure a folder named uploads exists in wp-content.
This directory is oftentimes not automatically created in the IIS environment, so you may have to create it on your own.

2. Right-click on uploads directory to bring up Security tab.
Add IUSR to the user list and assign write-access to it.

3. Now, go back to the WordPress media settings and make sure if the URL for file uploads is wp-content/uploads.

IIS7 にインストールされた WordPress からファイルのアップロードができない場合の調整方法

 Windows Server 2008 R2 の IIS7 環境に WordPress 3.2.1 をインストールしてみたのですが、デフォルトのままでは WordPress から画像やファイルをアップロードできないことがわかりました。

 まず、アップロードを試みると、以下のようなエラーメッセージが出てしまいます。

ディレクトリ /wp-content/uploads/YYYY/MM を作成できませんでした。この親ディレクトリのアクセス権はサーバーによる書き込みを許可していますか ?

これは明らかにディレクトリパーミッションが問題で発生するトラブルですので、以下の順に確認しながら調整します。
(php.ini の設定ではファイルアップロードを有効にしていることを前提にしていますので、php 設定についてはここでは省略します。)

1. wp-content フォルダの下に uploads フォルダがあることを確認。
uploads フォルダがなければ作成してください。



2. uploads フォルダのアクセス権に IUSR が登録されていることを確認。
IUSR がなければ、図のように IUSR を追加して、書き込み権限だけを与えます。

注意:デフォルトの IIS_IUSRS だけではアップロードするための権限が足りないため、ローカルコンピュータの IUSR を手動で追加する必要があります。



3. WordPress のメディア設定の「アップロードするファイルの保存場所」が wp-content/uploads になっていることを確認します。



 これで当方は画像のアップロードができるようになりました。
 当方で試した WordPress のバージョンは 3.2.1 ですが、以前のバージョンでもアップロード設定で躓いた方は、この方法で試してみると解決するかもしれません。

2011-08-15

ターミナルサービスのライセンスサーバーが無効化されていて大慌て

 Windows Server 2008 のターミナルサービスにユーザライセンス(CAL)を追加しようとしたところ、ターミナルサービスライセンスサーバが無効になっていたため、アクティブ化しようとしたら次のようなエラーが発生しました。



 そこでイベントビューアでエラーを調べてみると、以下のような ID 38 のエラーが連続で記録されていました。

次のエラーのため、ターミナル サービス ライセンス サーバーはターミナル サービス クライアント アクセス ライセンス (TS CAL) をクライアントに発行できません: 証明書をストアに追加できません。エラー c0010020




 ID 38 の情報を調べまわったところ、以下の方法で対処できることがわかりました。

【ID 38 エラーの解消方法】

1. ターミナルサーバーライセンスサービスを停止する。



2. regedit でレジストリエディタを開き、以下の 3 つのキーを削除する。


HKEY_LOCAL_MACHINE\Software\Microsoft\TermServLicensing\Certificates

HKEY_LOCAL_MACHINE\System\CurrentControlSet\services\TermservLicensing\Parameters\Certificates.000

HKEY_LOCAL_MACHINE\System\CurrentControlSet\services\TermservLicensing\Parameters\Certificates.001

3. ターミナルサーバーライセンスサービスを開始する。
4. ターミナルサーバーライセンスマネージャを起動し、ライセンスサーバが有効化していることを確認する。




ちなみに、Microsof Open License のサイトにある問い合わせ電話番号から問い合わせをしようとすると、自動音声サービスで、ライセンスの技術情報に関するサポートは有償になると言われるので要注意です。

参考:
“The License Server Activation Wizard encountered an internal error from the license server. Message Number: 0xc0110011″(英語)

2011-08-03

NAS のディスクが壊れて大慌て

 サーバデータのバックアップを I-O データ製の NAS HDL-GT R-Series 2.0 に取るタスクが先日から失敗していたのでおかしいと思っていたところ、Status ランプが明滅した状態になっていました。
 そこでログを調べてみると、以下のようなエラーが発生していました。



上図のとおり、ディスク 2 (上から二番目のディスク)に障害が発生し、修復できなかったためディスク交換が必要な状態となっていました。

 このような状態になると、たいていの場合はディスク横のランプが赤色になるらしいのですが、弊社の場合は青色のままだったため、ディスク障害に気付きませんでした。
 ハードウェアは故障するのを前提に使うものですが、やはりこういう現象が発生すると焦りますね。


 以下のサポートページに従ってディスク交換ができます。

ハードディスク(カートリッジ)が故障した場合の交換方法について教えてください。


 以下の手順で操作すると良いでしょう。

1. NAS の電源を落とす。
2. 破損したディスクを取り外す。
3. NAS の電源を入れ、残ったディスクが正常に動作していることをログとシステム状態で確認する(下図参照)。

4. NAS の電源が入ったままで新しいディスクを実装する。すると、自動的に RAID の再構築が行われるので、再構築が始まっていることを確認(下図参照)。

5. 再構築が終われば利用可能。

操作に当たっては、事前にデータのバックアップを取ることをお忘れなく。

2011-06-01

Hyper-V のゲスト OS からサウンドを出す方法(裏技的な使い方)

 Hyper-V のゲスト OS は、サーバ機能に特化した機能以外はほとんど使えないようになっているようです。
 USB ポートやサウンドカード等のサポートがこれに該当するため、Hyper-V のゲスト OS にはサウンドボードのエミュレータは組み込まれていません。

 32-bit のサポートを謳っていない Skype や AIM などの通信アプリケーションでは、64-bit であるホストでは正常に動作しないため、32-bit のゲスト OS 環境にそれらをインストールして使用する必要があります。

 しかし、上記の説明どおりゲスト OS からはサウンドを出すことができないため、リモートデスクトップを使うことによってこれを解決できます。

 リモートデスクトップ接続ウィンドウから“オプション”ボタンをクリックし、「ローカルリソース」タブの「リモートオーディオ」というセクションから“設定(S)...”というボタンをクリックすると、以下のようなダイアログが表示されます。



 上図のように設定して“OK”を選択してからゲスト OS にリモートデスクトップ接続を行い、接続先のゲスト OS で正しくサウンドデバイスを設定すると、サウンドが有効になります。

 今まで Hyper-V ゲスト OS からサウンドデバイスが有効にならないため諦めていた方は、駄目元で試してみると良いでしょう。


参考:Sound Card Emulation in Hyper-V?(英文)
http://social.technet.microsoft.com/Forums/en-US/winserverhyperv/thread/a060720c-833e-4855-921b-6d5c79dc98d9/

2011-05-20

P2V 変換した Windows Server 2003 の仮想マシンに統合サービスセットアップディスクをインストールできずに泣かされる

 前々回の記事で、本ブログで物理マシンを仮想マシンに変換して Hyper-V で運用する方法について説明しましたが、disk2vhd で変換された仮想ディスクを使って起動した仮想マシン(Windows Server 2003)に統合サービスセットアップディスクを入れようとすると、「HAL をアップグレードしています」というダイアログが表示され、その後にマシンを再起動すると、このメッセージが再び表示される(つまりループ状態となる)現象が発生しました。


 二日間ほど悩んでネットを探し回った結果、以下の方法にたどり着きました。

disk2vhd で作成されたディスクはデュアルブートになっている

 仮想マシンを起動した直後は、以下のようなデュアルブート選択画面が表示されます。
 待ち時間はデフォルトで 3 秒間なので、素早く Disk2vhd でない方(下)を選択して起動します。



 この手順で起動した方のシステムに統合サービスセットアップディスクをインストールすると成功します。


デュアルブートのブート順を入れ替える

 上記で統合サービスセットアップディスクのインストールに成功したら、今度のためにもブート順を入れ替えておいた方が良いでしょう。

 上記の要領でシステムを起動してから、コンピュータのプロパティを表示させ、「詳細設定」タブの「起動と回復」セクションに表示されている“設定”ボタンをクリックします。



 表示されるダイアログの「起動システム」セクションで、Disk2vhd という表記がない方のシステムを選択し、“OK” をクリックします。 



 これによって、次回の起動時より Disk2vhd でない方のシステムがデフォルトとして選択されるようになります。
 今後も起動するシステムを選択したい場合は、上記の画面で待ち時間を 10 秒くらいにしておくと選択するときに慌てなくてよいでしょう。


参考:Integration services cannot upgrade HAL(英文ページ)

サイズ可変の仮想ディスクを固定にしてサイズを縮小する方法

 サイズ可変の仮想ディスクが異様に膨れ上がったことにより、物理ディスク領域を圧迫したために起動しなくなるというトラブルを以前経験したことがあり(詳細はこちら)、当方では固定ディスクの使用を推奨しておりますが、最初にサイズ可変の仮想ディスクを作成してしまった場合、固定ディスクに変換すると、そのサイズが 5 倍~ 6 倍にも膨れ上がることがあります。

 たとえば、10G だったはずのサイズ可変仮想ディスクを固定ディスクに変換したとたん、サイズが 50G に膨れ上がってしまい、物理ディスク領域を圧迫してしまう可能性があります。

 この場合、以下の手順を踏むことで固定仮想ディスクのサイズを縮小することが可能です。
 (縮小率は使用済み領域によって左右されますのでご注意ください。)

1. サイズ可変ディスクのサイズを縮小する。

 ホストマシン(Windows Server 2008)から「スタート」→「管理ツール」→「コンピュータの管理」の順に選択し、左ペインに表示される項目より「記憶域」→「ディスクの管理」の順に選択して右クリックし、サブメニューより「VHD の接続」を選択します。



 サイズを縮小したい可変仮想ディスクを選択すると、そのディスクが接続されますので、接続後にパーティションを右クリックすることによって、サイズを縮小することができます。
 サイズは可能な限り小さくしてください。
 ディスク領域が縮小されると、残りのパーティションは未使用領域として表示されます。



 処理が終わったらディスク名(上図ではディスク 6)を右クリックし、「VHD の切断」を選択してください。

2. 仮想ディスクを固定にする。

 Hyper-V マネージャを開き、右ペインに表示されるメニュー項目から「ディスクの編集」を選択し、ウィザードに従ってディスクを固定に変換します。


 
 この時点でディスクサイズが数倍に膨れ上がります。

3. 専用のツールを使って固定ディスクのサイズを縮小する。

 vmToolkit で配布されている無償のツール vhdresizer をダウンロードします。

 vhdresizer をインストールしてから起動すると、ディスク指定画面が表示されますので、上記 2. で固定化した仮想ディスクを指定します。



以下を指定してから“Resize” をクリックすると、ディスクサイズが縮小されます。

[Destination Vhd] に変換後のディスクの名前を入力。
[Type]が Fixed (固定)になっていることを確認。
[New Size]に可能な限り小さな値を指定。上図では、指定可能最小サイズが 17gb となっているが、17 では Resize ボタンがアクティブにならないため、18 を指定。

“Resize” ボタンをクリックすると、指定したサイズにが縮小されます。


参考:この操作によって、手順 1. の可変ディスクの縮小時にできた「未使用領域」がなくなるため、ディスクの中は一つのパーティションとなります。

ディスクのパーティションを削除、移動するためのツール

 ディスクのパーティションを削除して縮小したり、ディスクパーティションの位置を移動するには、専用のツールを使用する必要があります。

 今回使用したのは、MiniTool Partition Wizard です。

 Windows 7、Windows Server 2008 を使ってディスクマネージャから仮想ディスクを繋ぎ、MiniTool Partition Wizard を使うことによって、パーティションの編集ができます。



 パーティションの削除と移動が簡単に行えるので、あると便利なツールです。

 その他のパーティションツールとしては、EASEUS Partition Master も有力候補かと思います。
 EASEUS Partition Master のサイト(日本語) (2017/10/14 更新)



おまけ:
利用を検討したが、断念したツール群

Gnome Partition Editor
ブート CD を使ってパーティションを操作できるツールだが、vhd を USB 経由で参照するのに対応していなかったため使用を断念。

Cute Partition Manager
64 bit 環境で動作しないため、使用を断念。

2011-05-17

物理マシンを Hyper-V 仮想マシンに移行する(P2V)

 本ブログでは、Hyper-V の仮想マシンに OS をインストールしたり、仮想マシンを別のコンピュータの仮想マシンとして移行したりする方法を紹介してまいりましたが、今回は、運用中の物理マシン(タワー型マシン)の環境をごっそり仮想マシンに変換(P2V)して、Hyper-V で運用する方法について紹介します。

 手順は次の 3 ステップとなります。

1. 物理マシンのドライブをそれぞれ仮想ハードディスク(.vhd)に変換する。

MicroSoft 社の Windows SysInternals で提供されている disk2vhd というツールを使うことによって、物理ドライブを仮想ディスクに変換する。



注意:Hyper-V で運用可能な仮想ディスクを作成する場合は、ダイアログボックス右上の [Prepare for use in virtual PC]というチェックボックスに必ずチェックを入れてください。

 私が使っているマシンのディスクドライブは、C、E、F に分かれているため、C、E、F 個別に変換を行い、計 3 つの仮想ディスクを作成しました。

 外付けデバイス、CD/DVD-RW ドライブは変換しないようにしてください。

注意: C、E、F を一度に変換すると、場合によっては作成される仮想ディスクファイルが 1 つになったり、2 つになったりする可能性がありますが、この内部基準に関することは今のところはっきりとわかっておりません(調査不足ですみません)。
ドライブを複数に分けている場合は、個別に変換されることを強くお勧めします。

2. Hyper-V マネージャを開き、新しい仮想マシンを作成し、仮想ディスク接続先を 1. で作成した 3 つのドライブにする。
(参考:今回は仮想環境の C、E、F ドライブにするディスク領域を iSCSI で構築しています。)

 移行先のホストマシンに、1. で作成した 3 つの vhd を格納するディスクドライブを用意します。
 一度に全部の環境を一度にバックアップを取るようにスケジュールするのであれば、3 つの vhd を一つのドライブに入れても良いですが、データドライブのみ、アプリケーションドライブのみ、といったようなバックアップスケジュールを組みたい場合は、vhd を格納するドライブをそれぞれ分けた方が良いでしょう。


 以下の例は、ホストOS から見た H ドライブにゲスト OS の変換済みのドライブ E の vhd ファイルを配置したところです。
 このように、1 ドライブに 1 つの vhd ファイルを配置しても良いですし、一度に仮想マシン全体をバックアップする予定であれば、1 ドライブに 3 つの vhd ファイルを配置してもかまいません。



 ここまで終わったら、Hyper-V マネージャを開き、仮想マシンを新規作成した後で、それぞれの vhd ファイルを関連付けます。

 当方で動作検証したところ、SCSI コントローラで vhd を関連付けたところ E/F ドライブが認識されなかったため、IDE コントローラーで関連付けを行いました。

 IDE コントローラを使って C、E、F ドライブの関連付けを行うと、以下の図のようになります。



3. 仮想マシンを起動して、E、F ドライブを認識させる。

 上記のとおり設定を行ったところで、仮想マシンを起動します。
 disk2vhd でうまく vhd 変換できていれば、OS は正常に起動できると思います。

 起動直後は、以下のようなライセンス認証ダイアログが表示されることがありますので、期間内にライセンス認証を行ってください。



 「スタート」→「管理ツール」→「コンピュータの管理」の順に選択し、左ペインに表示される「ディスクの管理」を開きます。E および F ドライブのディスクがオフライン状態となっていることがありますが、ディスク名を右クリックし、「オンライン」を選択することによってディスクをオンライン状態にできます。

 すべてのディスクをオンライン状態にすると、ディスク構成は次のようになります。



 上記でおかしな点は、ディスク 1 に E と F というドライブ名がついていますが、ディスク 2 のドライブ名は設定されていないことです。
 ディスク 1 に E、ディスク 2 に F というドライブ名が設定されることを想定しているにもかかわらず、ディスク構成が上記のようになってしまうことがあります。

 disk2vhd の変換機能の仕様によるものなのかもしれませんが、ドライブ名を正しく指定するには、ディスク 1 の二番目のパーティションを空欄にし、ディスク 2 の二番目のパーティションに F を指定すると、想定しているディスク構成で元のファイル群を参照できるようになります。


 しかし、この方法ですと、ディスク 1 の二番目のパーティション、ディスク 2 の先頭のパーティションがゴミとして残ってしまいますので、専用のツールを使ってパーティションの削除、移動をする必要があります。

2011-05-09

Hyper-V のゲスト OS を起動しようとすると、「一般のアクセスが拒否されました」というメッセージが表示される (ID: )

今まで稼動させていた Hyper-V の仮想マシンの仮想ハードディスク (.vhd) の可変→固定 変換を行った直後に、変換後の .vhd を起動すると、以下のメッセージが表示されるようになりました。


権限が足りないために起動できなくなったようですが、.vhd に Authenticated Users というユーザをフルアクセスで割り当てることで事なきを得ました。

参考:
SQL Server をメインにしたいと思いつつ Microsoft 製品の勉強内容を日々投稿
SCVMM で共有ディレクトリの ISO イメージがマウントできない場合の対応



しかし、このような現象が発生した場合は、Hyper-V マネージャのゲスト OS 設定から一度当該のディスクを削除し、再度割り当てることによって、起動のために必要な権限が割り当てられるようになる模様ですので、こちらの方がやり方としてはお勧めです。(2011/09/28追記)


1. 起動時に問題を引き起こしている仮想ディスクを削除します(下図参照)。

2. 1. で削除した仮想ディスクを追加するために、ディスクコントローラーを追加しなおします。
下図は、SCSI コントローラを追加しなおしているところですが、元々 IDE コントローラを使用していた場合は、IDE コントローラを追加してください。

3. 1. で削除した仮想ディスクを追加し、適用させます。


4. ゲスト OS の電源を入れ、無事起動すれば成功です。



参考:
仮想マシンの起動時に「IDE/ATAPIアカウントには、アタッチメント(VHDファイル名)を開くのに十分な特権がありません。」のエラーが表示される

2011-04-21

SonicWall Global VPN Client のインストールが失敗したり、クラッシュしてしまうときのちょっとした改善案(Windows Vista, Windows 7 編)

 Sonic Wall Global VPN Client (以降 SWGVC) がインストール先の OS によって正しく動作しないという記事を過去に書きましたが、今回、Vista/Windows 7 環境でも不具合が発生することがあったため、裏技的な対応方法をご紹介します。

【現象】(テスト時の SWGVC のバージョンンは 4.2.6.0305)

 SWGVC を起動すると、「Failed to open the IPSec driver.」 というエラーメッセージが表示され、接続できない。
 もしくは、SWGVC の起動まではできるが、Enable をクリックすると同様のエラーが表示されるか、接続が Enabled にならない。


【対応方法】

1. スタートメニューより、「コンピュータ」を右クリックしてから「プロパティ」の順に選択し、デバイスマネージャーを開きます。

2. デバイスマネージャーの「表示」メニューより、「非表示のデバイスの表示(W)」を選択します。


3. 左ペインに表示されるデバイスの一覧から、「SonicWall IPSec Driver」を右クリックし、「プロパティ」を選択します。




4. プロパティシートの「ドライバ」タブより、スタートアップの種類を「自動」に変更し、“開始”ボタンをクリックしてドライバを開始させ、コンピュータを再起動します。




5. SWGVC を起動し、接続を試みます。


 当方の場合は、最新版の SWGVC ではどうしても接続がうまくいかなかったため、旧版の SWGVC をインストールしなおし、上記の操作をしてみたところ、正常に接続されるようになりました。


 今までいろいろやってみて、どうしてもうまくいかなかった方は、ダメ元でお試しください。

参考:SonicWall Global VPN Client (GVC) Troubleshooting

Hyper-V の仮想マシンのエクスポート時の注意点

 前回の記事に関連した内容となりますが、Hyper-V の仮想マシンをエクスポートする際に注意しておきたい点がいくつかありますので、紹介いたします。

仮想マシン全体をエクスポートするか、スナップショットをエクスポートするか

 Windows Server 2008 R2 では、仮想マシンのエクスポートを行う際に、仮想マシン全体をエクスポートするか、スナップショットをエクスポートするか選択できます。

 Hyper-V マネージャーで仮想マシン名を右クリックしてエクスポートすると、仮想マシン全体をエクスポートできます。



 特定のスナップショットのみをエクスポートする場合は、下ペインでスナップショットツリーを展開してから、当該のスナップショットを右クリックしてエクスポートします。



 この柔軟性が意外と問題で、誤ったスナップショットをエクスポートしてしまうと、移行先が最新版の仮想マシン環境にならない可能性があるため、注意が必要です。

 そのため、仮想マシン全体をエクスポートして、移行先で仮想マシンを復元してから、スナップショットを削除してディスク結合を行う方が操作上無難ではないかと思います。


不要なスナップショットを削除して、仮想ハードディスク結合を行う
 スナップショットの削除の仕方によって、スナップショットディスク (.avhd) そのものが削除される場合と、スナップショットディスクが親仮想ディスク (.vhd) に結合される場合があります。

 スナップショットディスクが親仮想ディスクに結合されるようにスナップショットを削除するには、下図の番号の順番にスナップショットを削除します。



参考:スナップショットの削除とインポート/エクスポート(3.スナップショットの削除とインポート/エクスポート)


【仮想マシンインポート時の注意点】

 仮想マシンをインポートする際に、仮想 NIC 名および CD/DVD デバイス名が元の名前と一致していない場合は、以下のようなエラーがイベントビューアに記録されます。




 これらのエラーは、イベントビューアより「アプリケーションとサービスログ」→「Microsoft Windows」→「Hyper-V-VMMS」→「Admin」で確認できます。

ID: 14140
'仮想マシン名' は、デバイス 'Microsoft Virtual CD/DVD Disk' を追加できませんでした。(仮想マシン ID XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX)

ID: 18130
'仮想マシン名' (仮想マシン ID XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX) にデバイス '{ResourceType=21, OtherResourceType="", ResourceSubType="Microsoft Virtual CD/DVD Disk"}' を正しくインポートできませんでした。エラー: 無効なパラメーターです (0x80041008)。

ID: 18510
インポート タスクで、エラー '指定されたネットワーク リソースまたはデバイスは利用できません。' (0x80070037) により、ファイル 'C:\ProgramData\Microsoft\Windows\Hyper-V\Windows Server 2000\HV Windows Sever 2000 x86 SP4.vhd' の ACL を修復できませんでした。

ID: 18060
インポートできませんでした。場所 'C:\ProgramData\Microsoft\Windows\Hyper-V\Windows Server 2000\' に仮想マシンを保存できません。エラー: 指定されたネットワーク リソースまたはデバイスは利用できません。 (0x80070037)


 当方で仮想マシンのインポート、仮想 NIC 名が元の環境とインポート先の環境と一致していない場合に仮想マシンのインポートを実行すると、ホストの NIC が動作停止し、コンピュータをシャットダウンできなくなるという不具合が発生したため、仮想 NIC 名は旧環境と新環境で統一しておいた方が良いかもしれません。

2011-04-06

Hyper-V の仮想マシンの移行方法(エクスポート&インポート)

 さて、当ブログで以前から Hyper-V の設定方法や仮想ディスクの編集方法について述べてきましたが、今回はあるコンピュータの Hyper-V 環境にインストールされている仮想マシンを別のコンピュータに移行する方法について紹介します。

 ここでは、Hyper-V マネージャに用意されている仮想マシンのエクスポート、および仮想マシンのインポート機能を使います。

【仮想マシンのエクスポート】

1. 移行対象の仮想マシンをシャットダウンして停止させます。
2. Hyper-V マネージャより、1. の仮想マシンをマウスで右クリックしてサブメニューを表示させ、その中から「エクスポート(X)...」を選択します。


3. エクスポート先の指定を促すダイアログが表示されますので、任意の場所を指定します。


注:
 現在割り当てている仮想マシンの環境がそのままエクスポートされますので、エクスポート先のディスク空き容量が十分あることを事前に確認しておいてください。

 また、ユーザが任意に名称変更した仮想ハードディスク (.vhd) をエクスポートしようとすると、以下のようなメッセージが表示され、エクスポートに失敗してしまいますので、ご注意ください。イベント ID:18350

「仮想マシン 'Windows Sever 2000 x86' (E07BACD0-A9A4-4FC2-85F0-D9A9357943AA) をエクスポートできませんでした: エラー '指定されたファイルが見つかりません。' (0x80070002)。


 このエラーメッセージは、管理ツールのイベントビューアより、「アプリケーションとサービス ログ」→「Microsoft」→「Windows」→「Hyper-V-VMMS」→「Admin」で確認できます。


【仮想マシンのインポート】

0. 仮想マシンのインポートは一旦処理が始まってしまうと、後でユーザがインポート先を任意指定できないため、事前にインポート先を決めておく必要があります。
 Hyper-V マネージャを開き、右ペインに表示されるメニュー項目の中から「Hyper-V の設定...」を選択します。



 Hyper-V の基本設定をするためのウィンドウが表示されますので、必要に応じて「サーバー」項目の[仮想ハードディスク] および [仮想マシン]へのパスを変更しておきます。
 仮想マシンのインポート処理が実行されると、これらのパスを使用して仮想マシンが構成されます。



 
注:
 デフォルトでは、これらのパスは以下のようになっているため、仮想マシンをインポートすると、以下のディレクトリ配下に仮想マシン環境が展開されることになります。

[仮想ハードディスク]
<%systemdrive%>:\Users\Public\Documents\Hyper-V\Virtual Hard Disks

[仮想マシン]
<%systemdrive%>:\ProgramData\Microsoft\Windows\Hyper-V


1. 移行先のコンピュータの Hyper-V マネージャを開き、右ペインに表示されるメニュー項目の中から「仮想マシンのインポート」を選択します。



2. 仮想マシンのインポートダイアログが表示されますので、下図のようにエクスポート済の仮想マシンを指定してから、オプションを設定して“インポート”ボタンを押すと、仮想マシンがインポートされます。




○オプション解説

仮想マシンを移動または復元する(既存の一意な ID を使用する)(M) --- エクスポート元の ID と全く同一の仮想マシンが復元される。
インポート先にすでに同じ ID の仮想マシンが存在する場合は、インポートは失敗する。

仮想マシンをコピーする(新しい一意な ID を作成する)(O) --- エクスポート元のマシンに新しい ID を振り、仮想マシンをコピー。

すべてのファイルを複製し、同じ仮想マシンを再度インポートできるようにする(D) --- エクスポートされた仮想マシンを元に、何回でもインポート操作ができる。

注:このチェックボックスを外してインポートを実行すると、エクスポート済の仮想マシンが使えなくなるため、一度しか操作を実行できなくなります。


3. インポートが完了したら、仮想マシンを起動します。
システムの構成によっては CD/DVD ドライブや NIC が正常に動作しないことがあるため、設定画面で調整を行ってください。


参考リンク:
Hyper-V 関連ドキュメント
http://technet.microsoft.com/ja-jp/virtualization/dd297510
Windows Server 2008 R2 Hyper-V バックアップ/リストアガイド
http://primeserver.fujitsu.com/primergy/technical/construct/pdf/win2008r2-hyperv-backup.pdf

2011-04-01

計画停電対策(2) --- データセンターを利用する

計画停電対策の王道は、やはり予備電源設備を完備したデータセンターの利用となる。
下図は今回、客先へ提出したデータセンター利用提案書の一部(改変)である。 既にインターネットVPNを構築済であるため、今まで本社で運用していたサーバ群をデータセンターに移し、データセンターを中心としたVPNネットワークを再構築する。 今まで支社からアクセスしていた Terminal Server だけでは 本社からのアクセスを捌き切れないので、Terminal Server をもう一台増設する。
これで、データセンター内のサーバは停電の心配がなくなるが、計画停電区域にある本社、支社等は停電時、当然ながら、センターのサーバへのアクセスはできない。 そこで、前回書いたように、本社、支社ではONUやルータといった必要最低限の通信機器はUPSに接続するとともに、必要最低限のノートPCを用意し、停電中もセンターのサーバへアクセスできるようにする。


注:
支社のクライアントPC 上の FileMaker からデータセンターのFileMaker Server にアクセスして処理を行うと、インターネットを介して多量のトラフィックが発生するため処理は遅くなる。 Terminal Server (Terminal Service) を利用すると、処理は Terminal Server 上で実行され、処理の結果たる画面イメージあるいは印刷イメージのみが支店のクライアントPCあるいはプリンタに 送付されるため、高速に処理を実行することが可能。 また、データ書出は支社のPCやストレージに行うこともできる。