Windows Server 2019 記憶域スペースダイレクト 検証環境構築

2ノードの記憶域スペースダイレクト を検証する環境を構築していきます。
OSのインストール、OSやドライバーの最新化、ドメインの参加まで終わったサーバーで始めます。
ドメインの管理者アカウントを使って作業をしていきます。

1.サーバー2台に役割と機能を追加します。

$ServerList = "S2DSV01", "S2DSV02"
$FeatureList = "Hyper-V", "Failover-Clustering", "Data-Center-Bridging", "RSAT-Clustering-PowerShell", "Hyper-V-PowerShell", "FS-FileServer", "Hyper-V-Tools", "RSAT-Clustering-Mgmt"
Invoke-Command ($ServerList) {
    Install-WindowsFeature -Name $Using:Featurelist
}

2.再起動後、物理ドライブの初期化を行います。
今回接続されている物理ドライブは、SSD2個、HDD2個、USB1個です。

$ServerList = "S2DSV01", "S2DSV02"
Invoke-Command ($ServerList) {
    Update-StorageProviderCache
    Get-StoragePool | ? IsPrimordial -eq $false | Set-StoragePool -IsReadOnly:$false -ErrorAction SilentlyContinue
    Get-StoragePool | ? IsPrimordial -eq $false | Get-VirtualDisk | Remove-VirtualDisk -Confirm:$false -ErrorAction SilentlyContinue
    Get-StoragePool | ? IsPrimordial -eq $false | Remove-StoragePool -Confirm:$false -ErrorAction SilentlyContinue
    Get-PhysicalDisk | Reset-PhysicalDisk -ErrorAction SilentlyContinue
    Get-Disk | ? Number -ne $null | ? IsBoot -ne $true | ? IsSystem -ne $true | ? PartitionStyle -ne RAW | % {
        $_ | Set-Disk -isoffline:$false
        $_ | Set-Disk -isreadonly:$false
        $_ | Clear-Disk -RemoveData -RemoveOEM -Confirm:$false
        $_ | Set-Disk -isreadonly:$true
        $_ | Set-Disk -isoffline:$true
    }
    Get-Disk | Where Number -Ne $Null | Where IsBoot -Ne $True | Where IsSystem -Ne $True | Where PartitionStyle -Eq RAW | Group -NoElement -Property FriendlyName
} | Sort -Property PsComputerName, Count

3.クラスタを構築する前に、検証を実施します。
Include パラメータを指定するとエラーになってしまったので、今回は、Include パラメータは指定しませんでした。

Test-Cluster –Node s2dsv01, s2dsv02

4.クラスタを構築します。
サーバーのIPアドレスが静的である場合は以下のコマンドを使用します。

New-Cluster -Name S2DSV -Node S2DSV01,S2DSV02 -NoStorage –StaticAddress XXX.XXX.XXX.XXX

5.管理ツールを使用してクラスタの構成を確認およびクラスターの監視の構成します。
特にDNSにクラスタ名(ここではS2DSV)に登録されるのに時間がかかる場合があるので、Ping コマンドなどで確認することをお勧めします。
フェールオーバークラスタマネージャーのクラスタコアリソースがすべてオンラインであることを確認することもお勧めします。

6.記憶域スペースダイレクトを有効にします。
特にDNSにクラスタ名(ここではS2DSV)に登録されるのに時間がかかる場合があるので、Ping コマンドなどで確認することをお勧めします。

Enable-ClusterStorageSpacesDirect -CimSession S2DSV

Windows Server 2019 のインストール

構築したサーバーに Windows Server 2019 Datacenter エディションをインストールします。
今回は、応答ファイル(AutoUnattend.xml)による自動インストールにしてみました。
使用した応答ファイルには、次の設定が自動的にインストールされるように設定されています。
この後、ホスト名の設定、ドメインの参加、リモートデスクトップの有効化を設定いたします。

1.インストールの言語、時刻と通貨の設定、キーボードまたは入力方式、キーボードの種類

2.プロダクトキー

3.インストールするOSの種類

4.インストール先の設定

5.Administrtorのパスワード設定

