RackWare 를 사용하여 IBM Cloud, VMware, VCF Classic을 VPC 가상 서버로 마이그레이션하기 RMM

브리지 서버와 Transit Gateway 연결을 사용하여 IBM Cloud VMware VCF Classic VM을 RackWare RMM 기반 VPC 가상 서버로 마이그레이션합니다.

RMM 에는 적절한 크기의 IBM Cloud VPC 가상 서버 인스턴스를 자동으로 프로비저닝하는 자동 프로비저닝 기능이 있지만, 이 자습서에서는 이 기능을 사용하지 않았습니다. 따라서 이 가이드에서는 대상 가상 서버 인스턴스와 관련 데이터 디스크를 수동으로 프로비저닝합니다.

RackWare's RMM 서버 마이그레이션 솔루션은 기존 IBM Cloud VMware VCF-자동화된 가상 머신( VM )을 현재 위치에서 IBM Cloud VPC 가상 서버 인스턴스로 쉽고 자동화되고 간소화된 프로세스로 마이그레이션할 수 있습니다.

RackWare 관리 모듈( RMM ) 마이그레이션 솔루션은 이러한 VMware 가상 머신을 IBM Cloud 가상 서버 인스턴스로 원활하게 가상-가상(virtual-to-virtual) 방식으로 마이그레이션할 수 있도록 지원합니다. 직관적인 GUI를 통해 VMware ESXi에서 IBM Cloud VPC 가상 서버 인스턴스로 OS, 애플리케이션 및 데이터를 이동할 수 있습니다.

  1. 소스 가상 머신을 생성합니다.
  2. RMM 설치합니다:
    1. VPC를 작성하십시오.
    2. RMM 서버의 서브넷을 만듭니다.
    3. SSH 키를 만듭니다.
    4. IBM Cloud 카탈로그에서 RMM 서버를 배포합니다.
  3. RackWare 에서 라이선스 취득하기.
  4. 클래식 및 VPC에 연결하여 Transit Gateway 을 만듭니다.
  5. 휴대용 사설 서브넷을 주문하세요.
  6. 정적 사설 서브넷을 주문하세요.
  7. 브리지 서버로 사용할 가상 머신을 배포합니다.
  8. 브리지 서버를 구성합니다.
  9. RMM 의 ssh 키 생성
  10. 소스 가상 머신에 대한 정보를 수집합니다.
  11. 대상 가상 서버 인스턴스를 주문합니다.
  12. 소스 가상 머신을 준비합니다.
  13. RMM GUI를 사용하여 마이그레이션을 구성하고 초기 마이그레이션을 수행합니다.
  14. 인증.
  15. 델타 동기화를 수행합니다.
  16. 컷오버.

시작하기 전에

이 자습서에서는 ‘ Ubuntu ’ 가상 머신과 ‘ Microsoft Windows 2019’ 가상 머신을 마이그레이션하는 방법을 다룹니다. 이 튜토리얼에서는 이미 보유하고 있다고 가정합니다:

  1. “ IBM Cloud 에서 VMware VCF-Automated를 통해 RackWare RMM 를 사용하는 VPC 가상 서버로 마이그레이션” 기술 가이드를 참조하십시오.
  2. 기존 IBM Cloud VMware-자동화된 인스턴스 및 호스팅 가상 머신이 NSX 오버레이 세그먼트에 있습니다. 이러한 오버레이 세그먼트에는 IBM Cloud 클래식 사설 네트워크에 대한 기본 액세스 권한이 없습니다.
  3. 하나 이상의 리소스 그룹을 만들었습니다.
  4. 필요한 네트워크를 포함하는 접두사를 사용하여 VPC를 생성합니다.
  5. RMM 서버의 서브넷을 만들었습니다.
  6. SSH 키를 생성하고 공개 키를 VPC SSH 키에 업로드합니다.
  7. IBM 카탈로그에서 RMM 서버를 프로비저닝했습니다.

소스 가상 머신 생성

먼저 소스 가상 머신을 설정해야 합니다. 이 섹션에는 다음에 대한 예제가 있습니다:

Ubuntu 소스 가상 머신

다음 사양으로 IBM Cloud VCF-Automated 인스턴스에 가상 머신을 배포합니다:

  • CPU: 2
  • 메모리: 1GB
  • 하드 디스크 1: 10GB
  • 하드 디스크 2: 100GB
  • 네트워크 어댑터 1: T1-192-168-10-0-workload
  • 펌웨어: EFI
  • OS Ubuntu 22.04
  • IP 주소: 192.168.10.11

두 번째 디스크는 다음 명령을 사용하여 포맷하고 테스트 파일을 작성했습니다:

# Format entire disk (no partition table)
sudo mkfs.ext4 /dev/sdb
# Mount it
sudo mkdir -p /mnt/sdb
sudo mount /dev/sdb /mnt/sdb
# Write file
echo "Test content" | sudo tee /mnt/sdb/testfile.txt

Windows 소스 가상 머신

가상 머신은 다음 사양으로 IBM Cloud VCF-Automated 인스턴스에 배포되었습니다:

  • CPU: 2
  • 메모리: 4GB
  • 하드 디스크 1: 90GB
  • 네트워크 어댑터 1: T1-192-168-10-0-workload
  • 펌웨어: EFI
  • 운영 체제: Windows 2019
  • IP 주소: 192.168.10.12

이 가상 머신에 대해 두 번째 디스크가 프로비저닝되지 않았습니다.

RMM 설치

RMM 을 설치하기 전에 먼저 VPC 인프라를 설정합니다. 최소한의 범위로, 마이그레이션하려는 VPC, 서브넷 및 해당 가상 서버 인스턴스를 설정해야 합니다. 새 대상 가상 서버 인스턴스 프로파일(vCPU 및 vMemory)이 소스와 일치할 필요는 없습니다. 그러나 스토리지의 경우 대상 스토리지의 크기가 소스 VM 의 파일 시스템에서 사용된 공간과 같거나 더 커야 합니다. RMM 의 오른쪽 크기 조정 옵션을 사용하여 이 변경을 용이하게 해야 합니다.

