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로),
- 파티션 테이블을 업데이트해야 할 수도 있습니다:
부팅 볼륨의 크기를 상향 조정한 경우( 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
- 파일 시스템 크기를 조정합니다:
# 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를 피할 수 있습니다.