0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IBM Cloud: RackWare Management Module(RMM)を使ったVMware環境からのVPCへの移行: Windows編

0
Posted at

1. はじめに

IBM Cloudでは、RackWare Management Module(RMM)というSelf Managedの移行ツールが提供されています。本稿では、このツールを使って、IBM CloudのVMware環境上のVM(source server)から、IBM CloudのVSI for VPC(target server)に移行を試してみたいと思います。

なお、Linux編はIBM Cloud: RackWare Management Module(RMM)を使ったVMware環境からのVPCへの移行: Linux編で紹介してあります。

2. RMMの注文

Linux編と同じなので、こちらを参照してください。

3. RMMの構成

Linux編と同じなので、こちらを参照してください。

4. source serverの準備(VMware上のVM)

原則、Rackwareでは英語環境のスクリプト・ツールで動くことを想定されているため、日本語環境下ではそのままでは動きません。そのため、移行用ユーザー(rackware)を作成し、そのユーザーの標準言語をEnglishにします。その上で。そのrackwareユーザー上に、SSHDツールを導入します。

なお、本環境ではDISK構成は以下のようになっています。
image.png

4-1. ユーザーの作成

サーバーマネージャー -> ローカルサーバー -> ツール -> コンピューターの管理にて、rackwareというユーザーを作成する。rackwareユーザーは、パスワードは無期限にし、Administratorsグループに所属するように構成する。
image.png
image.png

4-2. ユーザーの言語設定

  • サインアウトして、Rackwareユーザーでログインする。

  • 設定 -> 時刻と言語 -> 言語から、English(United States)をインストールし、Windowsの表示言語をEnglish(United States)を選択する。
    image.png

  • サインアウトして、Rackwareユーザーでログインしたら、ちゃんと英語になっていることを確認。
    image.png

上記では簡単に書いてありますが、私はそこそこ苦労しました。とはいえ、環境依存のところがあると思うので、一般的なガイドとしては難しいところです。

まず、言語パックをインストールするためにインターネット接続が必要でした。この環境からはインターネット接続ができなかったため、proxyをVSI for VPC上に接続して構成しました。

VSI for VPC
dnf install -y squid
systemctl start squid
Windows Server上でのproxy設定
PS C:\Windows\system32> netsh winhttp set proxy proxy-server="http://10.239.0.16:3128"

また、English(United States)をインストールしても、Windowsの表示言語としてEnglish(United States)が出てこない問題もありました。そちらについては、lpksetupを使って言語パックをインストールするという手段を取りました。その際に、以下のリンクを参考にさせていただきました。

lpksetup実行時の画面(抜粋)
image.png
image.png

4-3. SSHDのインストール

SSHDは、RMMの以下にあります。これをWindows Serverにアップロードして、rackwareユーザーでログインしても構いません。

[vpcuser@syasuda-rackware-rmm ~]$ find /opt/rackware/utils/winbash/rwsshdservice-msi/ -type f
/opt/rackware/utils/winbash/rwsshdservice-msi/amd64/RWSSHDService_x64.msi
/opt/rackware/utils/winbash/rwsshdservice-msi/x86/RWSSHDService.msi

もしくはSource Serverから

32bit
https://<Rackware Server IP address>/windows/RWSSHDService.msi
64bit
https://<Rackware Server IP address>/windows/RWSSHDService_x64.msi

にアクセスすればダウンロードできるようになっています。今回はRWSSHDService_x64.msiを使ってインストールします。

SSHDのインストール画面

  • Run image.png

  • Nextimage.png

  • I Agreeを選択してNextimage.png

  • default構成のままNext image.png

  • 一番大切なところ

    • Username: rackware
    • Password: パスワード
    • Port: 22
    • RMM SSH key: サーバーにログインするために利用する公開鍵. RMM上に登録されているものを利用すること。image.png
  • Nextでインストールが開始。image.png

4-4. FirewallでPort 22の解放

Windowsの標準Firewallを使っている場合は、Run as AdministratorでCMDを開き、以下を実行

netsh.exe advfirewall firewall add rule name=rw-tcp-22-in dir=in action=allow
protocol=TCP localport=22

image.png

4-5. SSH接続テスト

RMMからのパスワードレスでの接続テスト
[root@syasuda-rackware-rmm ~]# ssh rackware@10.153.35.229
The authenticity of host '10.153.35.229 (10.153.35.229)' can't be established.
RSA key fingerprint is SHA256:zp9UwdO6mzsZi2VzTod6vAhZtH0kE7UCoKC08DXuGas.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.153.35.229' (RSA) to the list of known hosts.
[rackware@WIN2019-VM ~]

rackware$ hostname
WIN2019-VM
[rackware@WIN2019-VM ~]

rackware$ ipconfig

Windows IP Configuration


Ethernet adapter Ethernet0:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::b58c:a732:a793:ce1f%7
   IPv4 Address. . . . . . . . . . . : 10.153.35.229
   Subnet Mask . . . . . . . . . . . : 255.255.255.224
   Default Gateway . . . . . . . . . : 10.153.35.225
[rackware@WIN2019-VM ~]

