Windows Azure

VM Role関連では、下のような投稿をしていますので、良ければ参考にしてください。

エラー内容

VM Role用のVHDを作成した後、CSUPLOADスクリプトを使用してアップロードすると次のようなエラーが発生します。

エラーは、「An unexpected error occurred: The requested operation requires elevation. 」と表示されます。

「予期しないエラーが発生しました:要求された操作は、権限を昇格させる必要があります」っと言った意味になります。

原因

このエラーは、コマンドプロンプトを管理者モードで実行していない時に、発生します。

解決策

このエラーが発生したときは、管理者モードでコマンドプロンプトを起動し直して、再度試してください。

情報源

Windows Azure VM Role – Handling Error : An unexpected error occurred: The requested operation requires elevationを意訳した投稿です。

Windows Azure

VM Role関連では、下のような投稿をしていますので、良ければ参考にしてください。

エラー内容

VM Role用のVHDを作成した後、CSUPLOADスクリプトを使用してアップロードすると次のようなエラーが発生します。

エラーは、「The file <yourvhdname.vhd> is not a valid VHD」と表示されます。

「アップロードしたVHDファイルは、有効なVHDではありません。」と言った意味です。

原因

このエラーは、いくつかの理由で発生します。

  • ツールを使用してVHDを比較した際に、データが破損した
  • サードパーティのツールを使用してVHDをマウントし、オープンをしたために、VHDの内部設定かメタデータが変化し、問題が発生する原因になった可能性があります。

解決策

ハイパーバイザーを使用して、適切なサイズのVHDを作成します。作成したVHDをサードパーティのツールを使用してはいけません。ベストなのは、ハイパーバイザーを使用して、OSをインストールし、そのままVM Roleに使用することです。

情報源

Windows Azure VM Role – Handling Error : The file yourvhdname.vhd is not a valid VHDを意訳した投稿です。

Windows Azure

相変わらず、VM Roleが使用できない綾貴でございます。(前回投稿から10分なので当たり前ですが。)

VM Role関連では、下のような投稿をしていますので、良ければ参考にしてください。

今回は、Hyper-Vに疎い人や、何も考えていない綾貴みたいな性格の人がはまりそうなエラー処理についてのご紹介。

エラー内容

VM Role用のVNDを作成して、 CSUPLOADスクリプトを使用してアップロードすると、下のようなエラーが発生することがあります。

エラーは、「The VHDs logical size of 130048MB exceeds the system maximum of 66560MB」っと表示されます。

VHDの論理サイズ130048MB(127GB)は、システム上限サイズの66560MB(65GB)を越えているので、使用できません!って意味です。

原因

このエラーが発生する原因は、恐らくあなたがVM Roleではサポートしていない127GBのVMサイズを使用しようとしたからです。

ハイパーバイザー(要は、Hyper-Vマネージャですね)で、VHDを新規作成するときに規定値で作成してしまうと、127GBの仮想HDDが作成されちゃうんです。

20101226154552

マイクロソフト製品とは言え、何でもかんでも初期値にすれば良いわけじゃないってことですね。ここのサイズを適切な大きさに変更してあげましょう。

選択するVM Roleサイズに合わせてあげる必要があるので、30~65GBのどれかになるはずです。

解決方法

作成するVHDのサイズを65GB以下に変更してあげることで、このエラーはでなくなります。

Windows Azure

も~い~くつ寝ると~お正月~♪ お正月には、VM Roleいじって~♪
てなわけで、未だにWindows Azure VMがPending状態のアカウントしか手元に無い綾貴でございます。
仕方ないので、Blogベースで予習しておきたいと思います。

関連投稿としては、などがあるので、参考にしてください。

VM Roleが使用できるようになると来るメール

βプログラムのVM Roleに申込みをして、有効になると、「Welcome to the Windows Azure VM Role Beta program!」という件名のメールと下のメールを受信することになります。

Your subscription is now enabled to use the VM Role feature in Windows Azure.


If you have not installed the latest version of the Windows Azure Tools (which includes the SDK), please install it from here.


After you have installed the Windows Azure Tools, please run this additional script to enable the VM Role features in the Visual Studio development environment: 32-bit or 64-bit. <—— この投稿では、リンクは削除してます。


Please note this is not a monitored alias. For additional questions or support please use the resources available here.


As a reminder, your use of the Windows Server 2008 R2 software in the Windows Azure VM Role Beta Program is governed these license terms.


Privacy Statement


Thank you,

The Windows Azure Team.

メールの中ほどに、Visual StudioでVM Role機能を有効にする追加スクリプトを入手する為の、リンク先が記載されています。スクリプトをダウンロードして、実行すればVS2010でVM Role関連機能が有効化され、次の画像のように選択できるようになります。

いつ自分のアカウントは有効化されるんでしょうか・・・年明けかな?(涙

参考情報

この投稿の元ネタは、

Windows Azure VM Role: Instruction to enable "New Virtual Machine Role" in VS2010 are in the VM Role confirmation email

で、あります。こちらの内容を元に、大胆に意訳してありますので、あしからず。

Windows Azure

SDK 1.3で、CloudDrive.InitializeCache() とCloudDrive.Mount() が、たまにERROR_UNSUPPORTED_OSで失敗するとの報告を受けました。
Azure CloudDrive サービスのOSが起動する前に、CloudDrive API を呼び出した時に、このエラーが発生します。旧バージョンのSDKでは、アプリケーションの開始が遅かったので、Azure CloudDrive サービスが起動しきった後に、起動していました。

この問題は将来バージョンで修正する予定です。修正するまでは、CloudDrive API を呼び出したときに、問題が発生した場合は、リトライすることを推奨します。CloudDrive.InitializeCache()を以下のサンプルコードのようにリトライします。
CloudDrive.CreateやCloudDrive.Mount、CloudDrive.GetMountedDrivesを含むCloudDrive APIsを最初に呼び出したときに、ループを回すようにします。

For (int i = 0; i < 30; i++)
{
       try
       {
           CloudDrive.InitializeCache(localCache.RootPath,localCache.MaximumSizeInMegabytes);
           break;                   
       }
       catch (CloudDriveException ex)
       {
           if (!ex.Message.Equals("ERROR_UNSUPPORTED_OS") || i == 29)
                 throw;
           Thread.Sleep(10000);
       }
}