VPC 제품 설명서를 참조하세요:

  1. VPC를 만듭니다.

  2. RMM 서버의 서브넷을 만듭니다.

  3. SSH 키를 만듭니다.

  4. IBM Cloud 카탈로그에서 RMM 서버를 배포합니다.

    RMM 서버에는 연결을 위한 공용 IP 주소와 기본 로그인 정보가 있습니다.

  5. 배포가 완료되면 RMM 서버에 로그인하십시오.

  6. RMM 서버에서 기본 비밀번호를 변경하고, 사용자를 작성하고, SSH 키를 작성하십시오.

  7. SSH 키를 IBM Cloud VPC 에 업로드하세요.

RMM 버전을 업데이트해야 할 수도 있습니다. 그렇다면 RackWare 으로 이메일을 보내 FTP 저장소 접근 권한과 업그레이드 방법을 요청해 주십시오.

다음에서 라이선스 취득 RackWare

  1. 생성된 사전 설치 파일을 RackWare 라이선싱으로 이메일로 보내 RackWare 에서 라이선스를 받습니다.

  2. /etc/rackware 에서 사전 설치 파일을 생성하려면 공개 키 이름과 IP 주소를 사용하여 다음 명령을 실행합니다.

    ssh -i ~/.ssh/sno3 root@161.156.171.81
    rwadm relicense
    

    출력 예시가 표시됩니다. RackWare RHEL 또는 Rocky 8.x 서버에 RMM 를 설치할 것을 권장합니다:

    CentOS Linux release 7.9.2009 (Core)
    Found supported RedHat/CentOS release.
    CentOS Linux release 7.9.2009 (Core)
    WARNING: This command will generate a new preinstall file, but will also INVALIDATE the existing license on next RMM restart.
    If you wish to continue using RMM till you get the new license, DO NOT STOP RMM after running this command.
    Do you wish to continue? (Y/N)  [N]: Y
    PreInstall file generated at /etc/rackware/rwlicense_preinstall_1765474883. Email this file to licensing@rackwareinc.com to get the license.
    
  3. /etc/rackware 에서 파일을 복사하여 licensing@rackwareinc.com 으로 첨부 파일로 보냅니다.

    scp -i ~/.ssh/sno3 root@161.156.171.81:'/etc/rackware/rwlicense_preinstall_*' /Work/2025/RMM/
    
  4. 유효한 라이선스를 수령한 후, 라이선스 파일을 /etc/rackware 에 다운로드하고 다음 명령을 실행하여 서비스를 다시 시작함으로써 라이선스를 적용하십시오. 사용자 환경의 파일 이름은 예시와 다를 수 있습니다:

    scp -i ~/.ssh/sno3 /Work/2025/RMM/rwlicense_1765474883_uk_ibm_POC_Mig root@161.156.171.81:/etc/rackware/
    ssh -i ~/.ssh/sno3 root@161.156.171.81
    rwadm restart
    
  5. 다음 명령을 실행하여 라이선스를 확인하고 licensing@rackwareinc.com 으로 출력을 반환합니다:

    rw rmm show
    

클래식 및 VPC에 연결하여 Transit Gateway 만들기

IBM Cloud Transit Gateway 은 IBM Cloud 인프라 환경과 IBM Cloud VPC 및 IBM Cloud 클래식 인프라 간에 중앙 집중식 프라이빗 연결을 제공하는 완전 관리형 허브 앤 스포크 네트워킹 서비스입니다.

여러 VPC와 클래식 연결이 연결되는 라우팅 허브 역할을 하여 복잡한 VPN 메시나 수동 경로 관리 없이도 트래픽이 안전하게 이동할 수 있도록 합니다.

VPC 연결은 자동으로 경로를 교환하는 기본 VPC 연결을 사용하며, 클래식 연결은 IBM Cloud 백본과 통합되는 클래식 인프라 연결을 통해 설정되므로 VPC 서브넷과 클래식 VLAN 간에 원활한 사설 IP 통신이 가능합니다.

IBM Cloud 설명서를 사용하여 로컬 트랜짓 게이트웨이를 만들고 VPC와 IBM Cloud 클래식 네트워크를 연결합니다. 자세한 내용은 트랜짓 게이트웨이 만들기를 참조하세요.

휴대용 사설 서브넷 주문하기

IBM Cloud 클래식 휴대용 사설 서브넷은 클래식 리소스에 할당할 수 있는 사설 IP 주소의 블록입니다. IBM Cloud VMware-자동화된 인스턴스와 연결된 서브넷이 이미 여러 개 있지만 이러한 서브넷의 IP 주소는 자동화에 의해 할당되므로 이러한 서브넷에서 수동으로 IP 주소를 할당해서는 안 됩니다.

필요에 따라 새 휴대용 사설 서브넷을 주문하고 가상 머신에 IP 주소를 할당하는 것이 좋습니다. 이 서브넷은 하나 이상의 RMM 브리지 서버의 외부 인터페이스를 호스팅하는 데 사용되므로 작은 서브넷만 필요합니다.

IBM Cloud 설명서를 사용하여 IBM Cloud Private VLAN에 Private management VLAN 라는 이름의 새 휴대용 사설 서브넷을 주문합니다. 자세한 내용은 클래식용 고객 소유 서브넷을 참조하세요.

이 튜토리얼의 뒷부분에 배포된 RMM 브리지 서버에 IP 주소를 할당합니다.

정적 사설 서브넷 주문

IBM Cloud 클래식 정적 서브넷은 특정 엔드포인트(사용 사례에서는 RMM 브리지 서버)로 영구적으로 라우팅되는 IP 주소 블록을 제공합니다.

서브넷의 모든 IP 주소를 사용할 수 있습니다(예: /30 서브넷에는 4개의 사용 가능한 IP 주소가 있거나 /29 서브넷에는 8개의 사용 가능한 IP 주소가 있습니다).

