CentOS 7 Rocky Linux 이관은 새 Rocky Linux 8.10 서버를 구축하고 애플리케이션과 데이터를 단계적으로 옮기는 재구축 방식을 우선 권장합니다. CentOS Linux 7은 2024년 6월 30일 지원이 종료되어 더 이상 보안 업데이트를 받지 않습니다. 운영 서버를 Vault 저장소에 연결하는 것만으로는 지원 상태가 회복되지 않습니다.

현재 ELevate 공식 가이드는 지원 대상을 명시한 경로만 사용하도록 안내합니다. Rocky Linux를 목적지로 단정한 무검증 인플레이스 변환은 피하고, 도구의 최신 지원 매트릭스에 목적지가 없으면 재구축·데이터 이관을 선택하십시오. 인플레이스 전환이 필요한 예외는 별도 복제 환경에서 먼저 재현해야 합니다.

CentOS 7 Rocky Linux 이관 의사결정: 재구축 우선과 지원 매트릭스를 확인한 예외 경로
Rocky Linux 8.10 재구축·이관을 권장하고 인플레이스 방식은 현재 지원 매트릭스를 확인하는 의사결정 구조

CentOS 7 Rocky Linux 이관 권장 아키텍처

경로 권장도 핵심 조건
새 Rocky 8.10 구축 후 이관 권장 깨끗한 OS, 명확한 롤백, 단계별 검증
인플레이스 도구 예외 현재 지원 목적지·억제 요인·복구 콘솔 확인
CentOS 7 계속 운영 비권장 격리된 단기 복구 외에는 보안 위험

1단계: CentOS 7 자산과 의존성 수집

sudo install -d -m 0700 /root/migration-inventory
cat /etc/centos-release | sudo tee /root/migration-inventory/release.txt
uname -r | sudo tee /root/migration-inventory/kernel.txt
sudo rpm -qa --qf '%{NAME}|%{VERSION}-%{RELEASE}|%{ARCH}\n'   | sort | sudo tee /root/migration-inventory/packages.txt >/dev/null
sudo systemctl list-unit-files --state=enabled   | sudo tee /root/migration-inventory/enabled-units.txt >/dev/null
sudo ss -lntup | sudo tee /root/migration-inventory/listeners.txt >/dev/null
sudo crontab -l > /root/migration-inventory/root-crontab.txt 2>/dev/null || true

CentOS 7 Rocky Linux 이관에서 패키지 목록만 비교하면 부족합니다. systemd override, 인증서, 방화벽, SELinux 사용자 정의 정책, cron, 계정 UID·GID, 데이터베이스 문자 집합, 외부 스토리지와 모니터링 에이전트까지 소유자와 함께 목록화합니다.

네트워크와 보안 기준선

ip -br address
ip route
sudo firewall-cmd --list-all-zones
getenforce
sudo semanage port -l > /root/migration-inventory/selinux-ports.txt
sudo getsebool -a > /root/migration-inventory/selinux-booleans.txt
sudo find /etc/systemd/system -type f -print   | sort > /root/migration-inventory/systemd-local-files.txt

2단계: 백업과 복원 시험

서비스별 일관된 백업을 만듭니다. 데이터베이스는 파일 복사 대신 제품이 보장하는 dump 또는 백업 도구를 사용하고, 암호화 키와 인증서의 접근 권한을 별도로 보존하십시오.

sudo tar --xattrs --acls --selinux -C /   -czf /backup/centos7-etc-home-$(date +%F).tgz etc home
sudo sha256sum /backup/centos7-etc-home-*.tgz   | sudo tee /backup/SHA256SUMS

# PostgreSQL 예시: 버전별 공식 복구 절차와 함께 검증
sudo -u postgres pg_dumpall --clean --if-exists   > /backup/postgresql-all-$(date +%F).sql
백업 파일 생성 성공은 복구 성공을 뜻하지 않습니다. 격리된 시험 서버에서 실제로 복원하고 애플리케이션 트랜잭션을 통과해야 롤백 수단으로 인정하십시오.

3단계: CentOS 7 Rocky Linux 이관 대상 서버 구축

Rocky Linux 8.10 ISO의 체크섬을 검증하고 최소 패키지로 설치합니다. 새 서버의 호스트 이름, 시간 동기화, DNS, 스토리지 성능과 SELinux Enforcing 상태를 먼저 맞춘 뒤 애플리케이션 저장소를 추가합니다.

cat /etc/rocky-release
sudo dnf upgrade --refresh -y
sudo systemctl --failed --no-pager
timedatectl status
chronyc tracking
getenforce
sudo firewall-cmd --state
df -hT
df -i

4단계: 설정은 선별 이관

CentOS 7의 /etc 전체를 Rocky Linux 8에 덮어쓰면 PAM, crypto policy, systemd와 네트워크 설정이 손상될 수 있습니다. 애플리케이션 설정만 새 기본 파일과 세 줄 비교하고, 더 이상 지원되지 않는 지시자는 제거합니다.

