2014年8月23日土曜日

Azure IaaSでSystem Centerなる記事を見つけて思ったこと

調べ物をしていたら、こんなページを見つけました。
Experiences with System Center in Azure IaaS http://www.concurrency.com/blog/experiences-with-system-center-in-azure-iaas/


まだ、続編が書かれていないようなのですが、非常に興味深いです。
ただ、ベストプラクティス的な構成は、私のほうで探し切れていないので、どうやるべきなのかは継続して探していきたいです。


そしてこの記事にあったリンクをご紹介します。
Microsoft Azure 仮想マシン用のマイクロソフト サーバー ソフトウェアのサポート http://support.microsoft.com/kb/2721672
このサポート情報には、System Center 2012 SP1以降がサポートされていることがわかります。ほかに、Windows Serverの役割でサポートされるものや、SQL Server、FIM、SharePointなどもサポート対象になっていることがわかります。


Azureで仮想マシンのサイズを指定する際には、下記の情報が参考になります。
Hardware Requirements for System Center 2012 R2 http://technet.microsoft.com/en-us/library/dn726764.aspx


Orchestratorの環境を作るついでがあるので、失敗覚悟でAzureの仮想マシンを作ってみようかなと思っています。

2014年8月15日金曜日

Microsoft Azureで静的IPアドレス

PowerShellのコマンドレットを調べる機会がありましたので、備忘録も兼ねてまとめます。
まず、参考にさせて頂いたというか、情報の手がかりとなったブログ記事に御礼を申し上げます。

  1. Azureの仮想マシンに固定IPを割り当てることができるようになったようです http://yomon.hatenablog.com/entry/2014/04/08/Azure%E3%81%AE%E4%BB%AE%E6%83%B3%E3%83%9E%E3%82%B7%E3%83%B3%E3%81%AB%E5%9B%BA%E5%AE%9AIP%E3%82%92%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%82%8B
    こちらは、Azure IaaSの内部IPアドレス(DIP)を静的に付与する情報が記載されています。
    1. Windows Azure Infrastructure Services IP Address Management (Part 2 of 2) - See more at: http://blogs.technet.com/b/yungchou/archive/2014/03/18/windows_2d00_azure_2d00_infrastructure_2d00_services_2d00_ip_2d00_address_2d00_management_2d00_part_2d00_2_2d00_of_2d00_2.aspx#sthash.g44diFhS.dpuf
      上記のブログ記事から辿れる解説記事です。


  2. Azure Updateいろいろ http://buchizo.wordpress.com/2014/05/13/azure-update%E3%81%84%E3%82%8D%E3%81%84%E3%82%8D/
    こちらは、グローバルIPアドレス(VIP)を静的に付与する(正確には予約しておく)情報が記載されています



では、Microsoftの技術情報のリンクも貼っておこうと思います。

  1. Set-AzureStaticVNetIP http://msdn.microsoft.com/en-us/library/dn722490.aspx
    こちらのコマンドレットは、Azure IaaSの内部IPアドレス(DIP)を静的に付与できます。

  2. Reserved IP Addresses http://msdn.microsoft.com/en-us/library/azure/dn690120.aspx
    こちらの手順は、グローバルIPアドレス(VIP)を予約(プール化)したのち、割り当てるやり方が開設されています。



これらのやり方を見ると、やっぱり思い付きで始めてはだめで、設計が必要だなと改めて感じました~

2014年8月7日木曜日

System Center 2012 R2 Operations ManagerとOrchestratorにUpdate Rollup3を適用してみた

System Center 2012 R2 Operations ManagerにUpdate Rollup 3を適用してみます。
Update Rollup 3 for System Center 2012 R2 Operations Manager http://support.microsoft.com/kb/2965445/en-us
このドキュメントに記載の順番、OMの役割毎にも分割して適用します。
基本的な手順(UNIX/Linux管理パックの更新も含む)は、System Center 2012 R2 Operations Manager Update Rollup 2のインストールと同様ですので、こちらもご覧ください。

この環境では、管理サーバーとSQL Serverのみなので、まずは管理サーバーでWindows Updateを実行し、
om-en-install18
Update Rollup 3を適用します。
om-en-install19