IBM Cloud 설명서를 사용하여 IBM Cloud Private VLAN에 Private management VLAN 이라는 이름의 새 정적 사설 서브넷을 주문하고 RMM 브리지 서버에 사용할 휴대용 사설 서브넷의 IP 주소를 대상으로 지정합니다. 자세한 내용은 클래식용 고객 소유 서브넷을 참조하세요.

브리지 서버로 사용할 가상 머신 배포

가상 머신은 다음 사양으로 IBM Cloud VCF-Automated 인스턴스에 배포되었습니다:

  • CPU: 2
  • 메모리: 1GB
  • 하드 디스크 1: 10GB
  • 네트워크 어댑터 1: T1-192-168-10-0-workload
  • 네트워크 어댑터 2: mgmt-dpg-mgt
  • 펌웨어: EFI
  • OS Ubuntu 22.04
  • IP 주소 1: 192.168.10.254
  • IP 주소 2: 10.134.54.62
  1. SSH를 통해 Ubuntu 가상 머신에 접속하려면 SSH를 설정해야 할 수도 있습니다:

    1. 다음 명령을 사용하여 SSH를 구성합니다.
       sudo nano /etc/ssh/sshd_config
    
    1. 이 줄이 설정되어 있는지 확인합니다:
       PasswordAuthentication yes
       PubkeyAuthentication yes
       ChallengeResponseAuthentication no
       UsePAM yes
       KbdInteractiveAuthentication yes
    
    1. Netplan (기본값은 Ubuntu 18.04 +)을 사용하여 네트워크 구성을 편집합니다:
       sudo nano /etc/netplan/50-cloud-init.yaml
    

    두 개의 NIC를 사용한 구성 예시:

    network:
      version: 2
      renderer: networkd
      ethernets:
        ens192:  # NIC 1 - Inside network
          addresses:
            - 192.168.10.254/24
          routes:
            - to: default
              via: 192.168.10.1
          nameservers:
            addresses: [8.8.8.8, 8.8.4.4]
        ens224:  # NIC 2 - Outside network
          addresses:
            - 10.134.54.62/26
          routes:
            - to: 10.0.0.0/8
              via: 10.134.54.1
    
    1. 구성을 적용합니다:
       sudo netplan apply
    
    1. 인터페이스를 확인합니다:
       ip addr show
       ip route show
    

브리지 서버 구성

이 예에서는 IBM Cloud VCF-Automated 인스턴스에서 호스팅되는 Ubuntu 가상 머신을 사용합니다. 가상 머신은 두 가지 인터페이스로 배포됩니다.

  1. SSH를 통해 가상 머신에 연결합니다:

    1. 다음 명령어를 사용하여 시스템을 업데이트하십시오
       sudo apt update && sudo apt upgrade -y
    
    1. 다음 명령을 사용하여 IP 포워딩을 구성합니다.
       sudo sysctl -w net.ipv4.ip_forward=1
       sudo sysctl -p
    
    1. 다음 명령을 사용하여 연결 상태를 확인하십시오
       cat /proc/sys/net/ipv4/ip_forward
    

    1을 반환해야 합니다.

    1. 다음 명령을 사용하여 네트워크 인터페이스를 식별합니다.
       ip addr show
    

    다음은 해당 명령어를 실행했을 때 볼 수 있는 화면의 예시입니다

    ens192: Source VM network (192.168.10.0/24) - "inside" interface
    ens224: RMM network (10.134.54.0/26) - "outside" interface
    
    1. 다음 예제( VM1: NAT IP: 10.194.177.82, Real IP: 192.168.10.11)를 사용하여 정적 NAT( 1-to-1 매핑)를 구성합니다.
       # Install iptables-persistent
       sudo apt install iptables-persistent -y
       # Clear existing rules first
       sudo iptables -F
       sudo iptables -t nat -F
       # Enable forwarding
       sudo iptables -P FORWARD ACCEPT
       # Static NAT for VM1 (192.168.10.11 <-> 10.194.177.82)
       # Destination NAT (DNAT): Incoming traffic to 10.194.177.82 goes to 192.168.10.11
       sudo iptables -t nat -A PREROUTING -i ens224 -d 10.194.177.82 -j DNAT --to-destination 192.168.10.11
       # Source NAT (SNAT): Outgoing traffic from 192.168.10.11 is translated to 10.194.177.82
       sudo iptables -t nat -A POSTROUTING -o ens224 -s 192.168.10.11 -j SNAT --to-source 10.194.177.82
       # Static NAT for VM1 (192.168.10.12 <-> 10.194.177.83)
       # Destination NAT (DNAT): Incoming traffic to 10.194.177.83 goes to 192.168.10.12
       sudo iptables -t nat -A PREROUTING -i ens224 -d 10.194.177.83 -j DNAT --to-destination 192.168.10.12
       # Source NAT (SNAT): Outgoing traffic from 192.168.10.12 is translated to 10.194.177.83
       sudo iptables -t nat -A POSTROUTING -o ens224 -s 192.168.10.12 -j SNAT --to-source 10.194.177.83
       # Allow forwarding between interfaces for these specific IPs
       sudo iptables -A FORWARD -s 192.168.10.11 -j ACCEPT
       sudo iptables -A FORWARD -d 192.168.10.11 -j ACCEPT
       sudo iptables -A FORWARD -s 192.168.10.12 -j ACCEPT
       sudo iptables -A FORWARD -d 192.168.10.12 -j ACCEPT
       # Allow established connections
       sudo iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
       # Add IP aliases for NAT addresses on ens224
       # The bridge server owns these IPs directly, so it responds to ARP requests
       sudo ip addr add 10.194.177.82/32 dev ens224
       sudo ip addr add 10.194.177.83/32 dev ens224
    