応答ファイルの中身は以下のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="oobeSystem">
        <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <InputLocale>0411:E0010411</InputLocale>
            <SystemLocale>ja-JP</SystemLocale>
            <UILanguage>ja-JP</UILanguage>
            <UserLocale>ja-JP</UserLocale>
        </component>
        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <UserAccounts>
                <AdministratorPassword>
                    <Value>*********</Value>
                    <PlainText>false</PlainText>
                </AdministratorPassword>
            </UserAccounts>
            <TimeZone>Tokyo Standard Time</TimeZone>
        </component>
    </settings>
    <settings pass="windowsPE">
        <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <InputLocale>0411:E0010411</InputLocale>
            <SystemLocale>ja-JP</SystemLocale>
            <UILanguage>ja-JP</UILanguage>
            <UserLocale>ja-JP</UserLocale>
        </component>
        <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <DiskConfiguration>
                <Disk wcm:action="add">
                    <CreatePartitions>
                        <CreatePartition wcm:action="add">
                            <Order>1</Order>
                            <Size>560</Size>
                            <Type>Primary</Type>
                        </CreatePartition>
                        <CreatePartition wcm:action="add">
                            <Order>2</Order>
                            <Type>Primary</Type>
                            <Extend>true</Extend>
                        </CreatePartition>
                    </CreatePartitions>
                    <ModifyPartitions>
                        <ModifyPartition wcm:action="add">
                            <Order>1</Order>
                            <PartitionID>1</PartitionID>
                            <Active>true</Active>
                            <Extend>false</Extend>
                            <Format>NTFS</Format>
                            <Label>システムで予約済み</Label>
                        </ModifyPartition>
                        <ModifyPartition wcm:action="add">
                            <Order>2</Order>
                            <PartitionID>2</PartitionID>
                            <Format>NTFS</Format>
                            <Letter>C</Letter>
                            <Active>false</Active>
                            <Extend>false</Extend>
                        </ModifyPartition>
                    </ModifyPartitions>
                    <DiskID>0</DiskID>
                    <WillWipeDisk>true</WillWipeDisk>
                </Disk>
            </DiskConfiguration>
            <ImageInstall>
                <OSImage>
                    <InstallFrom>
                        <MetaData wcm:action="add">
                            <Key>/IMAGE/INDEX</Key>
                            <Value>2</Value>
                        </MetaData>
                    </InstallFrom>
                    <InstallTo>
                        <DiskID>0</DiskID>
                        <PartitionID>2</PartitionID>
                    </InstallTo>
                </OSImage>
            </ImageInstall>
            <UserData>
                <ProductKey>
                    <Key>*****-*****-*****-*****-*****</Key>
                </ProductKey>
                <AcceptEula>true</AcceptEula>
            </UserData>
        </component>
    </settings>
    <cpi:offlineImage cpi:source="wim:c:/install.wim#Windows Server 2019 SERVERDATACENTER" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>

新しいサーバーを構築してみました

自宅のサーバーがだいぶ古くなってきたので、サーバーを新調することにしました。
Windows Server だけで ハイパーコンバージドインフラ(HCI)が構築できるので、今回はこちらを試してみることにしました。

2019年3月27日に Microsoft は、HCI で仮想化アプリケーションを実行できる製品として「Azure Stack HCI」を発表しました。

今回構築したサーバーは次のとおりです。

CPU Intel Xeon E3-1235L v5 ×1
メモリ DDR4-2133 ECC-DIMM 16GB ×2
ディスク SSD SATA3.0 256GB
HDD SATA3.0 2TB
MLC USB3.0 64GB
×3
×3
×3
ネットワーク 10GB
1GB
×1
×2
マザーボード ASRock Rack C236WSI ×1
ケース SilverStone ML06-E ×1

SCCM 更新プログラムパッケージのインストールに失敗する

SCCM が更新プログラムパッケージのインストールが前提条件の確認で失敗しました。

「Configuration Manager コンソール」で、 監視 > 概要 > 更新とサービスの状態 > ステータスの表示の順に展開します。
「前提条件の確認」、「サイトのアップグレードのための SQL Server 構成」がエラーとなっています。

システムログ (ConfigMgrPrereq.log)を確認すると以下の警告が記録されています。
WARNING: Invalid configuration – checked rule ‘Service broker is enabled’.

これは データベースのService broker の状態が enabled でないためです。
これを解決するには、以下の手順を実行します。

1.SQL Server Management Studio で以下のクエリを実行し、データベースの Service broker の状態を確認します。

クエリ SELECT is_broker_enabled FROM sys.databases WHERE name = ‘データベース名’;
結果 0(disabled)

2.以下のクエリを実行し、データベースの状態が enabled に変更できるか確認します。

クエリ ALTER DATABASE [データベース] SET ENABLE_BROKER WITH NO_WAIT;
結果 メッセージ 5070、レベル 16、状態 2、行 10
他のユーザーがデータベース ‘データベース名’ を使用しているときに、データベースの状態を変更することはできません
メッセージ 5069、レベル 16、状態 1、行 10
ALTER DATABASE ステートメントが失敗しました。

3.以下のクエリを実行します。

クエリ ALTER DATABASE [データベース] SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE;
結果 限定されないトランザクションをロールバック中です。推定ロールバック完了率: 0%。
限定されないトランザクションをロールバック中です。推定ロールバック完了率: 100%。

4.再び、1.のコマンドを実行し、is_broker_enabled が「1」に変わったことを確認します。

5.「Configuration Manager コンソール」で 監視 > 概要 > 更新とサービスの状態 > インストールの再試行 の順に展開します。

Windows Admin Center で Active Directory、DHCP、DNS が管理できるようになりました。

プレビュー版ではありますが、Active Directory、DHCP、DNS を管理できるようになりました。
拡張機能を更新するとインストール可能な機能として表示されます。

SQL Server 2014 Agent ジョブの PowerShell ステップで “ReportWrongProviderType” が無効なため、操作を実行できません