続いてSQL ServerのDBへSQLスクリプトを適用するので、管理サーバー上の
%SystemDrive%\Program Files\System Center 2012 R2\Operations Manager\Server\SQL Script for Update Rollups
を開きます。
om-en-install20
このSQLスクリプトをDBがあるSQL Serverにコピーします。

useを使って、Operations ManagerのデータベースにSQLスクリプトを適用します。
om-en-install21

useを使って、Operations ManagerのDWデータベースにSQLスクリプトを適用します。
om-en-install22

続いて、管理パックの更新を行います。
日本語版ですと、[管理]をクリック後、[管理パック]をクリックします。[管理パックのインポート]をクリックします。
om-en-install23

[追加]ボタンを押します。
om-en-install24

管理パックの依存性をオンラインで解決するように設定します。
om-en-install25

管理サーバーにある管理パックの更新版が
%SystemDrive%\Program Files\System Center 2012 R2\Operations Manager\Server\Management Packs for Update Rollups
にあるので、こちらを開いて管理パックを読み込ませます。
om-en-install26

TFS Workで依存性の問題が解決できないので、Update Rollup 3 for System Center 2012 R2 Operations Manager http://support.microsoft.com/kb/2965445/en-usの指定通りにインストールメディアからMicrosoft.SystemCenter.AlertAttachment.mpbを読み込ませます。
om-en-install27
om-en-install28

依存性が解決しましたので、管理パックを更新(インストール)します。
om-en-install29

管理パックが更新できました。
om-en-install30

この後、Update Rollup 3 for System Center 2012 R2 Operations Manager http://support.microsoft.com/kb/2965445/en-usに沿って、UNIX/Linux監視の管理パックを更新していきます。
(この管理パックでは、Ubuntu 14.04 LTS x86 and x64が正式にサポートされたようですね)
管理パックの更新については、System Center 2012 R2 Operations Manager Update Rollup 2のインストールと同様なので、省略します。

続いて、OchestratorへのUpdate Rollup 3の適用です。
こちらは、Update Rollup 3 for System Center 2012 R2 Orchestrator http://support.microsoft.com/kb/2931268/en-us
のとおりに、Windows Updateをするだけです。
sc2012r2orc-en-install22
ただし、再起動が必要であったことを追記します。
sc2012r2orc-en-install23

OMとOrchestratorへのUpdate Rollup 3適用については、以上となります。

2014年8月6日水曜日

System Center 2012 R2 Virtual Machine Manager Update Rollup 3を適用してみた

System Center 2012 R2 Update Rollup 3がリリースされてました。
どうも3カ月に1度はUpdate Rollupとしてリリースされる感じなんでしょうかね。


ということで、Virtual Machine Managerに適用してみました。
といっても、インストール方法は、下記のKBに沿えばよいわけです(機械翻訳よりは原文のほうが理解しやすいと思われるので、英語のリンクでお届けします)。
Update rollup 3 for System Center 2012 R2 Virtual Machine Manager http://support.microsoft.com/kb/2965414/en-us


で、これで終わってしまっては何にも付加価値がないので、大まかな流れなど書いておきます。


サーバーごとに役割を分けている場合は、上記のKBに書かれている順番で適用するようにしてください。
基本的には、Windows Updateで適用するのがお薦めだと思います。
Windows Azure PackのCloud Cruiserがらみでサーバー側は、英語環境で作り直したため、英語版の画面を主に掲載していきます。
sc2012r2vmmur3-install01


もちろん、サーバー側を英語環境にしたとしても、コンソールだけなら日本語版も使えます。ここにもUpdate Rollup3を適用しておきます。
sc2012r2vmmur3-install02


サーバー側で適用してみます。
sc2012r2vmmur3-install03
サーバー側は、再起動を要求されましたので、再起動しておきます。
sc2012r2vmmur3-install04


VMM(だけではなくOMもですが)の場合、SQLスクリプトを流して、DB側のテーブル等もアップデートしてやる必要があります。
Update Rollup 3で何か違いがあったのかを知りたくて、Update Rollup 2とfcコマンドベースで比較してみました。



ファイル Update Rollup 2 for System Center 2012 R2 Virtual Machine Manager.sql と UPDATE ROLLUP 3 FOR SYSTEM CENTER 2012 R2 VIRTUAL MACHINE MANAGER.SQL を比較しています
***** Update Rollup 2 for System Center 2012 R2 Virtual Machine Manager.sql
GO