RMM 의 ssh 키 생성

  1. RMM 서버로 SSH 접속

    ssh -i ~/.ssh/sno3 root@161.156.171.81
    
  2. RMM 의 콘솔 창에서 SSH 키 쌍을 생성합니다.

    # Generate RSA key (4096-bit) without prompts
    ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N "" -C "rackware-rmm-server"
    

    매개변수:

    -t rSA: 키 유형(RSA, ed25519, ECDSA, DSA) -b 4096: 비트 단위의 키 크기 -f ~/.ssh/id_rsa: 출력 파일 경로 -N "": 빈 암호 구문 -C "댓글": 댓글(보통 이메일)

  3. 공개 키를 기록하세요 cat ~/.ssh/id_rsa.pub:

    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDXA2L3ppb3YQxYQYC2eZon0I7J3Xm/zFMb5PuDHcxKTyFzZzyW6FZlZKM8iQMuO+4bkRVs1nLeqSl3bZR1ubWjaiYyj6cb4BY1/QVR+LNomzfW+hHfohb/MvDsEYNVkhJMHk1vdrZgIjQ5ADRjv2+1D/lUR1j8kHWdM+Bf0ilcuELdZI79iPV+T0umvYPyjtPO1zgkbMgfxh7qAjYkkrdDhbPAY3qvRyyuCrwzrFkmg7zc4QVj370uYDBekWpR9q+6GtGjt9f1Onf0k7CJPKQ1AOG/s+Yho58bK0ogxQJzf45jgfKH/GbOOKlwPzSVbOloajy+lQcepp4lqTKGt354fywwG+ePXFuID9iNJ3w9gsLu94xTjJ5GsB0FPq7V78fUFpKHnuCF5mRMR+mHevKb5oz0E6ANicoKr7yj15vUW0++AtM/qrEp0CbP3giIzQk0TBJsZrodr9vSIfHVPCd3z3/nAWnGhNftnZjw3/LcvUa5KXkuTvw9P5AA5EAXrd9SO77mhsH7+jVkooTI9nQxRnZkTEpPPQFZhZkXhSF/zOndQsX2gQd8/9d5Y+gq3ADo8ykrjgkYcO+J1MwZHlR54MKww+HbZqHDS3ePhphsUHYewldF/n82Ft9/dxUllVAKc9TfDMhyemdmh3yXJhrK8tlDoLB2/qzr4o2o40v9ew== rackware-rmm-server
    

소스 가상 머신에 대한 정보 수집

RMM 는 자동 프로비저닝 기능을 지원하여, RMM 서버가 소스 서버와 일치하는 CPU, RAM 및 디스크 사양을 가진 대상 서버를 IBM Cloud VPC 에 생성하지만, 이 튜토리얼에서는 IBM Cloud VPC 에서 대상 가상 서버 인스턴스를 수동으로 생성합니다. IP 주소 및 할당된 NAT IP 주소를 포함한 소스 가상 머신의 사양을 수집하십시오. 예를 들어, 다음과 같습니다.

소스 가상 머신 사양
호스트 이름 OS IP 주소 NAT IP 주소
VM1 Ubuntu 192.168.10.11 10.194.177.82
VM2 Windows 192.168.10.12 10.194.177.83

대상 가상 서버 인스턴스 주문

  1. IBM Cloud 지침에 따라 VPC에 필요한 서브넷을 만들려면 CIDR이 소스 네트워크의 CIDR과 일치해야 합니다.
  2. IBM Cloud 지침에 따라 대상 가상 서버 인스턴스에 필요한 보안 그룹을 VPC에 생성합니다. RMM 에서 대상 가상 서버 인스턴스로의 SSH가 허용되는지 확인합니다. Windows 가상 서버 인스턴스의 경우, 가상 서버 인스턴스에 연결하기 위한 RDP도 포함하고, RMM 에서 사용할 수 있도록 구성하십시오.
  3. IBM Cloud 지침에 따라 대상 가상 서버 인스턴스에 필요한 SSH 키를 VPC에 생성합니다. 이 튜토리얼에서는 ‘ Ubuntu ’ 대상 가상 서버 인스턴스를 수동으로 프로비저닝하므로, 앞서 생성한 ‘ RMM ’ 공개 키를 업로드하고 가상 서버 인스턴스를 프로비저닝할 때 이를 포함시켜야 합니다. 이렇게 하면 RMM 에서 비밀번호가 필요 없는 SSH를 사용할 수 있습니다. Windows 가상 서버 인스턴스의 경우, 이 키는 암호를 암호화하는 데 사용됩니다.
  4. 이전 단계에서 수집한 정보와 IBM Cloud 설명서를 사용하여 IBM Cloud VPC 가상 서버 인스턴스 서버 및 관련 데이터 볼륨을 주문합니다.

Ubuntu 대상 가상 서버 인스턴스

이 튜토리얼에서는 ‘ Ubuntu ’ 대상 가상 서버 인스턴스를 수동으로 프로비저닝하므로, 앞서 생성한 RMM 공개 키를 반드시 업로드하고 가상 서버 인스턴스를 프로비저닝할 때 해당 키를 포함시켜야 합니다. 이렇게 하면 RMM 에서 비밀번호가 필요 없는 SSH를 사용할 수 있습니다.

Windows Target 가상 서버 인스턴스

RMM 은 Windows 비밀번호 없이도 Windows 서버를 복제하고 동기화합니다. 이를 ‘SSH 전용’이라고 합니다. Windows에서 SSH를 올바르게 구성하려면 RMM 에서 소스 가상 머신과 대상 가상 서버 인스턴스에 설치해야 하는 작은 MSI를 제공합니다. RMM 은 SYSTEM 사용자로 Windows 서버에 ssh해야 하며, 이는 RackWare 고객이 가장 일반적으로 사용하는 사용자이며 기본 선택 사항으로 간주해야 합니다

RMM SSHD msi 설치 관리자 패키지는 웹 브라우저에서 실행하거나 Windows 가상 서버 인스턴스에서 직접 실행할 수 있습니다. RMM 서버에 경로를 추가한 후, https://<your-RMM-IP-or-FQDN-Address>/windows/RWSSHDService_x64.msi (예: https://10.68.70.11/windows/RWSSHDService_x64.msi)을 사용하십시오.

