Linux 로 이전할 때 고려해야 할 사항 IBM Cloud VPC

IBM Cloud VPC 의 Linux 마이그레이션 시 고려 사항( VirtIO 드라이버 검증, cloud-init 구성 및 네트워크 설정 포함)을 검토하십시오.

마이그레이션을 시작하기 전에 다음 사항을 고려해 주십시오.

VirtIO 드라이버 확인

Linux 마이그레이션은 일반적으로 Windows보다 간단하지만 이 가이드에서는 명심해야 할 몇 가지 중요한 고려 사항을 설명합니다.

다음 Linux 배포에는 커널에 VirtIO 드라이버가 포함되어 있습니다:

  • Ubuntu: 16.04 및 이후 버전
  • RHEL/CentOS: 6.x 이후
  • Debian: 8 이상
  • SUSE: 12 이상

다음 명령을 사용하여 ‘ VirtIO ’ 드라이버가 설치되어 있는지 확인하십시오.

lsmod | grep virtio

다음과 같은 드라이버가 표시됩니다:

  • virtio_blk- 장치 드라이버 차단
  • virtio_net- 네트워크 드라이버
  • virtio_scsi- SCSI 드라이버
  • virtio_pci- PCI 버스 드라이버

이러한 드라이버가 누락된 경우 VirtIO 지원으로 커널을 다시 빌드하거나 최신 배포판을 설치해야 합니다.

Sysprep에 상응하는 제품 필요 없음

Linux 드라이버를 하드웨어에 바인딩하지 않습니다. 커널은 부팅 시 새 하드웨어를 감지하고 적절한 드라이버를 로드합니다. 이 프로세스를 사용하면 일반적으로 준비할 필요 없이 간편하게 마이그레이션할 수 있습니다.

네트워크 구성 조정

Linux 는 Windows와 같은 하드웨어에 드라이버를 바인딩하지 않습니다. 커널은 부팅 시 새 하드웨어를 감지하고 적절한 드라이버를 로드하므로 일반적으로 특별한 준비 없이도 마이그레이션이 훨씬 쉬워집니다.

일반적인 문제입니다: 마이그레이션 중에 네트워크 인터페이스 이름이 변경됩니다.

VMware 에서 인터페이스의 이름을 지정할 수 있습니다:

  • ens192 (시스템적으로 예측 가능한 이름 지정)
  • eth0 (기존 이름)

VPC에서는 다음과 같이 변경될 수 있습니다:

  • ens3 또는 ens33 ( VirtIO 환경에서 일반적)
  • eth0 (기존 명명 규칙을 사용하는 경우)

고정 IP 구성을 해결하려면 다음 정보를 사용하세요:

  • NetworkManager-based ( Red Hat Enterprise Linux (RHEL) 7 이상 또는 최신 버전 Ubuntu )

    # Identify new interface name
    ip link show
    # Edit connection
    nmcli con edit "System eth0"
    # Change interface-name to new name
    # Save and quit
    # Restart NetworkManager
    systemctl restart NetworkManager
    
  • 넷플랜 기반 ( Ubuntu 18.04 +)

    # /etc/netplan/01-netcfg.yaml
    network:
      version: 2
      ethernets:
        ens3:  # Updated from ens192
          addresses: [10.240.0.10/24]
          gateway4: 10.240.0.1
          nameservers:
            addresses: [8.8.8.8, 8.8.4.4]
    
  • 기존 /etc/network/interfaces ( Debian, 구 Ubuntu )

    auto ens3
    iface ens3 inet static
      address 10.240.0.10
      netmask 255.255.255.0
      gateway 10.240.0.1
    

DHCP 구성 수정:

DHCP를 사용하는 경우 구성은 자동으로 이루어지지만 구성 파일에서 인터페이스 이름을 업데이트해야 할 수도 있습니다.

클라우드 초기화 고려 사항

Cloud-init은 일반적으로 이미지 템플릿과 함께 사용되는 클라우드 인스턴스를 초기화하는 데 사용됩니다. 이 도구는 첫 부팅 시 실행되어 다음과 같은 작업을 수행합니다:

  • 호스트 이름 설정
  • 네트워킹 구성
  • 사용자 및 SSH 키 생성
  • 사용자 지정 스크립트 실행

마이그레이션 관련 사항: 마이그레이션된 가상 서버에 cloud-init이 설치되어 있는 경우, VPC는 첫 부팅을 ‘첫 부팅’으로 인식하여 다음과 같은 조치를 실행합니다:

  • 호스트 이름 변경
  • 네트워크 재구성
  • 사용자 계정 변경 사항
  • 클라우드 초기화 스크립트 실행

디자인 결정

옵션 1: 클라우드 초기화 비활성화

# Before migration
sudo touch /etc/cloud/cloud-init.disabled
# Or after migration via VNC console

옵션 2: 첫 부팅 동작 허용

  • VPC가 DHCP를 통해 네트워킹을 자동 구성하도록 하려는 경우 유용합니다
  • 부팅 후 수동으로 설정해야 할 수도 있습니다(호스트명, 사용자 등)

옵션 3: 클라우드 초기화 구성

  • 클라우드 초기 설정을 생성하여 설정을 보존하세요
  • 더 복잡하지만 제어할 수 있는 기능

개별 마이그레이션(템플릿 배포가 아닌 VM )의 경우, 클라우드 초기화를 비활성화하여 기존 구성을 유지합니다. 템플릿 기반 배포의 경우 자동 구성을 위해 클라우드 초기화를 사용하세요.

파티션 및 파일 시스템 고려 사항

파티션 테이블 확인: 디스크를 전송한 후 다음 명령을 사용하여 파티션 테이블이 손상되지 않았는지 확인합니다:

# On worker virtual server instance (VSI) after transfer
fdisk -l /dev/vdb
# For GPT
gdisk -l /dev/vdb

부팅 볼륨 크기 조정: 부팅 볼륨의 크기를 상향 조정한 경우(예: VMware 80GB에서 VPC 100GB로),

  1. 파티션 테이블을 업데이트해야 할 수도 있습니다:

부팅 볼륨의 크기를 상향 조정한 경우( VMware 에서 80GB에서 VPC 에서 100GB로):

# For MBR
fdisk /dev/vda
# Delete and recreate partition with same start sector, new end sector
# For GPT (automatic backup GPT update)
gdisk /dev/vda
  1. 파일 시스템 크기를 조정합니다:
# For ext4
resize2fs /dev/vda1
# For xfs
xfs_growfs /
# For LVM
pvresize /dev/vda2
lvextend -l +100%FREE /dev/mapper/vg-root
resize2fs /dev/mapper/vg-root

에프스트림 및 씬 프로비저닝

VMware 에서는 ‘ fstrim ’ 명령을 사용하여 씬 프로비저닝된 VMDK에서 사용되지 않는 공간을 회수할 수 있습니다. VPC에서는 모든 볼륨이 스토리지 계층에서 씬 프로비저닝되지만, fstrim은 VPC의 공간 확보에 영향을 미치지 않습니다. Fstrim은 저장 공간을 확보하지 못한다는 점에 유의하세요.

기존 fstrim 크론 작업은 그대로 유지하거나 제거하여 불필요한 I/O를 피할 수 있습니다.