SQL Server 2014 Agent ジョブ で 以下のPowerShell を実行すると「操作 “ReportWrongProviderType” が無効なため、操作を実行できません。操作 “ReportWrongProviderType” を削除するか、または無効である理由を調べてください。」とエラー表示され、CSVファイルのインポートが実行されません。

$File = “\\server\shear\sample.csv”
Import-Csv $File -Encoding Default

これは、SQL Server 2014 Agent ジョブ でPowerShell ステップを実行するときに、SQLPS モジュールをインポートされ、SQL Server PowerShell プロバイダ へ変更された結果、「Import-Csv」がエラーとなります。
これを以下のように変更することによって、正常に実行されました。

Set-Location C:
$File = “\\server\shear\sample.csv”
Import-Csv $File -Encoding Default

 

カテゴリー: PowerShell. Leave a Comment »

Windows Server 2012 R2 を Windows Admin Center で管理する

Windows Admin Center で管理するには、PowerShell のバージョンが 5.1以上である必要があります。
PowerShell のバージョンはPowerShellで「$PSVersiontable」 を入力することで確認することができます。

Name
—-
PSVersion
PSEdition
PSCompatibleVersions
BuildVersion
CLRVersion
WSManStackVersion
PSRemotingProtocolVersion
SerializationVersion
Value
—–
5.1.14409.1018
Desktop
{1.0, 2.0, 3.0, 4.0…}
10.0.14409.1018
4.0.30319.42000
3.0
2.3
1.1.0.1

インストールが必要な場合は、以下のサイトからパッケージをダウンロードします。
https://docs.microsoft.com/ja-jp/powershell/wmf/5.1/install-configure

なお、Windows Server 2008 R2の場合は、PowerShellで「Enable-PSRemoting –force」  を実行する必要があります。

Windows Admin Center で管理できる項目

OSごとに Windows Admin Center でサポートされているサーバー管理機能が異なるとのことだったので、表にしてみました。

WS19 WS16 WS12R2 WS08R2
概要
PowerShell
イベント
インストールされているアプリ
サービス
システムインサイト
スケジュールされたタスク
デバイス
ネットワーク
バックアップ
ファイヤーウォール
ファイル
プロセス
リモートデスクトップ
レジストリ
ローカルユーザーとグループ
記憶域
記憶域の移行サービス
記憶域レプリカ
更新プログラム
証明書
役割と機能

Windows Admin Center で Azure Backup を構成する

Windows Admin Center で、バックアップを構成すると、Azure 上のバックアップが手軽に設定できます。
バックアップの設定後は、必要に応じてバックアップポリシーの修正を行います。

1.バックアップを選択し、「Azure Backup のセットアップ」をクリックします。

2.「ログイン」をクリックし、必要情報を入力して Microsoft Azure にサインインします。

3.バックアップに必要な情報を入力し、「適用」をクリックします。
・手順2では、「Microsoft Azure のサブスクリプション」、「コンテナー」、「データセンター」の選択が可能です。
・手順3では、バックアップの対象として「システム状態」と「ディスク全体」の2つがあり、必要なものを選択します。
バックアップのスケジュールは、詳細をクリックすることで、6パターン(周期と保持期間)から選択できますが、ここではバックアップ時刻を選択することはできません。

4.エージェントをインストールされ、設定が行われます。

5.セットアップが完了すると Windows Admin Center でバックアップの状況を確認することができるようになります。

6.必要に応じて、バックアップの対象、時刻、保持期間などのバックアップポリシーを修正します。
バックアップポリシーの修正は、Azure Backup アプリケーションでおこないます。

PowerShell で xls形式ファイルをxlsxファイル形式に変換する

最近の Excel アプリケーションで、xls ファイルをクリックすると「一部の内容に問題が見つかりました。可能な限り内容を回復しますか?ブックの発行元が信頼できる場合は、「はい」をクリックしてください。」と表示され、はいを押しても回復されない場合があります。

この場合は、xlsファイル形式 を xlsx ファイル形式に保存しなおすことで、正しくファイルが開くことができます。

ファイル単体の場合は、少し昔の Excel アプリケーションを使用して保存形式を変更すればよいのですが、複数ファイルある場合は、手間がかかってしまいます。
ファイルが複数ある場合は、PowerShell を使うことで、簡単にファイル形式の変換ができます。

$excel = New-Object -ComObject Excel.Application
$excel.Visible = $false
$excel.DisplayAlerts = $false
Get-ChildItem -Filter “*.xls” | % {
$xlsxFile = $_.FullName.Replace(“.xls”,”.xlsx”)
$book = $excel.Workbooks.Open($_.FullName)
$book.SaveAs($xlsxFile, 51)
$book.Close()
}

 

カテゴリー: PowerShell. Leave a Comment »
Windows Server Essentials を中心とした雑記

中小企業で初めてサーバーを導入しようと思っている担当者向けにWindows Server Essentials や Small Business Server に関する情報を提供するブログです。

My Knowlage Base

ggrksといわれる前に。

Dj Saori's Hardstyle Life

Dj Saori in the Mix

exceedone (エクシード・ワン)

Just another WordPress.com site

WoodStreamのCtrl+Alt+Delete

WindowsやWindowsPhoneのお話をします。