RackWare 를 사용하여 IBM Cloud, VMware, VCF 을 VPC 가상 서버로 마이그레이션하기 RMM
Direct Sync 및 브리지 서버를 통해 IP 주소를 유지하면서, IBM Cloud VMware VCF 가상 머신을 RackWare RMM 를 사용하여 VPC 가상 서버로 마이그레이션합니다.
이 가이드에서는 RackWare 관리 모듈( RMM )을 사용하여 IBM Cloud VCF-Automated 가상 머신을 IBM Cloud 가상 사설 클라우드(VPC) 가상 서버 인스턴스로 마이그레이션하는 방법에 중점을 둡니다. 프로세스를 단계별로 안내하는 관련 튜토리얼이 있습니다.
IBM Cloud VCF-자동화된 가상 머신 OS 라이선스는 고객의 책임이며, 에서 제공하지 않습니다. IBM Cloud 대상 가상 서버 인스턴스를 생성할 때는 라이선스를 직접 지참해 주세요 의 프로비저닝 옵션을 유의하시기 바랍니다.
IBM Cloud VCF-Automated에서 호스팅되는 가상 머신의 대부분은 IBM Cloud Classic 네트워크에 기본적으로 액세스할 수 없는 NSX 오버레이 세그먼트에 연결되어 있습니다. 대상 가상 서버 인스턴스가 소스 가상 머신과 동일한 IP 주소를 갖도록 하려면, NSX 오버레이 세그먼트와 대상 가상 서버 인스턴스의 VPC 서브넷을 분리해야 합니다. 다음과 같은 ‘ RMM ’ 기능을 통해 이를 구현할 수 있습니다:
- 직접 동기화(호스트 동기화)- 데이터가 RMM 서버에 저장되지 않고 소스 가상 머신에서 대상 가상 서버 인스턴스로 직접 전송됩니다. RMM 가 이 작업을 조정합니다.
- 패스스루(Passthrough)- 대상 가상 서버 인스턴스가 소스 가상 머신에 직접 연결할 수 없으므로, RMM 은 Secure Shell(SSH)을 사용하여 대상 가상 서버 인스턴스에 연결한 다음, 그곳에서 소스 가상 머신으로의 역방향 SSH 터널을 시작합니다. 데이터 흐름: 소스 → RMM → 대상. 이 과정에서 RMM 는 데이터 전송을 위한 네트워크 중계기/프록시 역할을 수행합니다.
브리지 서버가 있는 RackWare RMM 을 통해 격리된 네트워크 간에 마이그레이션할 수 있습니다:
- 브리지 네트워크 주소 변환(NAT): NAT를 통해 RMM 에서 소스에 접근할 수 있도록 합니다
- 역방향 SSH 터널: 대상 가상 서버 인스턴스가 RMM 서버를 통해 소스 가상 머신에 접속할 수 있도록 합니다
- 키 기반 인증: 대상 가상 서버 인스턴스는 RMM 의 SSH 키를 사용하여 소스 가상 머신에 인증합니다
- 터널을 통한 데이터 동기화: 대상 가상 서버 인스턴스가 보안 SSH 터널을 통해 소스 가상 머신에서 데이터를 가져옵니다
- 부트 로더 설치: RMM 를 통해 대상 장치를 적절한 GRUB 구성으로 부팅 가능하게 만듭니다
이 프로세스는 보안과 네트워크 격리를 유지하면서 모든 마이그레이션을 허용하는 우아한 방식입니다.
이 가이드에서는 직접 동기화의 대안인 단계적 동기화(1단계 + 2단계)에 대해서는 다루지 않습니다:
- 1단계: 소스에서 RMM 의 ZFS 스토리지 풀로 데이터를 복사하여 임시로 저장합니다.
- 2단계: RMM 의 저장소에서 대상에 데이터를 복사합니다.
직접 동기화를 원하지 않거나 소스 작업과 대상 작업을 분리하려는 경우에 사용합니다.
IP 주소 유지
대부분의 가상 머신에서 VPC 가상 서버로의 마이그레이션에서는 마이그레이션된 워크로드의 IP 주소를 유지해야 합니다. 대부분의 가상 머신의 경우 이는 가능하지만, VPC 서브넷에는 예약된 IP 주소가 할당되어 있습니다. 예를 들어, 다음 항목들은 다음 위치에 할당되어 있습니다. 192.168.10.0/24:
- ibm-network-address: 192.168.10.0
- ibm-default-gateway: 192.168.10.1
- ibm-dns-address: 192.168.10.2
- ibm-reserved-address: 192.168.10.3
- ibm-방송 주소: 192.168.10.255
따라서 서브넷당 몇 개의 VM을 리아이피해야 하는 경우가 많습니다.
지원되는 시스템
현재 지원되는 최신 운영 체제는 참조 문서에 나열된 문서를 검토하세요:
- RHEL 5.2 를 통해 5.11, 6.x, 7.x. 8.x, 9.x
- 센토스 5.2 를 통해 5.11, 6.x, 7.x, 8.x
- Oracle Linux 5.6 를 통해 5.11, 6.x, 7.x, 8.x, 9.x
- SLES 11(32비트 버전 포함)
- SLES 12(btrfs 없음)
- SLES 15(btrfs 없음)
- Ubuntu 12(32비트 버전 포함), 14, 16, 18, 20, 22, 24
- Debian 8, 9, 10, 11, 12
- AlmaLinux 8, 9
- 록키 Linux 8, 9
- Windows 2008 R2, 2012, 2016, 2019, 2022
아키텍처 구성 요소
이 가이드:
- 지식 이전을 지원하기 위해 예시 IP 주소를 사용하며, IP 주소는 달라집니다.
- Linux 마이그레이션에 중점을 두지만 Microsoft Windows 마이그레이션도 비슷합니다.
IBM Cloud VMware-Automated Bridge Server IBM Cloud VPC
┌──────────────┐ ┌───────────────┐ ┌───────────────┐
│ │ │ens192: │ │ │
│ Source VM │ │192.168.10.254 │ │ RMM Server │
│ 192.168.10.11├────────────►│ │◄─────────┤ 10.68.70.11 │
│ │ │ ens224: │ │ │
└──────────────┘ │ 10.134.54.62│ └───────────────┘
│ │ │
└───────────────┘ │
│
┌───────▼───────┐
│ Target VSI │
│ 192.168.10.11 │
└───────────────┘
위의 다이어그램은 컴포넌트의 논리적 연결 보기를 보여줍니다. bridge server 라는 이름은 레이어 2 브리징이 아닌 레이어 3 NAT를 사용하기 때문에 오해의 소지가 있습니다.
출처 VM:
- 위치: IBM Cloud VCF 자동화된 VMware 인스턴스
- 예: VM 실행 Ubuntu 22.04
- 실제 IP: 192.168.10.11 (NSX 오버레이 세그먼트)
- 다음을 통해 액세스 가능: VM SNAT를 통해 인터넷에 액세스하고 클라이언트 네트워크에 기본적으로 액세스하지만 IBM Cloud 네트워크에는 액세스할 수 없습니다
브리지 서버:
- 목적: 격리된 네트워크 간에 레이어 3 네트워크 연결 제공
- 기능: 기능: SNAT를 사용하여 격리된 NSX 오버레이 세그먼트를 IBM Cloud VPC 네트워크에 액세스할 수 있도록 합니다
- 인터페이스:
ens192: 192.168.10.254- 인사이드 네트워크 ( 192.168.10.0/24 )ens224: 10.134.54.62- 네트워크 외부 ( 10.134.54.0/26 )
RMM 서버:
- 위치: IBM Cloud VPC
- 목적: 마이그레이션/동기화 작업 오케스트레이션
- IP: 10.68.70.11
- 실행: RackWare 소프트웨어, UI 호스팅, 데이터 전송 조정, 패스스루 모드에서 네트워크 통신의 프록시 역할 수행
대상 VSI
- 위치: IBM Cloud VPC
- 예시: 가상 서버 인스턴스(VSI)
- IP: 192.168.10.11
- 목적: 마이그레이션된 데이터의 대상
IBM Cloud Private 정적 서브넷:
- 위치: IBM Cloud 클래식
- 예시: 30 휴대용 서브넷 배포(IP 4개)
- IP: 10.194.177.82/30. 사용 가능한 IP: 10.194.177.82- 10.194.177.85
- 목적: IBM Cloud 클래식 네트워크가 10.134.54.62 (브리지 서버의 ens224 IP)로 라우팅하는 NAT용 IP 주소를 제공합니다. IBM 의 네트워크 인프라는 10.194.177.82/30 로 향하는 모든 트래픽을 다음 주소로 보내야 한다는 것을 알고 있습니다 10.134.54.62
브리지 서버
브리지 서버는 iptables 를 사용하여 NAT를 제공합니다:
-
RMM 이
10.194.177.82에 연결되면 브리지는 목적지를192.168.10.11(실제 소스 VM IP 주소)로 변환합니다. -
VM 소스가 응답하면 NAT IP에서 보낸 것으로 보입니다
10.194.177.82RMM 이
10.194.177.82에 연결하려고 할 때 :- RMM 패킷을 전송합니다
- SRC: 10.68.70.11
- 일광절약시간제: 10.194.177.82
- 이를 알고 있는 클래식 네트워크로 경로를 지정하는 VPC 라우팅( Transit Gateway )을 설정합니다:
- " 10.194.177.82 서브넷에 있음 10.194.177.82/30 "
- "이 서브넷을 10.134.54.62 로 라우팅"
- 3단계: 브리지 서버로 패킷 전달
- ens224 ( 10.134.54.62 )
- DST: 10.194.177.82 (변경되지 않음)
- Bridge의 iptables DNAT
iptables -t nat -A PREROUTING -i ens224 -d 10.194.177.82 -j DNAT --to-destination 192.168.10.11
- 소스로 전달된 패킷 VM
- SRC: 10.68.70.11
- DST: 192.168.10.11 (DNAT 적용됨)
- RMM 패킷을 전송합니다
SSH 키 요구 사항
터널이 데이터 전송을 위해 작동하려면 대상에서 소스를 인증해야 합니다. 대상 VSI에는 소스 VM 의 authorized_keys 파일에 있는 공개 키와 일치하는 SSH 개인 키가 필요합니다.
주요 위치:
- RMM:
/root/.ssh/id_rsaRMM 배포 후 수동 프로세스의 일부로 생성됨 - 대상 Linux VSI:
/root/.ssh/id_rsaRMM 의 키와 동일해야 하며 RMM 자동화된 프로세스를 통해 전송해야 합니다 - 출처 Linux VM:
/home/rackware/.ssh/authorized_keys소스 설정을 위한 수동 프로세스의 일부로 생성되었습니다
Windows 서버의 경우 RackWare SSHD 유틸리티가 사용됩니다. RackWare Windows용 SSHD는 Windows 시스템 전용 MSI 설치 프로그램으로 패키징된 경량 SSH 서버 구현으로, RackWare RMM 연결이 가능합니다. MSI( RWSSHDService_x64.msi)는 RMM 서버에서 직접 다운로드할 수 있습니다: https://<RMM_IP>/windows/RWSSHDService_x64.msi
인증 플로우
- RMM → 출처 VM (브리지 서버 경유)
- 사용: RMM 의 SSH 키
- 인증:
rackware사용자 - 목적: 검색, 파일 시스템 마운트, 정리
- RMM → 대상 VSI
- 사용: RMM 의 SSH 키
- 인증:
root사용자 - 목적: 터널 생성, 파일 시스템 마운트, 데이터 전송
- 타겟 VSI → 소스 VM (터널 통과)
- 사용: 복사한 SSH 키( RMM 와 동일)
- 인증:
rackware사용자 - 목적: 데이터 전송
핵심 RackWare RMM 운영
다음은 마이그레이션을 위한 핵심 RackWare RMM 작업입니다.
검색/검토
목적: 출처에 대한 정보 수집 VM 프로세스:
- 사용자가 소스의 IP 주소 또는 DNS 호스트 이름을 제공합니다 VM. 사용 사례에서는 NAT IP 주소를 사용합니다.
- RMM sSH를 통해 소스 서버에 연결합니다 VM
- 표준 OS 쿼리를 수행하여 메타데이터를 수집합니다:
- CPU 코어, RAM, 디스크 구성
- 파티션 및 볼륨 구조
- OS 버전 및 설치된 패키지
- 네트워크 구성
- 애플리케이션 정보
- RMM 의 CMDB(구성 관리 데이터베이스)에 저장된 메타데이터
- 필요한 경우 나중에 AutoProvisioning 대상 VSI에 사용됩니다
키 요구 사항: RMM 와 소스 서버 간에 SSH 키가 올바르게 구성되어 있어야 합니다
캡처(저장 후 전달 방식)
이 사용 사례에서는 직접 할당(플렉스 동기화/호스트 동기화) 방식을 사용하므로 저장 후 전달 방식은 사용되지 않습니다.
목적: 소스 VM 이미지의 스냅샷/클론을 만듭니다 RMM 프로세스:
- 소스에서 LVM 스냅샷( Linux ) 또는 VSS 스냅샷(Windows)을 생성합니다 VM
- 일관성을 위해 OS가 애플리케이션 IO를 디스크로 플러시합니다
- OS가 파일 시스템에 북마크를 배치(무중단)
- RMM 정적 스냅샷에서 RMM 스토리지로 이미지 비트를 복사합니다
- 사용된 데이터만 복사됩니다(블록 수준이 아닌 파일 수준)
- RMM 서버 저장 위치에 저장된 이미지
- CMDB에 저장된 이미지에 대한 추가 메타데이터
주요 기능:
- 원본 서버에 무중단(프로덕션은 계속 실행됨)
- 파일 기반 복제(섹터/블록이 아닌)
- 압축 및 암호화 지원
- 선택적 데이터에 대한 포함/제외 목록 지정 가능
지정
목적: 캡처한 이미지를 대상 VSI에 배포합니다 프로세스에 배포합니다:
- AutoProvision 대상 VSI(또는 사전 프로비저닝된 서버 사용)
- RMM discover의 메타데이터를 사용하여 타겟의 크기를 적절하게 조정합니다
- VPC에서 VSI 프로비저닝
- SSH를 사용하여 Target에 연결
- 대상 검사
- 대상 VSI가 소스 VM 이미지를 실행할 수 있는지 확인합니다
- 기본 하드웨어 이해
- RackWare 마이크로커널로 부팅
- 대상 VSI에 마이크로커널 배포
- 부트로더 옵션에 삽입
- 마이크로커널에서 대상 VSI 부팅
- Target VSI 디스크 준비
- 디스크 다시 포맷
- 논리 볼륨 구조 다시 생성(원본과 정확히 일치)
- 최적의 알고리즘을 사용하여 파티션 생성
- 이미지 전송
- RMM 스토리지에서 대상 VSI로 이미지 비트 전송
- 새 하드웨어에 필요한 장치 드라이버 삽입
- 선택적으로 대상 VSI의 네트워크 구성을 수정합니다
- 구성 및 재부팅
- 실제 OS에 맞는 부트로더 구성
- 복제된 OS로 재부팅
- 검증
- 대상 VSI가 제대로 부팅되는지 확인
- 올바른 네트워킹 확인
- 올바르게 복제된 데이터 확인
- 원본과 동일한 자격 증명을 사용하여 복제된 서버로 SSH 접속
직접 할당(플렉스 동기화 또는 호스트 동기화라고도 함)
이 사용 사례에서 사용하는 접근 방식입니다.
목적: 소스 VM 에서 중간 스토리지 없이 대상 VSI 로 직접 복제 프로세스:
- 캡처 + 할당을 하나의 작업으로 결합한 기능
- 모든 검색 기능 수행
- 대상 서버 프로비저닝(또는 기존 서버 사용)
- 대상 서버 준비
- 소스 VM 에서 대상 VSI로 직접 복제합니다
- 네트워크 연결은 여전히 RMM (소스-대상 간 직접 연결 필요 없음)를 통해 라우팅할 수 있습니다
동기화(델타 동기화)
목적: 소스에서 변경된 데이터만 사용하여 대상 업데이트 VM 프로세스:
- 소스 VM (LVM 또는 VSS)에서 스냅샷을 생성합니다
- 델타 계산(변경된 파일만)
- 변경된 데이터만 Target으로 전송
- 업데이트도 마찬가지입니다:
- RMM 저장소에 캡처한 이미지, 또는
- Target 서버 실행, 또는
- 둘 다(이미지 + 대상 서버)
동기화 옵션
- 1단계 동기화
- 원본 → RMM 저장소(캡처 이미지)
- 저장된 이미지만 업데이트합니다
- 2단계 동기화
- RMM 스토리지 → 대상 서버
- 저장된 이미지에서 실행 중인 대상 업데이트
- RMM 패스스루
- 원본 → RMM → 대상
- 데이터는 RMM 을 통해 흐르지만 지속되지는 않습니다
- RMM 에 저장할 필요 없음
- 직접 동기화
- 출발지 → 대상(직접 연결)
- 선택적 동기화*
- 특정 파일/디렉토리만 동기화
- 포함/제외 목록 사용
- 드라이브/디렉토리 매핑
- 특정 출발지 경로를 다른 대상 경로에 매핑하기
엔진 동기화:
- RWSync(기본값):
- Agentless
- 네트워크 중단 내성
- 대규모 동시 업데이트 처리
- 최종 체크섬 포함
- TNG보다 느림
- TNG(고급):
- 델타 파일 추적기 설치 필요
- 훨씬 빠르고 효율적
- 대규모 서버, 높은 업데이트 속도, 공격적인 RPO의 경우
- 바이러스 백신에서 화이트리스트에 등록해야 합니다
- 네트워크 중단에 더 민감하게 반응
- 원격 NFS /CIFS 마운트를 지원하지 않습니다
RackWare 마이크로커널 부팅 프로세스
할당 작업을 수행하는 동안 RMM 은 대상 VSI를 RackWare 마이크로커널로 부팅하고 부팅 디스크가 다시 포맷되어 파일 시스템, 유형 및 크기가 소스 VM 와 일치하도록 합니다. RMM 은 대상 디스크 레이아웃과 소스의 파티션에 따라 가장 적합한 시도를 합니다.
마이크로커널 배포
RackWare 에서 복제된 이미지를 수신할 대상 VSI를 준비합니다:
- RMM 는 RackWare 마이크로커널을 대상 VSI에 배포합니다
- 이 마이크로커널은 플랫폼 OS의 부트로더 옵션에 "스스로 삽입"됩니다
- 마이크로커널은 부트로더( Linux )에서 부팅됩니다
마이크로 커널은 LiveCD, 으로 간주할 수 있으며 최소한의 부팅 가능한 환경입니다:
- 대상 하드웨어에 필요한 드라이버를 보관합니다
- RMM 이 대상 서버와 통신할 수 있도록 허용합니다
- 디스크 재포맷 및 파티션 생성 가능
- 원본에서 대상으로의 실제 데이터 전송을 용이하게 합니다
- 새로운 하드웨어 환경에 맞게 시스템을 구성합니다
할당 단계 중입니다, RackWare:
- 대상 VSI를 마이크로커널로 부팅합니다(GRUB 항목을 통해)
- 마이크로 커널 상태에서 디스크 다시 포맷하기
- 소스와 일치하는 파티션 구조를 다시 생성합니다 VM
- 논리 볼륨을 생성하여 LVM 구조를 만듭니다
- 소스 VM 데이터를 대상 VSI로 전송합니다
- 대상 하드웨어에 필요한 드라이버를 삽입합니다
- 실제 OS를 부팅하도록 GRUB 구성
- 복제된 OS로 재부팅
RackWare 로 GRUB 구성을 수정합니다:
- 할당 프로세스 중에 임시 마이크로커널 부팅 항목 추가하기
- 복제된 OS에 대해 올바른 부팅 매개변수를 구성하세요
- 전송 완료 후 기본 부팅 옵션을 복제된 OS로 설정합니다
- 새 하드웨어에 필요한 모든 커널 파라미터 처리
Windows 시스템:
- GRUB 대신 Windows 부팅 관리자 사용
- 동일한 마이크로커널 개념 적용
- Windows 부팅 구성에 마이크로커널 삽입
- 복제 후 부팅 구성은 복제된 Windows OS를 가리킵니다
마이크로커널 환경에서는 RackWare:
- 적절한 스토리지 드라이버 삽입
- 네트워크 드라이버 주입
- 새 하드웨어용 장치 드라이버 구성
- 복제된 OS가 다른 하드웨어에서 부팅할 수 있는지 확인합니다
델타 동기화, 후속 동기화를 위한 복제 프로세스는 초기 동기화와 동일한 방식으로 작동합니다. 델타 동기화는 대상 서버를 RackWare 마이크로커널로 재부팅한 후 수행됩니다. 델타 동기화가 완료되면 대상 VSI가 호스트 OS로 다시 부팅됩니다,
이러한 마이크로커널 접근 방식은 중요한 전송 및 구성 단계에서 대상 환경을 완벽하게 제어하여 플랫폼 간, 하이퍼바이저 간, 물리적-가상 간 마이그레이션의 복잡성을 처리할 수 있으므로 RackWare 의 핵심 차별화 요소입니다.
RackWare 직접 동기화 프로세스를 통한 패스스루
그 과정은 다음과 같습니다:
- RMM 소스 발견 VM
RMM → Bridge (10.194.177.82) → Source VM (192.168.10.11)
- RMM sSH를 통해
10.194.177.82(NAT IP)에 연결합니다 - 브리지는 다음과 같이 번역됩니다
192.168.10.11 - RMM 메타데이터를 수집합니다: OS, 파일 시스템, 디스크 레이아웃 등의 메타데이터를 수집합니다.
- RMM 대상 VSI를 발견합니다
RMM → Target VSI (192.168.10.11)
- RMM 는 SSH를 통해
192.168.10.11 - 대상 하드웨어 및 기능 검사
- RMM 타겟 VSI에 역방향 SSH 터널 생성
RMM 자동화는 RMM 서버를 통해 대상 VSI와 소스 VM 사이에 역방향 SSH 터널을 생성합니다:
Target VSI (192.168.10.11)
│
└─ localhost:23 ──[SSH Tunnel]──► RMM ──► Bridge ──► Source VM:22
-
RMM 대상 VSI에 대한 SSH 연결을 시작합니다
-
대상에 수신 포트(23)를 생성합니다
-
대상에서
localhost:23로의 모든 연결은 전달됩니다:- SSH 터널을 통해 다시 RMM
- RMM
10.194.177.82:22(브리지를 통한 소스)로 전달 - DNAT를 실제 소스로 연결
시각적 흐름:
Target: [App tries localhost:23] ↓ [SSH tunnel to RMM] ↓ RMM: [Receives and forwards to 10.194.177.82:22] ↓ Bridge: [DNAT: 10.194.177.82 → 192.168.10.11] ↓ Source: [Receives connection on port 22] -
파일 시스템 마운트
RMM 는 아래 예제와 유사한 명령을 사용하여 소스 및 대상 모두에 파일 시스템을 마운트합니다:
출처 VM (브리지를 통해):
# RMM executes on source
mount --bind / /mnt/rackware/tmp.xxxxx
On Target VSI(직접):
# RMM executes on target
mount /dev/vda2 /mnt/rackware/tmp.yyyyy
- 데이터 전송
RMM 는 소스 VM 에서 데이터를 가져오기 위해 대상 VSI에서 데이터 전송을 실행합니다:
- GRUB 설치
RMM 는 UEFI 부팅을 위해 대상에 GRUB을 설치하고 구성합니다:
- GRUB 부트로더 파일 복사
- 올바른 커널 파라미터로
grub.cfg생성 - UEFI 부팅 항목 생성
- 새 하드웨어 드라이버 구성
- 파일 시스템 마운트 해제
# On both source and target
umount /mnt/rackware/tmp.xxxxx
-
터널 닫기
-
RMM 대상에 대한 SSH 터널을 닫습니다
-
포트 23이 대상에서 수신 중지
-
유틸리티 제거
# RMM removes temporary files from source and target
rm -rf /var/tmp/rackware/