連載
» 2018年04月02日 05時00分 公開

サーバの役割別に見るWindows Server 2016への移行方法Windows Server 2008のサポート終了に備えよ(3)(2/2 ページ)

[国井傑(Microsoft MVP for Directory Services),株式会社ソフィアネットワーク]
前のページへ 1|2       

●ファイルサーバを移行する場合

 Windows Server 2008のファイルサーバをWindows Server 2016へ移行する場合は、サーバ内のファイルを単純にコピーすればよいだけである。だが、単純にコピーしてしまうと、ファイルサーバで設定した「アクセス許可設定」は全て失われてしまうので注意が必要だ。アクセス許可設定の移行にはさまざまな方法があるが、ここでは「Windows Server移行ツール」を使った方法を紹介しよう。

 Windows Server移行ツールは、ファイルサーバに保存されているファイルとアクセス許可を同時に別のサーバに移行するためのツールで、移行先となるWindows Server 2016に追加して利用する。利用時のステップは以下の図3のようになる。それぞれのステップについて順番に見ていこう。

図3 図3 Windows Server移行ツールの実行ステップ
  • ステップ1:Windows Server移行ツールの追加

 Windows Server 2016の「サーバマネージャー」で「Windows Server移行ツール」の機能を追加する。

  • ステップ2:移行ツール展開フォルダの作成

 「移行ツール展開フォルダ」は、Windows Server 2008で移行を実行するための実行プログラムが含まれるフォルダだ。Windows Server移行ツールを追加したサーバで、以下のコマンドラインを実行すると作成される。

cd C:\Windows\System32\ServerMigrationTools

smigDeploy.exe /package /architecture <アーキテクチャ> /os /path <展開先パス>


 「アーキテクチャ」欄には、32ビットOSの場合は「x86」、64ビットOSの場合は「amd64」と入力する。また、「OS」欄には移行元サーバのOSを入力する。Windows Server2008の場合は「ws08」、Windows Server 2008 R2の場合は「ws08r2」と入力する。

  • ステップ3:移行ツール展開フォルダのコピー

 ステップ2で作成した「移行ツール展開フォルダ」を移行元サーバにコピーし、「smigdeploy.exe」を実行する。

  • ステップ4:移行ツールの実行

 最後にWindows Server移行ツールを実行して、共有フォルダを移行先サーバに移行する。このとき、移行元サーバと移行先サーバではTCP/UDPの7000番ポートを使って通信する。そのため、移行先サーバの「Windowsファイアウォール」で受信規則を作成して、通信ができるように設定しておく。

 ファイアウォールの設定が完了したらWindows PowerShellを利用して、移行元サーバでは「Send-SmigServerData」コマンドレットを、移行先サーバでは「Receive-SmigServerData」コマンドレットを実行する。これらのコマンドは、どちらを先に実行しても構わない。

[移行元サーバのコマンドレット(smigdeploy.exe実行時のプロンプトから)]

Send-SmigServerData -ComputerName <移行先サーバ名> `

-SourcePath <移行元の共有フォルダのローカルパス> `