4-6. SSHDの自動起動の確認

ローカルセキュリティーポリシーでサービスとしてログオン(Log on as a Service)で、rackwareが入っていることを確認。Windows Serverが起動した際に自動的にSSHDが有効になるために必要です。
image.png

4-7. AntiVirus設定

これをやっていないと、ウィルスチェックに引っかかって同期及び差分同期がすごく遅くなる可能性があります。私は最初設定していなくてだいぶ時間がかかってしまいました。

設定-> 更新とセキュリティ -> Windowsセキュリティ -> ウイルスと脅威の防止 -> ウィルスと脅威の防止の設定 -> 除外にて以下を追加。

  • プロセス
    • rsync.exe
    • rwattr.exe
    • rwchangesvc.exe
    • rw_tngsync_util.exe
    • rwchangedrv.sys
  • フォルダ
      - C:\Program Files\Rackware-winutil
      - C:\Program Files\RackWare Inc\RWSyncModule
      - C:\Windows\Temp\Rackware-winutil\
  • C:\Windows\Temp\Rackware-winutil\ については、データ同期時にRMMから一時的にファイルが作成されていましたので、フォルダを作成して登録しました。

  • C:\Program Files\RackWare Inc\RWSyncModule\ は作成しました。

以下も除外リストに入れるように書かれてあるのですが、該当ファイルが存在しないため、登録していません。プロセスを登録しているのでなくても良い気もしますが・・・

なお、RMMのドキュメントに記載されていたリストは以下の通りでした。

• rsync.exe
• rwattr.exe
• rwchangesvc.exe
• rw_tngsync_util.exe
• rwchangedrv.sys
• C:\Windows\Temp\Rackware-winutil\
• C:\Program Files\Rackware-winutil\
• C:\Program Files\RackWare Inc\RWSyncModule\
• C:\Windows\System32\rwchangesvc.exe
• C:\Windows\System32\Drivers\RwChangeDrv.sys

image.png

5. target server(VSI for VPC)の準備

今回は、source環境がUEFI/GPT方式であるため、IBM Cloud: sdp profileでUEFI/GPTフォーマットのWindows Serverを作成する方法に従ってサーバーを作成します。

source環境がUEFI/GPTであり、target環境がBIOS/MBRのままだと、以下のようにEFI system partitionに関するエラーになります。
image.png

ディスク容量は、source環境とほぼ揃えています。また移行元がIBM Cloud上のVCF for Classicを想定し、作成方法3: Custom Imageを使う方法を利用して、BYOLイメージを用意してプロビジョニングしています。

  • target serverのDISK構成。2.6TB近く存在し、UEFI/GPTで起動している(パーティション構成は移行時に変更されるので気にしなくて良い)
    image.png

プロビジョニング後は、以下の設定をSource Serverと同様にTarget Serverでも行いますが、基本的にsource serverの作業と同じなのでここでは詳細は省略します。

  • ホスト名の変更(もしCustom Imageからデプロイしていて、ホスト名を変更したい場合)
  • rackwareユーザーを作成し、Administratorsグループに入れる。
  • rackwareユーザの言語設定をEnglishに変更(これはIBM Cloudのデフォルトは英語だから特に作業は不要)
  • rackwareユーザーで、SSHDのインストール

SSHDをインストールする際には、Microsoft Defender SmartScreenにインストーラー実行をブロックされてしまいました。そのため、Settings -> Update & Security -> Windows Security -> App & browser control -> Check apps and filesで、一時的にチェックを無効にしてSSHDをインストールしました。image.png

  • Firewallのポートを開ける
  • パスワードレスのSSH接続確認。
[root@syasuda-rackware-rmm ~]# ssh rackware@10.239.0.102
The authenticity of host '10.239.0.102 (10.239.0.102)' can't be established.
RSA key fingerprint is SHA256:XLfzlgT7+K+8pGMhU+B+L6X9EZoizsjREOQrutHHgWU.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.239.0.102' (RSA) to the list of known hosts.
[rackware@win2019-vm ~]

rackware$ hostname
win2019-vm

rackware$ ipconfig

Windows IP Configuration


Ethernet adapter Ethernet:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::1b6b:97f2:720a:6885%4
   IPv4 Address. . . . . . . . . . . : 10.239.0.102
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 10.239.0.1
[rackware@win2019-vm ~]

6. RMM Consoleの構成

6-1. RMM Consoleへのログイン

https://<IP address> にrootユーザーのパスワードでログイン
image.png

6-2. Waveの作成

  • Create Wave image.png
    image.png
  • Waveの名称と、Passthrough(RMMを経由するか、それともsourceからRMMを経由せずに直接Targetに通信するか)を選択。今回はRMMを経由するPassthroughを選択。
    image.png
  • Waveが作成された。このWaveに移行サーバーを追加するために、今作成したWaveを押下。 image.png
  • "+"ボタンを押下。image.png
  • source/targetを追加
    • Target Type
      • プロビジョニング済みのVSI for VPCに移行するため、Exsisting System を選択。
    • source
      • DNS Name/IP Address(DNS Nameを利用する際には、RMMから名前解決できる必要あり)
      • Friendly Name(これはRMM内での管理目的)
      • OS
      • SSH Port
      • SSH接続用のユーザー名(今回はrackware)
    • target
      • Sync Type
      • DNS Name/IP Address(DNS Nameを利用する際には、RMMから名前解決できる必要あり)
      • Friendly Name(これはRMM内での管理目的)
      • Username(今回作成したrackwareユーザーを使用)
      • Passwordless
      • SSH Port
        image.png