ALTER PROCEDURE [dbo].[prc_WLC_IsVHDSharedByAnotherVmOnHost]
***** UPDATE ROLLUP 3 FOR SYSTEM CENTER 2012 R2 VIRTUAL MACHINE MANAGER.SQL
GO


ALTER PROCEDURE [dbo].[prc_WLC_IsVHDSharedByAnotherVmOnHost]
*****


***** Update Rollup 2 for System Center 2012 R2 Virtual Machine Manager.sql
@HostId [uniqueidentifier],
@VHDId [uniqueidentifier],
@VMId [uniqueidentifier]
***** UPDATE ROLLUP 3 FOR SYSTEM CENTER 2012 R2 VIRTUAL MACHINE MANAGER.SQL
@HostId [uniqueidentifier],
@VHDId [uniqueidentifier],
@VMId [uniqueidentifier]
*****


***** Update Rollup 2 for System Center 2012 R2 Virtual Machine Manager.sql
SET @error = 0


SET NOCOUNT ON;


SELECT TOP 1 1 FROM dbo.[fn_WLC_GetParentChildRelationForVHD](@VHDId) vcr
JOIN dbo.tbl_WLC_VDrive vd ON
vcr.VHDId = vd.VHDId
JOIN dbo.tbl_WLC_VObject vo ON
vo.ObjectId = vd.ParentId
JOIN dbo.tbl_WLC_VMInstance vi ON
vo.ObjectId = vi.VMInstanceId
WHERE
vo.HostId = @HostId
AND
vo.ObjectId @VMId
AND
vi.RootVMInstanceId @VMId


SET @error = @@ERROR
***** UPDATE ROLLUP 3 FOR SYSTEM CENTER 2012 R2 VIRTUAL MACHINE MANAGER.SQL
SET @error = 0
SET NOCOUNT ON;


SELECT TOP 1 1 FROM dbo.[fn_WLC_GetParentChildRelationForVHD](@VHDId) vcr
JOIN dbo.tbl_WLC_VDrive vd ON
vcr.VHDId = vd.VHDId
JOIN dbo.tbl_WLC_VObject vo ON
vo.ObjectId = vd.ParentId
JOIN dbo.tbl_WLC_VMInstance vi ON
vo.ObjectId = vi.VMInstanceId
WHERE
vo.HostId = @HostId
AND
vo.ObjectId @VMId
AND
vi.RootVMInstanceId @VMId
SET @error = @@ERROR
*****


***** Update Rollup 2 for System Center 2012 R2 Virtual Machine Manager.sql
GO


IF EXISTS (SELECT * FROM dbo.sysobjects
***** UPDATE ROLLUP 3 FOR SYSTEM CENTER 2012 R2 VIRTUAL MACHINE MANAGER.SQL
GO


IF EXISTS (SELECT * FROM dbo.sysobjects
*****


***** Update Rollup 2 for System Center 2012 R2 Virtual Machine Manager.sql
GO


CREATE PROCEDURE dbo.prc_ADHC_HostDisk_GetByClusterDiskIdAndHostId
***** UPDATE ROLLUP 3 FOR SYSTEM CENTER 2012 R2 VIRTUAL MACHINE MANAGER.SQL
GO
CREATE PROCEDURE dbo.prc_ADHC_HostDisk_GetByClusterDiskIdAndHostId
*****


***** Update Rollup 2 for System Center 2012 R2 Virtual Machine Manager.sql
AS


DECLARE @error int
***** UPDATE ROLLUP 3 FOR SYSTEM CENTER 2012 R2 VIRTUAL MACHINE MANAGER.SQL
AS
DECLARE @error int
*****


***** Update Rollup 2 for System Center 2012 R2 Virtual Machine Manager.sql
SET @error = 0


SET NOCOUNT ON


SELECT
***** UPDATE ROLLUP 3 FOR SYSTEM CENTER 2012 R2 VIRTUAL MACHINE MANAGER.SQL
SET @error = 0
SET NOCOUNT ON
SELECT
*****


***** Update Rollup 2 for System Center 2012 R2 Virtual Machine Manager.sql
[ClusterDiskID] = @ClusterDiskID


SELECT @error = @@ERROR


SET NOCOUNT OFF


RETURN @error
***** UPDATE ROLLUP 3 FOR SYSTEM CENTER 2012 R2 VIRTUAL MACHINE MANAGER.SQL
[ClusterDiskID] = @ClusterDiskID
SELECT @error = @@ERROR
SET NOCOUNT OFF
RETURN @error
*****


***** Update Rollup 2 for System Center 2012 R2 Virtual Machine Manager.sql
GO
/* script ends here */
***** UPDATE ROLLUP 3 FOR SYSTEM CENTER 2012 R2 VIRTUAL MACHINE MANAGER.SQL
GO


– The stored procedure will be deleted after the OS table is updated
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N’[dbo].[prc_IL_AddOSTemp]‘) AND type in (N’P’, N’PC’))
DROP PROCEDURE [dbo].[prc_IL_AddOSTemp]
GO
CREATE PROCEDURE [dbo].[prc_IL_AddOSTemp]
@OSId GUID,
@Name nvarchar(64),
@Description nvarchar(max),
@Edition int,
@ProductType int,
@Version nvarchar(32),
@Architecture nvarchar(32),
@OSFlags int,
@VMWareGuestId nvarchar(32),
@OSType int
AS
BEGIN
DECLARE @error int
SET @error = 0


