Azure Managed Disks – stripe 32 disks

びっくりなことに、仮想マシン上で扱えるディスクに
Managed Disksというものが追加された。
それまで、Azureの仮想マシンでは、StorageアカウントにBlobとしてVHDが追加される形で、少しややこしい部分もあり、物理的なVHDファイルを置いておきながら、仮想マシン独自の形で関連付けられていた。
Managed Disksは一つのリソースで一つのディスクと扱えるようになっており、現実世界のディスク1枚または、VHD1つのように考えることができて、サイズの指定もできて料金もわかりやすくなった。

価格

Managed Disks の価格

種類

大きく2種類。

<Premium>

SSDベースな、IOPS、スループット重視な
P10、P20、P30

 

<Standard>

HDDベースな
S4、S6、S10、S20、S30

 

仮想マシン

SSDベースなものは、接続できる仮想マシンのサイズが決まっているようです。DSシリーズ、DS_V2シリーズ、FSシリーズ、GSシリーズ。とSがついているやつ。

AzureのVMには、サイズによって最大IOPS、スループットが制限されるという仕様があるので、サイズの小さいインスタンスでは、思ったほどでないかもしれないですね。最大接続可能なManaged Disksの数も同様にサイズの制限を受けるようです。

Managed Disks 接続

ポータル上からぽちぽちクリック。旧来のようなストレージアカウントがあって、VHDファイルがあるというような実体はない様子。

1.Managed Disksのインスタンスを作成する

2.仮想マシンのディスクに接続する

だけ。

うん。このままだと面白くないので、少し試してみよう!

 

複数束ねてStripe

ディスク-ストライピング

というわけで試してみたこと。
D、DSでデプロイ。
接続するディスクはすべてホストキャッシュの読み取り書き込みを有効にしている。
仮想マシン内で、Stripeしている。

Standard Disk16 Disk32
(per 64GB)

Premium Disk10 Disk20 Disk32
(per 1TB)

おまけ、Temp(D:ドライブ)

わかったこと

Standardを32束ねても、Premiumには追い付かない!
コンシューマのSSDとベンチマークの結果だけで判断してはいけない。
(このディスクが物理ディスク一つではなく、冗長化された存在であることを忘れない)
また、揮発性の用途でよければ、Tempを使う選択肢がある。
大量にPremiumを接続する場合では、最大スループットは、ディスク側ではなく仮想マシン側の制約を受けているためか、20と32に差はほとんどなかった。
なお画像では、32のほうが低いようにみえるが、ホストキャッシュの影響か、非常に安定しない結果となった。ホストキャッシュの無効化によってまた異なる結果が出ると思われる。加えてStripeはファイル・アクセスごとに都合よく負荷分散をするためのものではないことも影響する一つと思われる。

また、この結果は個人的なもので、何かを保証するものではありません。

アプリ

CrystalDiskMark

 

 

 

Microsoft Azure クイック スタート テンプレート試してみた – ubuntu-desktop

こんにちは。ARMのお勉強のために公式で用意されているコミュニティによるクイック スタート テンプレートの紹介です。公式のものではなくなりますが、コミュニティ提供のものとしての一覧があります。

Azure クイック スタート テンプレート

Azure リソース マネージャーを通じてコミュニティ提供のテンプレートで Azure リソースをデプロイし、生産性を高めます。デプロイ、学習、フォークして、自分も貢献しましょう。

さっそくデプロイ

ここで見つけた、Create an Ubuntu desktopっていうものを試してみます。 Azureへのデプロイボタンをクリックすると、ポータルでのカスタムテンプレートのデプロイ画面になります。

パラメーター

  • NewStorageAccountName – ストレージアカウントを作るようなのでそのアカウント名。
  • AdminUserName – Ubuntuのユーザー名
  • AdminPassword – Ubuntuのパスワード
  • DNSNameForPublicIP – DNSホスト名
  • VMSize – 仮想マシンのプラン

これらのパラメータでDNS、ストレージアカウントは世の中の一意な名前じゃないとデプロイに失敗しそうな気がします。ので、ありきたりな名前としないほうがよさそうです。

できあがり

ぽちぽちしてポータルから作ったものと違って、ロードバランサーも用意されていますね。PublicIPはネットワークインターフェイスには関連付いてなく、ロードバランサーについています。ネットワークインターフェイスはVNETに所属するのみですね。ネットワークセキュリティグループは、TCP/22(SSH)のみ開けているようです。

このテンプレートの説明

https://github.com/Azure/azure-quickstart-templates/tree/master/ubuntu-desktop

ということで、デスクトップにつなぐためには、SSHでポート転送を行いなさいよとのことです。リンク先ではPuTTYの設定になっています。以下はTeraTermの設定追加です。(設定を保存して、つなぎ直す必要があるようです。)

あとは、VNCで接続!!

接続先は「localhost:5901 」パスワードは「password」ですね。

ちょっと手順はありますが、認証もSSHを経由する必要があることで生のVNC通信より暗号化されている分ちょっと安心。

それでは!

 

ポータル、Powershellを使って、AzureResourceManagerのVMテンプレートイメージを作る