7. Wave同期の実行(1回目)

▶️を押下して、同期を開始。
image.png
移行中のtarget環境をVNC Consoleで確認した結果。image.png

image.png

以下は、AntiVirusでの除外設定を入れなかった時の初回同期の時間です。全く同じ環境にも関わらず、移行時間に大きな差違が発生しています。特に、Sync DataSync FS Metadata の違いが顕著です。

image.png

8. Wave同期の実行(2回目)

▶️アイコンを押下することで、再度Wave同期が始まります。差分同期のため、1回目より早く終わりました。
image.png

9. 構成比較

9-1. DISK構成

  • source環境のWindows ServerのDISK構成 image.png
  • target環境のCustom Imageプロビジョニング直後のDISK構成(このパーティション構成は削除されます) image.png
  • RMMによる移行後のDISK構成 image.png
source
PS C:\Users\Administrator> Get-Disk | Sort Number | ft -Auto

Number Friendly Name       Serial Number                    HealthStatus OperationalStatus Total Size Partition Style
------ -------------       -------------                    ------------ ----------------- ---------- ---------------
0      VMware Virtual disk 6000c29768a9c5ffb5bc9beb56b374bf Healthy      Online                2.5 TB GPT
target
PS C:\Users\Administrator> Get-Disk | Sort Number | ft -Auto

Number Friendly Name      Serial Number                        HealthStatus OperationalStatus Total Size Partition Style
------ -------------      -------------                        ------------ ----------------- ---------- ---------------
0      QEMU QEMU HARDDISK cloud-init-0717_e2330de0-5875-4cac-a Healthy      Online                380 KB RAW
1      Red Hat VirtIO     0717-3eb27210-e7d3-4                 Healthy      Online               2.54 TB GPT
2      Red Hat VirtIO     cloud-init-                          Healthy      Online                 44 KB RAW

9-2. IP Address

source
PS C:\Users\Administrator> Get-NetIPAddress -AddressFamily IPv4


IPAddress         : 10.153.35.229
InterfaceIndex    : 7
InterfaceAlias    : Ethernet0
AddressFamily     : IPv4
Type              : Unicast
PrefixLength      : 27
PrefixOrigin      : Manual
SuffixOrigin      : Manual
AddressState      : Preferred
ValidLifetime     : Infinite ([TimeSpan]::MaxValue)
PreferredLifetime : Infinite ([TimeSpan]::MaxValue)
SkipAsSource      : False
PolicyStore       : ActiveStore

IPAddress         : 127.0.0.1
InterfaceIndex    : 1
InterfaceAlias    : Loopback Pseudo-Interface 1
AddressFamily     : IPv4
Type              : Unicast
PrefixLength      : 8
PrefixOrigin      : WellKnown
SuffixOrigin      : WellKnown
AddressState      : Preferred
ValidLifetime     : Infinite ([TimeSpan]::MaxValue)
PreferredLifetime : Infinite ([TimeSpan]::MaxValue)
SkipAsSource      : False
PolicyStore       : ActiveStore
target
PS C:\Users\Administrator> Get-NetIPAddress -AddressFamily IPv4


IPAddress         : 10.239.0.102
InterfaceIndex    : 8
InterfaceAlias    : Ethernet
AddressFamily     : IPv4
Type              : Unicast
PrefixLength      : 24
PrefixOrigin      : Dhcp
SuffixOrigin      : Dhcp
AddressState      : Preferred
ValidLifetime     : 00:03:30
PreferredLifetime : 00:03:30
SkipAsSource      : False
PolicyStore       : ActiveStore

IPAddress         : 127.0.0.1
InterfaceIndex    : 1
InterfaceAlias    : Loopback Pseudo-Interface 1
AddressFamily     : IPv4
Type              : Unicast
PrefixLength      : 8
PrefixOrigin      : WellKnown
SuffixOrigin      : WellKnown
AddressState      : Preferred
ValidLifetime     : Infinite ([TimeSpan]::MaxValue)
PreferredLifetime : Infinite ([TimeSpan]::MaxValue)
SkipAsSource      : False
PolicyStore       : ActiveStore

9-3. SID

SIDは変更されていません。

source
PS C:\Users\Administrator> whoami /user

USER INFORMATION
----------------

ユーザー名               SID
======================== =============================================
win2019-vm\administrator S-1-5-21-1549047299-1303373395-3508283010-500
target
PS C:\Users\Administrator> whoami /user

USER INFORMATION
----------------

ユーザー名               SID
======================== =============================================
win2019-vm\administrator S-1-5-21-1549047299-1303373395-3508283010-500
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?