-DestinationPath <移行先の共有フォルダのローカルパス> `

-Include All -Recurse


[移行先サーバのコマンドレット]

Add-PSSnapin Microsoft.Windows.ServerManager.Migration

Receive-SmigServerData


 以上の操作で、Windows Server 2008の共有フォルダがWindows Server 2016に移行される。ただし、「NTFSアクセス許可」だけは移行できないので、必要に応じて手動で再設定しなければならないことに注意してほしい。

●データベースサーバを移行する場合

 Windows Server上で稼働する「SQL Server」データベースは、インプレースアップグレードと新規インストールの2つの方法で移行できる。

 SQL Server 2008またはSQL Server 2008 R2(以降、SQL Server 2008)はWindows Server 2008上で稼働している場合が多く、インプレースアップグレードを行う場合、OSの移行とSQL Server 2008のサポート終了(2019年7月9日)に伴う移行の両方を行わなければならない。

 SQL Server 2008にService Pack4(SP4)までがインストールされていれば、同一サーバでSQL Server 2017にインプレースアップグレードできる。SQL Server 2008とSQL Server 2017が両方同時に利用できるWindows ServerのバージョンはWindows Server 2012であるため、インプレースアップグレードを実行する際には、最初にWindows ServerをWindows Server 2012にアップグレードし、その後、SQL ServerをSQL Server 2008からSQL Server 2017にアップグレードして、最後にWindows Server 2016にアップグレードする必要がある。

図4 図4 SQL Server 2017へのアップグレードパス

 一方、異なるサーバにWindows ServerとSQL Serverをインストールする(データベースだけ移行する)場合は、SQL Serverのバックアッププログラムを使用して、既存のSQL Serverで完全バックアップを取得し、新しいSQL Serverで復元を実行する方法がある。

 しかし、この方法ではデータベースだけが移行され、構成情報は移行されない。そのため、構成情報に関しては、別途移行する必要がある。構成情報のうち「オペレーター」「ジョブ」「警告」の3つは、スクリプトの生成機能を利用して移行できる。「データベースのメール」「メンテナンスプラン」「レジストリ」などの設定や「サーバ管理機能(SQL Server Management Studio)」アプリケーションのインストールなどは手動で再設定しなければならないので、現状の設定を控えておくことが重要になる。

 インプレースアップグレードを行う場合も、データベースを移行する場合も、SQL Server 2017へデータベースを載せ替える際、事前に発生する可能性のある問題を把握しておきたい場合は「Data Migration Assistant」の利用をお勧めしたい。

 Data Migration AssistantはMicrosoftのWebサイトからダウンロードして利用可能なツールだ。インストールしたData Migration Assistantを実行し、「SQL Server」→「Compatibility Issues」を選択すると、互換性の問題が一覧で表示される。これにより、アップグレード/移行を実行する前に解決すべき問題を把握しておくことができる。

●仮想マシンを移行する場合

 Windows Server 2008で動作しているHyper-V仮想マシンをWindows Server 2016に移行する場合は、仮想マシンのフォーマットが異なるため、単純に仮想マシンのエクスポート/インポートで移行することはできない。Windows Server 2016のHyper-Vで利用できるのは、Windows Server 2008 Hyper-V仮想マシンの仮想ディスクだけなので、仮想マシンから仮想ディスクだけを取り出し、Windows Server 2016で新しい仮想マシンを再作成する必要がある。具体的な作業の流れは、以下のようになる。

(1)Windows Server 2008の仮想マシンでスナップショットを全て削除する。

(2)Windows Server 2008の仮想マシンから仮想ディスク(vhdファイル)をWindows Server 2016へコピーする。

(3)Windows Server 2016で仮想マシンを新規作成する。このとき、仮想ディスクとしてWindows Server 2008からコピーした仮想ディスクを使うように指定する。


 それぞれの作業における注意点を幾つか挙げておこう。まず、既存の仮想マシンの構成情報はメモなどに控えておくこと。例えば、仮想マシンのメモリサイズとして4GBと指定していても、その情報はWindows Server 2016に引き継がれることはない。そのため、既存の仮想マシンの構成情報を控えておき、Windows Server 2016の仮想マシンを作成する際に同じ情報を登録できるようにしておく。また、「動的メモリ」などWindows Server 2008にはなかった新しい設定も増えているので、それらの設定をどのように構成するかについても検討しておく必要がある。

画面1 画面1 控えておくべきHyper-V仮想マシンの設定項目

 もう1つの注意ポイントは、仮想ディスクを基に新しい仮想マシンを作成すると、新しいNIC(Network Interface Card)が接続されたゲストOSが認識するため、仮想マシン内でのネットワーク設定が移行できない点だ。仮想マシンを移行するときは、Windows Server 2008の仮想マシンで設定されているIPアドレスなどのTCP/IP設定を控えておき、新しくWindows Server 2016の仮想マシンとして追加後、控えておいたTCP/IP設定を手動で入力しなければならない。

 なお、Windows Server 2016で新しく作成した仮想マシンに既存の仮想マシンで使用していたIPアドレスを設定しようとすると、レジストリに履歴が残されていることが原因で同じIPアドレスが設定できない場合がある。その場合は以下のWebサイトを参考にするとよいだろう。

[column]Hyper-V仮想マシンをMicrosoft Azureへ移行する

 Windows Server 2008のHyper-Vで利用している仮想ディスクは、Windows Server 2016のHyper-Vだけでなく、Microsoft Azureの仮想マシン用のディスクとして利用することも可能だ。

 利用の際には、VHD形式の仮想ディスクをMicrosoft Azureにアップロードし、アップロードした仮想ディスクを利用して新しいAzure仮想マシンを作成する。このとき、VHDファイルは容量固定以外が利用できない。そのため、VHDファイルが容量可変の場合は、アップロード前に容量固定に変換しておく。

 なお、Microsoft AzureへのVHDファイルのアップロード方法、VHDファイルを容量固定に変換する方法、既存の仮想ディスクからAzure仮想マシンを作成する方法については、以下をMicrosoftの技術情報を参考にしていただきたい。


筆者紹介

国井 傑(くにい すぐる)

株式会社ソフィアネットワーク取締役。1997年よりマイクロソフト認定トレーナーとして、Active DirectoryやActive Directoryフェデレーションサービス(AD FS)など、ID管理を中心としたトレーニングを提供している。2007年よりMicrosoft MVP for Directory Servicesを連続して受賞。なお、テストで作成するユーザーアカウントには必ずサッカー選手の名前が登場するほどのサッカー好き。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。