SELECT * FROM dbo.tbl_IL_OS WHERE OSId = @OSId
— If the OS entry doesn’t exist, add the entry.
— If it exists, update
IF (@@ROWCOUNT = 0)
BEGIN
INSERT INTO dbo.tbl_IL_OS
(
[OSId],
[Name],
[Description],
[Edition],
[ProductType],
[Version],
[Architecture],
[OSFlags],
[VMWareGuestId],
[OSType]
)
VALUES
(
@OSId,
@Name,
@Description,
@Edition,
@ProductType,
@Version,
@Architecture,
@OSFlags,
@VMWareGuestId,
@OSType
)
END
ELSE
BEGIN
UPDATE dbo.tbl_IL_OS
SET
[Name] = @Name,
[Description] = @Description,
[Edition] = @Edition,
[ProductType] = @ProductType,
[Version] = @Version,
[Architecture] = @Architecture,
[OSFlags] = @OSFlags,
[VMWareGuestId] = @VMWareGuestId,
[OSType] = @OSType
WHERE OSId = @OSId
END


SET @error = @@ERROR
RETURN @error
END
GO
prc_IL_AddOSTemp ‘A3281FA8-6633-4A1D-9AB2-6B563121EC8D’, ‘Ubuntu Linux 14.04 (32 bit)’, ‘Ubuntu Linux 14.04 (32 bit)’, NULL, NU
LL, NULL, x86 , 0x1C, ‘ubuntuGuest’, 1
GO
prc_IL_AddOSTemp ‘2AF8E4A1-05F0-444E-A96F-D4D5B86B5CC8′, ‘Ubuntu Linux 14.04 (64 bit)’, ‘Ubuntu Linux 14.04 (64 bit)’, NULL, NU
LL, NULL, amd64 , 0x1C, ‘ubuntu64Guest’, 1
GO
— Delete the temporary stored procedure
— used to populate this table
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N’[dbo].[prc_IL_AddOSTemp]‘) AND type in (N’P’, N’PC’))
DROP PROCEDURE [dbo].[prc_IL_AddOSTemp]
GO
/* script ends here */
*****


最後のほうで、ストアドプロシージャを削除、作成し、Ubuntu 14.04の情報を追加しているのが見て取れます。
これは、Update rollup 3 for System Center 2012 R2 Virtual Machine Manager http://support.microsoft.com/kb/2965414/en-us
に”Features that are added in this update rollup”に書かれている



•This update includes a Linux guest agent upgrade to support the following new operating systems:


と一致しますね。


ということで、SQLスクリプトを流します。
sc2012r2vmmur3-install05
sc2012r2vmmur3-install06


実際にUbuntu 14.04の情報が追加されたか、VMの新規作成で確認してみます。
確かにオペレーティングシステムの一覧で選択できるようになっていました!
sc2012r2vmmur3-install07
sc2012r2vmmur3-install09
sc2012r2vmmur3-install08


以上で、SC 2012 R2 VMMへのUpdate Rollup3の適用を締めくくります。