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の適用を締めくくります。

0 件のコメント:

コメントを投稿