Target 가상 서버 인스턴스의 경우 SSHD를 설치하려면 프로비저닝이 완료된 후 비밀번호를 받아야 합니다. 로그인 후 CLI 명령을 사용합니다(예: ibmcloud is in-init <target_VSI_name> --private-key @<private_key_location> ). ibmcloud is in-init rmm-source2-tgt --private-key @~/.ssh/sno3

PowerShell 창에서 다음을 사용하여 Windows 방화벽을 통해 SSH를 허용합니다:

New-NetFirewallRule `
  -DisplayName "Allow SSH (TCP 22)" `
  -Direction Inbound `
  -Protocol TCP `
  -LocalPort 22 `
  -Action Allow `
  -Profile Any

대상 가상 서버 인스턴스에 RackWare SSHD 서비스를 설치하려면:

  1. “ RackWare SSHD 서비스 설정 마법사” 페이지가 표시되면 “다음”을 클릭하여 설치를 시작하십시오.
  2. 사용권 계약서를 읽고 동의한 후 ‘다음’을 클릭하면 ‘설치 폴더’ 창이 표시됩니다.
  3. 다음 을 클릭하십시오. SSHD 구성 창이 표시됩니다.
  4. SSHD 구성 창에서:
  5. RMM 는 SYSTEM 사용자로 Windows 호스트에 액세스하기 때문에, 사용자 이름 필드에는 ‘SYSTEM’이 표시됩니다.
  6. RMM 서버에 있는 /root/.ssh/id_rsa.pub 파일의 내용인 RMM 의 공개 SSH 키를 입력합니다.
  7. 그런 다음 다음을 누르면 설치 확인 화면이 표시됩니다.
  8. ‘다음’을 눌러 설치를 시작하십시오.
  9. 설치가 완료되면 설치 완료 창이 표시됩니다.
  10. 닫기 버튼을 누릅니다.

또는 명령줄을 사용하려면 대상 가상 서버 인스턴스의 CMD 창에서 명령줄을 사용할 수 있습니다:

# Create a directory
mkdir C:\<temp_dir>
# Download the RackWare SSHD MSI from the RMM server
curl.exe -k https://<your-RMM-IP-or-FQDN-Address>/windows/RWSSHDService_x64.msi -o C:\<temp_dir>\RWSSHDService_x64.msi
# Install the RackWare SSHD
msiexec.exe /i "C:\<temp_dir>\RWSSHDService_x64.msi" /passive /L*v C:\<temp_dir>\rwsshd.log TARGETDIR="C:\Program Files" SVCUSERNAME="" PASSWORD="" PORT="22" RMMSSHKEY="<RMM_PUBLIC_SSH KEY>"

예를 들어, 다음과 같습니다.

# Create a directory
mkdir C:\Temp
# Download the RackWare SSHD MSI from the RMM server
curl.exe -k https://10.68.70.11/windows/RWSSHDService_x64.msi -o C:\Temp\RWSSHDService_x64.msi
# Install the RackWare SSHD
msiexec.exe /i "C:\Temp\RWSSHDService_x64.msi" /passive /L*v C:\Temp\rwsshd.log TARGETDIR="C:\Program Files" SVCUSERNAME="" PASSWORD="" PORT="22" RMMSSHKEY="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDXA2L3ppb3YQxYQYC2eZon0I7J3Xm/zFMb5PuDHcxKTyFzZzyW6FZlZKM8iQMuO+4bkRVs1nLeqSl3bZR1ubWjaiYyj6cb4BY1/QVR+LNomzfW+hHfohb/MvDsEYNVkhJMHk1vdrZgIjQ5ADRjv2+1D/lUR1j8kHWdM+Bf0ilcuELdZI79iPV+T0umvYPyjtPO1zgkbMgfxh7qAjYkkrdDhbPAY3qvRyyuCrwzrFkmg7zc4QVj370uYDBekWpR9q+6GtGjt9f1Onf0k7CJPKQ1AOG/s+Yho58bK0ogxQJzf45jgfKH/GbOOKlwPzSVbOloajy+lQcepp4lqTKGt354fywwG+ePXFuID9iNJ3w9gsLu94xTjJ5GsB0FPq7V78fUFpKHnuCF5mRMR+mHevKb5oz0E6ANicoKr7yj15vUW0++AtM/qrEp0CbP3giIzQk0TBJsZrodr9vSIfHVPCd3z3/nAWnGhNftnZjw3/LcvUa5KXkuTvw9P5AA5EAXrd9SO77mhsH7+jVkooTI9nQxRnZkTEpPPQFZhZkXhSF/zOndQsX2gQd8/9d5Y+gq3ADo8ykrjgkYcO+J1MwZHlR54MKww+HbZqHDS3ePhphsUHYewldF/n82Ft9/dxUllVAKc9TfDMhyemdmh3yXJhrK8tlDoLB2/qzr4o2o40v9ew== rackware-rmm-server"

위의 모든 단계를 SSH 전용으로 구성한 후 RMM ssh SYSTEM@<ip_address> 예: ssh SYSTEM@192.168.10.12 에서 다음 명령을 실행하여 SSH 공개 키 인증(일명 "비밀번호 없는 SSH")이 작동하는지 확인합니다.

RMM 의 키에 문제가 있는 경우 다음 위치에 있습니다 C:\Program Files (x86)\Rackware-winutil\etc\authorized_keys

소스 가상 머신 준비

Ubuntu 소스 가상 머신

Linux 가상 머신을 마이그레이션하려면 먼저 RMM 서버와 통신할 수 있고 RMM 에서 라이브 서버의 데이터를 복사할 수 있는 스냅샷을 만들 수 있도록 구성해야 합니다.