Azure CLIを使ったリソース マネージャーのテンプレートとして使用する Linux 仮想マシンをキャプチャする方法

これをPowershellでいろいろ省きながらやってみます。

VMはすでにあるものとして仮定するため、作成の手順は割愛します。

VisualStudioでSDKを入れてる人はいらないはずです。何もない人は、Powershellのコマンドラインツールを入れてください。

まずはログインです。

PS > Login-AzureRmAccount

ここでダイアログが出てくるので、サブスクリプションのあるアカウントでログインします。大抵はMsアカウントのはずです。

複数のサブスクリプションを持ってる人は以下で、サブスクリプションを選択する必要があります。

Get-AzureRmSubscriptionを使って、サブスクリプションの一覧を取得

PS >Get-AzureRmSubscription

SubscriptionName : [サブスクリプション名]
SubscriptionId   : 2aaa2a2a-9aa9-99a9-aaaa-aaaaaaaaaaaa
TenantId         : 99999999-9999-9999-9999-1234567890123
SubscriptionName : [サブスクリプション名]
SubscriptionId   : 2aaa2a2a-9aa9-99a9-aaaa-aaaaaaaaaaaa
TenantId         : 99999999-9999-9999-9999-1234567890123
サブスクリプションを以下で選択
PS > Set-AzureRmContext -SubscriptionName [サブスクリプション名]
Environment           : AzureCloud
Account               : vnext-vnext@example.com
TenantId              : 99999999-9999-9999-9999-1234567890123
SubscriptionId        : 2aaa2a2a-9aa9-99a9-aaaa-aaaaaaaaaaaa
CurrentStorageAccount :
イメージを一般化(事前にVMは停止させておきましょう)
PS > Set-AzureRmVM -Generalized -Name [仮想マシン名] -ResourceGroupName [リソースグループ名]
RequestId                            IsSuccessStatusCode StatusCode ReasonPhrase
———                            ——————- ———- ————
99999999-9999-9999-9999-1234567890123               True         OK OK
イメージをテンプレート化する
PS > Save-AzureRmVMImage -DestinationContainerName [Blobコンテナ名] -Name [仮想マシン名] -ResourceGroupName [リソースグループ名] -VHDNamePrefix [VHD名のプリフィクス]
RequestId IsSuccessStatusCode StatusCode ReasonPhrase
——— ——————- ———- ————
True         OK OK
ここで、VNET整備してますが、ポータルでもできることなので、ポータルでやってしまってもやってしまっていいような気がします。割愛。
Blobが増えてるので、JSONファイルをダウンロードしてクリップボードにコピー
Marketplaceからテンプレートのデプロイを検索
ダウンロードしたJSONを貼り付けます。
あとは、パラメータを設定、リソースグループを設定して、作成!
というざっくりな流れです!
networkInterfaceIdは「/subscriptions/[サブスクリプションID]/resourceGroups/backup-test/providers/Microsoft.Network/networkInterfaces/[ネットワークインターフェイス名]」という形式なのに注意しましょう。

Azure 仮想マシン(クラシック)のスナップショットから新たな仮想マシン(クラシック)

今日は、ちょっとした相談を受けたのでチャレンジです。VMの状態をそのまま保存して、必要なときに戻したい!という要件でした。Azure Resource Managerで管理される仮想マシンのバックアップを試してみようと思って・・・まずは、公式ドキュメントをみながら・・・。と思って探していたのだけれども。どうもARMでLinuxバックアップっていうのはどうもなさそう。このバックアップも少し意味が違う。スナップショットをポータルからぽちっといける方法もなさそうなので、現状そうした用途で使うなら、クラシックのほうがよさそうってことで、変更!ごめんなさい。本当にごめんなさい。

仮想マシン(クラシック)

まずは、既存のVMからキャプチャこれで、スナップショットを作れます。ここに「仮想マシン上で、「waagent-deprovision」を実行しました。は嘘をつかないようにします。(これをやっておくとデプロイ用のテンプレートイメージを作ったりすることができたりするのですが、割愛。)

キャプチャ

 

無事に成功したらVMイメージ(クラシック)で参照することができます。ここでVMの作成とすると、キャプチャしたイメージを仮想マシンとして動かすことができます。ただし、この場合、ネットワークで連携するものである場合は、元のマシンと同時に動かすと思わぬ挙動をするかもしれません。その場合、以前のVMを停止または削除してから、起動したほうが間違いが起きなくてすむでしょう。(ADは一度動いてしまうとエラーになりつづけたりする。火遊び!)

キャプチャからVMの作成

 

いっぱい作って、いっぱい遊んで、いっぱい壊したい私には最高な機能でした。というわけで、現状でクラシックにはクラシックの魅力があった!という話です。そして、実は新ポータルにもちゃんとこのUIが実装されていたことに気付いてしまったのは秘密です!いろいろ聞いてもらえることで、私自身も勉強になります。どうぞ、これからもよろしくお願いいたします。

(ARMのほうでも、同じことできないかポータル以外の方法を探ってます)

それでは!