ゲスト ディスカバリを使用すると、マシン上で実行されているアプリケーション(仮想マシン(VM)インスタンスや物理サーバーなど)に関するデータをスキャンして収集できます。また、マシンの構成、ハードウェア、ネットワーク、オープン ファイル、サービス、プロセスに関するデータも収集します。
Azure で実行されている VM やオンプレミスで実行されているマシンなど、Migration Center 検出クライアント CLI がインベントリ ディスカバリをサポートしていないプラットフォームで実行されているマシンの場合。 VMware と AWS で実行されている VM の完全な評価では、ゲスト ディスカバリを実行できます。ゲスト検出スクリプトは、ゲスト コレクション スクリプトを使用してマシンに関するデータを収集し、そのデータを Linux マシンのゲスト コレクション tar ファイルまたは Windows マシンの ZIP ファイルに書き込みます。
mcdc
CLI をホストしているマシンがゲストブックにスクリプトをアップロードして実行し、結果をダウンロードします。スクリプトは、ターゲット マシン上でローカルに実行することも、リモートで実行することもできます。VMware によってデプロイされた Linux VM と Windows VM の場合、mcdc
CLI はリモート実行をサポートします。mcdc
CLI でアクセスできるその他の Linux マシンには、discover ssh
コマンドを使用できます。
ゲスト収集スクリプトは、一連のコマンドを実行して移行元のマシンに関する情報を収集します。また、マシン上の複数のファイルから情報を収集します。
VMware ツールまたは SSH を使用して、mcdc
CLI を使用してリモートでゲスト ディスカバリを実行できます。また、個々の Linux マシンや Windows マシンでゲスト コレクション スクリプトをダウンロードして実行し、mcdc
CLI をホストしているマシンに手動で収集データをインポートすることもできます。
このドキュメントでは、mcdc
CLI が提供するさまざまなゲスト検出メソッドを実行する手順について説明します。
準備
mcdc
CLI のダウンロードと実行の要件を確認します。- ゲスト コレクション スクリプトのダウンロードと実行の要件を確認します。
mcdc
CLI をダウンロードする手順を完了します。
VMware ツールを使用してリモートでデータを収集する
vSphere でホストされている VM の場合、mcdc
CLI は VMware ツールを使用して、Linux VM と Windows VM の両方にリモートで収集スクリプトをデプロイして実行できます。VMware ツールを使用する場合、mcdc
CLI ツールは次の処理を行います。
- 収集スクリプトを VM にアップロードします。
- VM でスクリプトを実行する
- 結果をダウンロードしてインポートします。
リモートでデータを収集するには、次の 2 組の認証情報が必要です。
- vSphere に接続するために
mcdc
CLI に渡される vCenter Server ユーザー名には、VM に対する次の権限が必要です。- ゲスト オペレーションの変更
- ゲスト オペレーション プログラムの実行
- ゲスト オペレーション クエリ
- VM のユーザー認証情報:
- Windows の場合は、管理者権限が必要です。
- Linux では、ルートアクセスは必要ありませんが、ルートアクセスでは
mcdc
CLI で完全な評価に必要なデータを収集できることが保証されます。
VMware ツールを使用してデータを収集するには、次の手順を行います。
mcdc
CLI をホストする Linux VM にログインします。mcdc
CLI をダウンロードしたディレクトリに移動します。- VM の電源がオンになっていることを確認します。
ゲスト ディスカバリを実行します。
./mcdc discover vsphere guest --url https://VSPHERE_URL \ -u VCENTER_USER --vm-user VM_USER VM_ID
以下を置き換えます。
- VCENTER_USER: vCenter Server ユーザー
- VM_USER: VM ユーザー
- VM_ID: VM または MOREF の名前
プロンプトが表示されたら、VCENTER_USER と VM_USER のパスワードを入力します。
VMware ツールを使用して複数の vSphere VM から同時にデータを収集するには、次の手順を行います。
mcdc
CLI をホストする Linux VM にログインします。mcdc
CLI をダウンロードしたディレクトリに移動します。- すべての VM の電源がオンになっていることを確認します。
ゲスト ディスカバリを実行します。
./mcdc discover vsphere guest all --url https://VSPHERE_URL \ -u VCENTER_USER --vm-user VM_USER --timeout TIMEOUT_IN_SECONDS
TIMEOUT_IN_SECONDS はタイムアウトを秒単位で指定します。
必要に応じて、
--os-family
フラグを使用して検出を Windows または Linux VM のみに制限するか、--max-parallelism
フラグを使用して並列レベルを変更します。プロンプトが表示されたら、VCENTER_USER と VM_USER のパスワードを入力します。
インベントリ ディスカバリを実行するにある VMware の説明のように、
--path
フラグを使用して検出範囲を特定の VM にスコープすることもできます。
この収集したデータをオンラインで移行センターでエクスポートして評価することも、オフライン評価を実行することもできます。
SSH 経由でリモートからデータを収集する
mcdc
CLI をホストしている Linux マシンにソース Linux マシンへの SSH アクセス権が付与されている場合(Windows マシンはサポートされていません)、mcdc
CLI は、SSH を使用してリモートマシンに接続できます。 101} データを収集します。
SSH を使用する場合、mcdc
CLI は次の処理を行います。
- 収集スクリプトをマシンにアップロードします。
mcdc
CLI に渡されたマシンユーザー認証情報で、マシンでスクリプトを実行します。結果をダウンロードしてインポートします。
SSH を実行するには、次の 2 つのモードを使用できます。
デフォルト:
mcdc
CLI マシンのssh
バイナリと構成を使用します。デフォルト モードでは、~/.ssh/config
や~/.ssh/known_hosts
など、ホストするワークステーションのローカル SSH 構成ファイルがデフォルトで使用されます。プロンプトが表示されたらパスワードを入力します。または、
sshpass
を使用してコマンドラインでパスワードまたは秘密鍵ファイルのパスフレーズを渡します。次に例を示します。sshpass -p password mcdc discover ssh IP_ADDRESS
IP_ADDRESS は、マシンの IP アドレスに置き換えます。
組み込み: 内蔵型のライブラリを使用します。このモードを使用すると、環境内でデフォルト モードが正常に動作しない場合は、埋め込み SSH クライアントを使用できます。ただし、デフォルトではローカル SSH 構成ファイルは使用されません。
-i
オプションを使用して、SSH 秘密鍵ファイルを指定できます。
SSH 経由でデータを収集するには、次の手順に沿って操作します。
mcdc
CLI をホストしている Linux マシンにログインします。mcdc
CLI をダウンロードしたディレクトリに移動します。データの収集:
./mcdc discover ssh IP_HOSTNAME
IP_HOSTNAME は、マシンの IP ホスト名に置き換えます。
mcdc
CLI を呼び出すユーザーの SSH 秘密鍵ファイルは、SSH 認証に使用されます。Linux マシン上のアカウントのユーザー名を求められたら入力します。収集スクリプトはこれらの認証情報を使用して実行されます。
mcdc
CLI を呼び出すユーザーの SSH 秘密鍵がユーザー名でマシンに対する認証に失敗した場合、パスワードの入力を求められます。
コマンドの変更が必要になる可能性があるシナリオを次に示します。
デフォルト モードでマシンユーザーを指定するには、
-u
フラグを使用します。./mcdc discover ssh -u USER IP_HOSTNAME
USER は、マシンユーザーに置き換えます。
プロンプトが表示されたら、ユーザーのパスワードを入力します。
詳細モードを指定するには、
-v
フラグを使用します。./mcdc discover ssh -u USER -v IP_HOSTNAME
SSH 秘密鍵ファイルを指定するには、
-i
フラグを使用します。たとえば、.ssh/my_private_key
を指定する場合:./mcdc discover ssh -i ~/.ssh/my_private_key -u USER IP_HOSTNAME
コマンドラインでパスワードを指定するには、埋め込みモードを使用します。
./mcdc discover ssh --ssh-client embedded -u USER --passphrase PASSWORD IP_HOSTNAME
コマンドの埋め込み形式では、デフォルトでローカル SSH 構成ファイルが使用されないため、コマンドで指定したユーザーが SSH を介してマシンにアクセスできることと、マシンで収集スクリプトを実行する権限を持っていることを確認します。
埋め込みモードで SSH 秘密鍵ファイルを指定するには、
-i
フラグを使用します。./mcdc discover ssh --ssh-client embedded -i ~/.ssh/id_rsa -u USER --password PASSWORD IP_HOSTNAME
mcdc
CLI コマンドでは、ほとんどの SSH フラグを指定できます。次に、-a
フラグまたは--ssh-args
フラグを使用して、これらのフラグをssh
コマンドに渡します。たとえば、socks プロキシを使用するには:./mcdc discover ssh -u USER \ -a '-o' -a 'ProxyCommand=nc -X 5 -x 127.0.0.1:proxy port %h %p' IP_HOSTNAME
この収集したデータをオンラインで移行センターでエクスポートして評価することも、オフライン評価を実行することもできます。
個々の Linux マシンでデータを収集する
マシン上で mcdc-linux-collect.sh
ゲスト コレクション スクリプトを実行して、そのマシンに関するデータを収集できます。次に、discover import
コマンドを実行して mcdc
CLI をダウンロードし、ターゲット マシンからマシンに tar ファイルをダウンロードして、ホストマシンにデータをインポートできます。通常は、sudo
オプションを指定してスクリプトを実行します。必要に応じて、mcdc
CLI を実行しているユーザーの権限を使用してスクリプトを実行できます。ただし、スクリプトによっては、必要なデータがすべて収集されない場合があります。
- マシンにログインします。
- ゲスト コレクション スクリプトをダウンロードしたディレクトリに移動します。
マシンで収集スクリプトを実行します。
sudo ./mcdc-linux-collect.sh
このスクリプトは、
mcdc-collect-MACHINE_NAME-TIMESTAMP.tar
という名前の tar ファイルを現在のディレクトリに出力します。タイムスタンプの形式はYYYY-MM-DD-hh-mm
です。クリックしてゲスト コレクションの tar ファイル形式を表示
tar ファイルの形式は次のとおりです。
collect.log # Log output of the script files # Directory containing files with their full path from root. For example: |- etc/fstab |- etc/hostname |- etc/network/interfaces |- ... commands # Output of commands run by the script: |- dpkg |- netstat |- ps |- ... found_paths # Text file with the list of installation directories machinename # Text file with machine name ostype # Text file with operating system type (Linux) timestamp # Text file with collection timestamp version # Text file with the version of the script
必要に応じて、引数
--output
を渡して、tar ファイルを保存するパスを指定できます。収集したデータをターゲット マシンからホストマシンにコピーします。
収集したデータをホストマシンにインポートします。
./mcdc discover import PATH_TO_TAR
PATH_TO_TAR は、YAML ファイルのパスに置き換えます。
この収集したデータをオンラインで移行センターでエクスポートして評価することも、オフライン評価を実行することもできます。
個々の Windows マシンでデータを収集する
- マシンにログインします。
- [管理者として実行] オプションを使用して PowerShell を開きます。
mcdc
CLI をダウンロードしたディレクトリに移動します。マシンで収集スクリプトを実行します。
powershell -ExecutionPolicy ByPass -File .\mcdc-windows-collect.ps1
このスクリプトは、
mcdc-collect-MACHINE_NAME-TIMESTAMP.zip
という名前の ZIP ファイルを現在のディレクトリに出力します。必要に応じて、出力パスを追加して別の場所を指定できます。
.\mcdc-windows-collect.ps1 PATH_FOR_OUTPUT.zip
収集したデータをエクスポートして、Migration Center でオンラインで評価することも、オフライン評価を実行することもできます。
Windows マシンでデータ収集を実行している間、Linux マシンを使用してオフライン評価を行う必要があります。収集されたデータファイルを Linux マシン(管理コンソール)に移動する必要があります。
次のステップ
- IP 範囲スキャンを実行する方法を学習する。
- 収集したデータを移行センターにエクスポートする方法を確認する。