diff -u /srv/migration/old/app.conf /etc/example/app.conf || true
sudo rsync -aHAXn --numeric-ids   /srv/migration/app-data/ /var/lib/example/

# 모의 결과를 검토한 뒤에만 실제 복사
sudo rsync -aHAX --numeric-ids   /srv/migration/app-data/ /var/lib/example/
sudo restorecon -RFv /var/lib/example

5단계: 데이터 동기화와 정지 시간 최소화

CentOS 7 Rocky Linux 이관의 데이터 이동은 초기 전체 복사, 변경분 동기화, 최종 쓰기 중지, 마지막 동기화 순서로 진행합니다. 데이터베이스 복제 또는 논리 dump를 쓸 때는 소스·대상 메이저 버전의 지원 조합을 확인합니다.

# 파일 데이터 초기 동기화: 먼저 dry-run
sudo rsync -aHAXn --delete --numeric-ids   /srv/app-data/ rocky8:/srv/app-data/

# 승인 후 초기 동기화
sudo rsync -aHAX --delete --numeric-ids   /srv/app-data/ rocky8:/srv/app-data/

# 최종 전환 창: 애플리케이션 쓰기 중지 후 변경분 재동기화
sudo systemctl stop example-app
sudo rsync -aHAX --delete --numeric-ids   /srv/app-data/ rocky8:/srv/app-data/

6단계: 전환 전 기능·성능 시험

curl --fail --silent --show-error https://staging.example.com/health
openssl s_client -connect staging.example.com:443   -servername staging.example.com -verify_return_error </dev/null
ssh rocky8 'systemctl --failed --no-pager'
ssh rocky8 'journalctl -p err -b --no-pager'
ssh rocky8 'ss -lntup'
ssh rocky8 'getenforce'

로그인, 읽기·쓰기, 배치, 백업, 모니터링, 알림과 성능 기준을 실제 사용자 경로로 시험합니다. IP만 열리는 수준으로 완료 처리하지 않습니다.

7단계: DNS·로드밸런서 전환과 롤백

dig +short app.example.com
curl --resolve app.example.com:443:192.0.2.80   --fail --silent --show-error https://app.example.com/health

# 전환 뒤 DNS와 인증서 확인
dig +trace app.example.com
openssl s_client -connect app.example.com:443   -servername app.example.com -verify_return_error </dev/null

전환 전 TTL을 계획적으로 낮추고, 기존 서버는 즉시 삭제하지 말고 쓰기를 막은 롤백 상태로 보존합니다. 실패 기준과 되돌릴 마지막 시각을 변경 계획서에 수치로 기록하십시오.

인플레이스 전환을 검토할 때

ELevate 같은 도구는 preupgrade 보고서의 inhibitor를 모두 해결하고, 목적지와 소스 조합이 현재 지원 매트릭스에 있을 때만 사용합니다. 공식 문서가 현재 AlmaLinux 목적지를 설명한다면 이를 Rocky Linux 변환의 근거로 바꾸어 해석하지 마십시오.

# 예외 경로의 공통 원칙: 실제 명령은 현재 공식 문서에서 확인
cat /etc/centos-release
sudo dnf repolist --enabled
sudo rpm -Va > /root/preupgrade-rpm-verify.txt
findmnt -T /
df -hT / /var /boot
df -i / /var /boot
인플레이스 방식은 별도 복제 서버에서 전체 절차를 반복하고 부팅·애플리케이션·백업 복구를 확인한 뒤 승인하십시오. 지원 매트릭스에 없는 Rocky 목적지를 임의 패키지 교체로 만들지 않습니다.

CentOS 7 Rocky Linux 이관 검증 체크리스트

  1. CentOS 7 EOL 위험을 변경 기록에 남깁니다.
  2. 자산·의존성·UID/GID와 보안 기준선을 수집합니다.
  3. 백업을 격리 환경에서 복원합니다.
  4. Rocky 8.10 새 서버를 최신 상태로 구축합니다.
  5. 설정과 데이터를 선별 이관합니다.
  6. 실제 트랜잭션과 성능을 시험합니다.
  7. DNS·LB 전환과 정량적 롤백 조건을 실행합니다.
  8. 관찰 기간 후 CentOS 7 접근을 차단하고 폐기합니다.

공식 자료와 관련 글

CentOS 7 Rocky Linux 이관 요약

CentOS 7 Rocky Linux 이관은 새 Rocky Linux 8.10 환경을 구축하고 백업·복원 시험, 선별 설정 이관, 데이터 동기화, 서비스 검증과 되돌리기를 연결하는 방식이 가장 예측 가능합니다. 지원 종료된 CentOS 7을 Vault로 연장하거나 현재 지원 매트릭스에 없는 인플레이스 경로를 가정하지 마십시오.