RMM 은 소스 서버에 비밀번호를 사용하지 않고도 ssh를 할 수 있어야 합니다:

  • 브리지 서버를 통해 RMM 서버에 경로를 추가합니다. 이 튜토리얼에서는
    • RMM 서버 IP: 10.68.70.11
    • RMM iP 내부의 브리지 서버: 192.168.10.254
  • 사용자 작성 rackware
  • RMM 서버에서 opt/rackware/docs/sudo-config.txt 에 포함된 sudoers 정보 내용으로 sudoers 파일을 편집합니다.
  • 앞서 생성한 RMM 공개 키 파일의 내용을 소스 호스트의 랙웨어 사용자에 대한 authorized_keys 파일에 붙여넣습니다.
  1. SSH를 통해 루트 권한 또는 전체 sudo 권한이 있는 사용자로 소스 호스트에 로그인하고 소스 서버의 명령어 앞에 'sudo'를 추가합니다.

  2. 브리지 서버를 통해 RMM 서버에 경로를 추가합니다(예: Ubuntu sudo nano /etc/netplan/50-cloud-init.yaml ):

    ens192:
        dhcp4: false
        dhcp6: false
        addresses:
            - 192.168.10.11/24
        routes:
            - to: default
            via: 192.168.10.1
            - to: 10.68.70.11
            via: 192.168.10.254
    
  3. rackware 사용자를 생성합니다:

    # Create the user rackware
    sudo useradd -m -s /bin/bash rackware
    
  4. RMM 서버에서 opt/rackware/docs/sudo-config.txt 에 포함된 sudoers 정보 내용으로 sudoers 파일을 편집합니다.

    # Edit sudoers file on the source host
    sudo visudo
    
  5. RMM 에서 소스 호스트의 sudoers 파일 하단에 sudo-config.txt 을 복사합니다:

    # ---- BEGIN RACKWARE SUDOERS CONFIGURATION ----
    # Append this file to /etc/sudoers
    # Example:
    # cat sudo-config.txt >> /etc/sudoers
    User_Alias RW_MGMT_USERS = rackware
    Runas_Alias RW_MGMT_RUNAS_USER = root
    RW_MGMT_USERS ALL=(RW_MGMT_RUNAS_USER) NOPASSWD: ALL
    Defaults:RW_MGMT_USERS !requiretty
    # ---- END RACKWARE SUDOERS CONFIGURATION ----
    
    # Create .ssh directory and authorized_key file for rackware user on source host
    sudo su - rackware
    mkdir -p /home/rackware/.ssh
    touch /home/rackware/.ssh/authorized_keys
    chmod 700 ~/.ssh/
    chmod 600 ~/.ssh/authorized_keys
    vi /home/rackware/.ssh/authorized_keys
    
  6. 앞서 생성한 RMM 공개 키 파일의 내용을 소스 호스트의 랙웨어 사용자에 대한 authorized_keys 파일에 붙여넣습니다.

  7. 일부 Linux 배포판(예: Ubuntu, 22.04 )에서는 SSH 서버 설정 파일을 수정하여 RSA 키를 활성화해야 할 수도 있습니다:

    sudo nano /etc/ssh/sshd_config
    
  8. 파일 끝에 다음 줄을 추가하세요:

    PubkeyAcceptedAlgorithms +ssh-rsa
    
  9. 저장하고 종료(Ctrl+X, Y, Enter)한 다음 SSH를 다시 시작합니다:

    sudo systemctl restart sshd
    
  10. RMM 과 소스 가상 머신(예: ssh rackware@10.194.177.82) 간의 연결을 테스트합니다. 비밀번호를 묻는 메시지가 표시되지 않고 연결해야 합니다.

Windows 소스 가상 머신

RMM 은 Windows 비밀번호 없이도 Windows 서버를 복제하고 동기화합니다. 이를 ‘SSH 전용’이라고 합니다. Windows에서 SSH를 올바르게 구성하려면 RMM 에서 소스 가상 머신과 대상 가상 서버 인스턴스에 설치해야 하는 작은 MSI를 제공합니다. RMM 은 SYSTEM 사용자로 Windows 서버에 ssh해야 하며, 이는 RackWare 고객이 가장 일반적으로 사용하는 사용자이며 기본 선택 사항으로 간주해야 합니다

RMM SSHD msi 설치 관리자 패키지는 웹 브라우저에서 실행하거나 Windows 가상 머신에서 직접 실행할 수 있습니다. RMM 서버에 경로를 추가한 후, https://<your-RMM-IP-or-FQDN-Address>/windows/RWSSHDService_x64.msi (예: https://10.68.70.11/windows/RWSSHDService_x64.msi)을 사용하십시오.

소스 가상 머신에서 다음 구문 route add destination_network MASK subnet_mask gateway_ip metric_cost 을 사용하여 정적 경로를 추가해야 합니다:

  • 대상_네트워크: 라우팅하려는 네트워크입니다.
  • 서브넷_마스크: 대상 네트워크의 서브넷 마스크(선택 사항, 기본값은 255.255.255.0 )입니다.
  • gateway_ip: 게이트웨이의 IP 주소입니다.
  • metric_cost: 경로의 비용 메트릭(선택 사항).

예를 들어 10.0.0.0/8 서브넷으로 향하는 모든 트래픽을 게이트웨이( 192.168.10.254 )로 라우팅하려면 다음을 사용합니다: route add 10.0.0.0 MASK 255.0.0.0 192.168.10.254

경로를 영구적으로(즉, 재부팅 후에도 유지되도록) 만들려면 -p 옵션을 추가합니다: route -p add 10.0.0.0 MASK 255.0.0.0 192.168.10.254

정적 경로를 제거하려면 다음 구문을 사용합니다: route delete destination_network. 예를 들어 10.0.0.0 네트워크로의 경로를 삭제하려면 다음을 사용합니다: route delete 10.0.0.0

PowerShell 창에서 다음을 사용하여 Windows 방화벽을 통해 SSH를 허용합니다:

New-NetFirewallRule `
  -DisplayName "Allow SSH (TCP 22)" `
  -Direction Inbound `
  -Protocol TCP `
  -LocalPort 22 `
  -Action Allow `
  -Profile Any

소스 가상 머신에 RackWare SSHD 서비스를 설치하려면:

  1. “ RackWare SSHD 서비스 설정 마법사” 페이지가 표시되면 “다음”을 클릭하여 설치를 시작하십시오.
  2. 사용권 계약서를 읽고 동의한 후 ‘다음’을 클릭하면 ‘설치 폴더’ 창이 표시됩니다.
  3. 다음 을 클릭하십시오. SSHD 구성 창이 표시됩니다.
  4. SSHD 구성 창에서:
  5. RMM 는 SYSTEM 사용자로 Windows 호스트에 액세스하기 때문에, 사용자 이름 필드에는 ‘SYSTEM’이 표시됩니다.
  6. RMM 서버에 있는 /root/.ssh/id_rsa.pub 파일의 내용인 RMM 의 공개 SSH 키를 입력합니다.
  7. 그런 다음 다음을 누르면 설치 확인 화면이 표시됩니다.
  8. ‘다음’을 눌러 설치를 시작하십시오.
  9. 설치가 완료되면 설치 완료 창이 표시됩니다.
  10. 닫기 버튼을 누릅니다.

또는 명령줄을 사용하려면 소스 가상 머신의 CMD 창에서 사용할 수 있습니다:

# Create a directory
mkdir C:\<temp_dir>
# Download the RackWare SSHD MSI from the RMM server
curl.exe -k https://<your-RMM-IP-or-FQDN-Address>/windows/RWSSHDService_x64.msi -o C:\<temp_dir>\RWSSHDService_x64.msi
# Install the RackWare SSHD
msiexec.exe /i "C:\<temp_dir>\RWSSHDService_x64.msi" /passive /L*v C:\<temp_dir>\rwsshd.log TARGETDIR="C:\Program Files" SVCUSERNAME="" PASSWORD="" PORT="22" RMMSSHKEY="<RMM_PUBLIC_SSH KEY>"

예를 들어, 다음과 같습니다.

# Create a directory
mkdir C:\Temp
# Download the RackWare SSHD MSI from the RMM server
curl.exe -k https://10.68.70.11/windows/RWSSHDService_x64.msi -o C:\Temp\RWSSHDService_x64.msi
# Install the RackWare SSHD
msiexec.exe /i "C:\Temp\RWSSHDService_x64.msi" /passive /L*v C:\Temp\rwsshd.log TARGETDIR="C:\Program Files" SVCUSERNAME="" PASSWORD="" PORT="22" RMMSSHKEY="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDXA2L3ppb3YQxYQYC2eZon0I7J3Xm/zFMb5PuDHcxKTyFzZzyW6FZlZKM8iQMuO+4bkRVs1nLeqSl3bZR1ubWjaiYyj6cb4BY1/QVR+LNomzfW+hHfohb/MvDsEYNVkhJMHk1vdrZgIjQ5ADRjv2+1D/lUR1j8kHWdM+Bf0ilcuELdZI79iPV+T0umvYPyjtPO1zgkbMgfxh7qAjYkkrdDhbPAY3qvRyyuCrwzrFkmg7zc4QVj370uYDBekWpR9q+6GtGjt9f1Onf0k7CJPKQ1AOG/s+Yho58bK0ogxQJzf45jgfKH/GbOOKlwPzSVbOloajy+lQcepp4lqTKGt354fywwG+ePXFuID9iNJ3w9gsLu94xTjJ5GsB0FPq7V78fUFpKHnuCF5mRMR+mHevKb5oz0E6ANicoKr7yj15vUW0++AtM/qrEp0CbP3giIzQk0TBJsZrodr9vSIfHVPCd3z3/nAWnGhNftnZjw3/LcvUa5KXkuTvw9P5AA5EAXrd9SO77mhsH7+jVkooTI9nQxRnZkTEpPPQFZhZkXhSF/zOndQsX2gQd8/9d5Y+gq3ADo8ykrjgkYcO+J1MwZHlR54MKww+HbZqHDS3ePhphsUHYewldF/n82Ft9/dxUllVAKc9TfDMhyemdmh3yXJhrK8tlDoLB2/qzr4o2o40v9ew== rackware-rmm-server"

위의 모든 단계를 SSH 전용으로 구성한 후 RMM ssh SYSTEM@<ip_address> 예: ssh SYSTEM@10.194.177.83 에서 다음 명령을 실행하여 SSH 공개 키 인증(일명 "비밀번호 없는 SSH")이 작동하는지 확인합니다.

RMM 의 키에 문제가 있는 경우 다음 위치에 있습니다 C:\Program Files (x86)\Rackware-winutil\etc\authorized_keys

RMM GUI를 사용하여 마이그레이션을 구성하고 초기 마이그레이션을 수행합니다

RackWare RMM 는 델타 동기화를 통해 다운타임을 최소화하는 단계적 접근 방식을 따릅니다:

  1. 초기 복제 - 원본 시스템을 중단시키지 않고 프로덕션 서버를 계속 실행합니다

  2. 검증 단계 - 대상 환경에서 애플리케이션을 테스트하고 검증합니다

  3. 델타 동기화 - 여러 델타 동기화를 수행하여 변경된 파일만 대상으로 최신 상태로 유지할 수 있습니다

  4. 최종 동기화/컷오버 - 가동 중단 시간을 최소화하는 실제 컷오버입니다. 최종 델타 동기화를 수행하기 전에 모든 애플리케이션을 종료하십시오.

    소스 가상 머신이 준비되고 RMM 에서 해당 가상 머신으로 ssh할 수 있고 대상 가상 서버 인스턴스에 대한 정보를 얻으면 RMM GUI를 사용하여 가상 머신의 워크로드를 소스 가상 머신에서 대상 가상 서버 인스턴스로 마이그레이션할 수 있습니다.

    서버를 하나씩 마이그레이션하거나, 여러 대의 서버에 대해 동시에 마이그레이션을 수행할 수 있습니다. 여러 마이그레이션을 동시에 실행하는 경우, RMM 서버에서 ‘ CSV ’ 템플릿을 다운로드하여 해당 필드를 입력하십시오. 이 튜토리얼에서는 이 방법을 사용하지 않습니다.

  5. GUI를 불러오려면 웹 브라우저에서 RMM 서버의 플로팅 IP 주소를 가리킵니다.

  6. admin 을 사용자 아이디로 사용합니다. rackware 은 기본 비밀번호입니다. admin 사용자의 비밀번호를 아직 변경하지 않았다면 표준 Linux 'passwd' 명령을 사용하여 변경하세요. 로그인 버튼을 누릅니다. 그러면 RMM 홈 페이지가 표시됩니다.

  7. 이 단계는 자동 프로비저닝 기능을 사용하는 경우에만 필요합니다. 구성, 환경으로 이동하여 환경 추가를 클릭합니다.

    1. 양식에 다음 값을 추가한 다음 추가를 클릭합니다:
      • 이름
      • 환경
      • 지역
      • API 키

Ubuntu 가상 머신에 대한 웨이브 및 복제 만들기

웨이브에는 마이그레이션할 단일 호스트 또는 여러 호스트가 포함되어 있습니다. 이 튜토리얼에서는 하나의 웨이브를 만들고, 웨이브에 호스트에 대한 정보를 제공한 다음 웨이브를 시작해야 합니다.

  1. RMM 서버의 UI에서 다음 정보를 사용하여 웨이브(예: Wave1 )를 생성합니다:

    • 소스:
      • 대상 유형: 기존 시스템
      • DNS 이름/IP 주소: 10.194.177.82
      • 친절한 이름: rmm-source-1-src
      • OS: Linux
      • 사용자 이름: 랙웨어
    • 대상:
      • 동기화 유형: 직접 동기화
      • 호스트 이름: rmm-source-1
      • DNS 이름/IP 주소: 192.168.10.11
      • 친절한 이름: rmm-source-1-tgt
  2. 복제를 시작합니다.

Windows 가상 머신을 위한 웨이브 및 복제 만들기

웨이브에는 마이그레이션할 단일 호스트 또는 여러 호스트가 포함되어 있습니다. 이 튜토리얼에서는 두 번째 웨이브를 만들고, 웨이브에 호스트에 대한 정보를 제공한 다음 웨이브를 시작해야 합니다.

  1. RMM 서버의 UI를 통해 다음 정보를 사용하여 웨이브(예: Wave2 )를 생성합니다:

    • 소스:
      • 대상 유형: 기존 시스템
      • DNS 이름/IP 주소: 10.194.177.83
      • 친절한 이름: rmm-source-2-src
      • 운영 체제: Windows
      • 사용자 이름: SYSTEM
    • 대상:
      • 동기화 유형: 직접 동기화
      • 호스트 이름: rmm-source-2
      • DNS 이름/IP 주소: 192.168.10.12
      • 친절한 이름: rmm-source-2-tgt
      • 사용자 이름: SYSTEM
  2. 복제를 시작합니다.

검증

복제가 완료되어야 합니다. 완료되면 대상 가상 서버 인스턴스에 연결하여 필요에 따라 테스트를 수행할 수 있습니다. 소스 가상 머신은 여전히 전원이 켜져 있고 작동 중입니다. 대상 가상 서버 인스턴스는 격리되어 있으며 프로덕션 서비스를 중단하지 않고 테스트할 수 있습니다.

델타 동기화 수행

소스 환경에서 IBM Cloud VPC 가상 서버 인스턴스로의 델타 동기화는 초기 복제가 수행된 이후 소스 가상 머신의 변경 사항을 캡처합니다.

컷오버

이 단계에서는 애플리케이션을 종료하고 소스 가상 머신에서 IBM Cloud VPC 가상 서버 인스턴스로의 컷오버/최종 델타 동기화를 수행합니다.

  1. 소스 가상 머신의 애플리케이션을 종료합니다. 이 단계는 최종 동기화 중 I/O를 최소화하고 데이터 일관성을 보장합니다:
    • 소스 가상 머신에서 애플리케이션/데이터베이스 중지
    • 시스템에서 다른 사용자 로그아웃
    • 데이터베이스가 있는 시스템의 경우, 애플리케이션이 미결 I/O를 디스크로 플러시하는지 확인합니다
  2. 최종 델타 동기화를 실행합니다:
    • RMM GUI를 통해 최종 동기화 작업을 트리거합니다
    • RMM 는 특정 시점의 일관성을 보장하기 위해 LVM/VSS 스냅샷(각각 Linux /Windows에서)을 생성합니다
    • 마지막 동기화 이후 변경된 파일만 전송됩니다(델타 동기화). 이렇게 하면 최종 동기화 시간이 몇 시간이 아닌 몇 분으로 대폭 단축됩니다
  3. 동기화 완료를 확인합니다:
    • RMM 콘솔에서 웨이브 상태 모니터링
    • 동기화가 오류 없이 성공적으로 완료되었는지 확인하기
  4. 소스 가상 머신 종료
  5. 네트워크 차단. 사용자 트래픽을 VPC의 새 환경으로 리디렉션합니다. 이 단계는 IBM Cloud VMware VCF-자동화된 인스턴스에 어떻게 연결했는지에 따라 다르지만 다음을 포함할 수 있습니다:
    • 트래픽을 VPC로 라우팅합니다.
    • 트랜짓 게이트웨이 연결에서 접두사 필터를 제거합니다.
    • vPN 터널에서 VPC로 트래픽을 리디렉션합니다.
  6. 컷오버 후 유효성 검사:
    • 모든 애플리케이션이 올바르게 작동하는지 확인
    • 데이터 무결성 확인
    • 성능 모니터링
    • 사용자 액세스 테스트

다음 단계