CentOS 7, 이제 정말 끝났다
2024년 6월 30일, CentOS 7이 공식 지원 종료(EOL, End of Life)를 맞이했습니다. 이후로는 보안 패치와 버그 수정이 전혀 제공되지 않습니다. 아직도 CentOS 7을 운영 중인 서버가 있다면 보안 취약점에 그대로 노출된 상태라는 의미입니다. 더 이상 미룰 수 없는 상황에서 가장 현실적인 대안으로 꼽히는 것이 바로 Rocky Linux와 AlmaLinux입니다.
두 배포판 모두 RHEL(Red Hat Enterprise Linux)과 1:1 바이너리 호환을 목표로 만들어진 무료 엔터프라이즈 리눅스입니다. 이 글에서는 두 배포판의 차이점을 비교하고, CentOS 7에서 마이그레이션하는 실전 절차를 정리합니다.
왜 CentOS 8이 아닌 CentOS 7이 문제인가
많은 분들이 혼동하는 부분입니다. CentOS 8은 이미 2021년 12월에 지원이 종료됐고, Red Hat은 CentOS를 롤링 릴리즈 방식의 CentOS Stream으로 전환했습니다. CentOS Stream은 RHEL의 업스트림 개발 브랜치 성격이라 기존 CentOS처럼 안정적인 엔터프라이즈 서버 운영에는 적합하지 않습니다. 결국 CentOS의 공백을 메우기 위해 커뮤니티 주도로 탄생한 것이 Rocky Linux와 AlmaLinux입니다.
Rocky Linux vs AlmaLinux — 탄생 배경
Rocky Linux
Rocky Linux는 CentOS의 공동 창립자인 Gregory Kurtzer가 주도해 만든 배포판입니다. "CentOS가 원래 하려던 것을 우리가 한다"는 철학으로 시작했으며, Rocky Enterprise Software Foundation(RESF)이 운영합니다. RHEL 소스 코드를 기반으로 1:1 바이너리 호환성을 보장하며, 커뮤니티 중심의 거버넌스 구조를 강조합니다.
- 개발 주체: Rocky Enterprise Software Foundation(RESF), 커뮤니티 중심
- 최신 버전: Rocky Linux 9.x (RHEL 9 기반)
- 지원 기간: 메이저 버전 기준 10년 (Rocky Linux 8: 2029년까지, 9: 2032년까지)
- 특징: FIPS 140-2/3 인증, 강력한 커뮤니티 생태계
AlmaLinux
AlmaLinux는 웹 호스팅 기업 CloudLinux가 주도해 만든 배포판으로, AlmaLinux OS Foundation이 운영합니다. 기업 후원이 탄탄한 편이며, Red Hat이 RHEL 소스 공개 정책을 변경한 이후에는 RHEL 1:1 호환 대신 ABI(Application Binary Interface) 호환 방식으로 전환해 독립성을 강화했습니다.
- 개발 주체: AlmaLinux OS Foundation (CloudLinux 후원)
- 최신 버전: AlmaLinux 9.x (RHEL 9 기반)
- 지원 기간: 메이저 버전 기준 10년 (AlmaLinux 8: 2029년까지, 9: 2032년까지)
- 특징: FIPS 140-3 인증, ELevate 마이그레이션 툴 제공, 기업 지원 옵션 있음
두 배포판 핵심 비교
- RHEL 호환성: Rocky Linux는 바이너리 1:1 호환 / AlmaLinux는 ABI 호환 (실사용 환경에서 차이 거의 없음)
- 거버넌스: Rocky Linux는 순수 커뮤니티 중심 / AlmaLinux는 기업(CloudLinux) 후원 기반
- 마이그레이션 툴: AlmaLinux의 ELevate 툴이 더 성숙하고 다양한 경로 지원
- 기업 지원: AlmaLinux는 유료 상업 지원 옵션 제공 / Rocky Linux는 커뮤니티 중심
- 패키지 업데이트 속도: 두 배포판 모두 RHEL 패치 후 수일 내 반영으로 큰 차이 없음
결론적으로 어느 쪽을 선택해도 실제 운영 환경에서 체감 차이는 거의 없습니다. 순수 커뮤니티를 선호하면 Rocky Linux, 기업 지원과 안정적인 마이그레이션 툴을 원하면 AlmaLinux를 권장합니다.
마이그레이션 전 반드시 해야 할 준비
- 전체 백업: 시스템 스냅샷 또는 전체 백업 필수. 마이그레이션 실패 시 롤백 수단이 없으면 복구 불가.
- 운영 중인 패키지 목록 확인:
rpm -qa > /root/pkg_list_before.txt로 현재 설치 패키지 기록 - 서드파티 저장소 확인: EPEL, Remi, SCLo 등 외부 저장소 패키지는 마이그레이션 후 재설치 필요할 수 있음
- 테스트 서버에서 먼저 검증: 동일 구성의 테스트 서버에서 마이그레이션 절차를 먼저 수행하고 이상 없을 때 운영 서버에 적용
- 커널 및 패키지 최신화:
yum update -y후 재부팅으로 최신 상태 유지
AlmaLinux ELevate로 CentOS 7 마이그레이션 (권장)
AlmaLinux가 제공하는 ELevate 프로젝트는 CentOS 7에서 AlmaLinux 8로의 인플레이스(In-place) 업그레이드를 지원하는 공식 툴입니다. 재설치 없이 기존 서버에서 직접 OS를 전환할 수 있습니다.
ELevate 마이그레이션 절차
# 1. ELevate 저장소 설치
sudo yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el7.noarch.rpm
# 2. leapp 및 데이터 패키지 설치
sudo yum install -y leapp-upgrade leapp-data-almalinux
# 3. 사전 점검 실행 (실제 업그레이드 없이 문제 항목만 탐지)
sudo leapp preupgrade
# 4. 점검 리포트 확인
cat /var/log/leapp/leapp-report.txt
preupgrade 실행 후 리포트에서 inhibitor(차단 요소)로 표시된 항목은 반드시 해결해야 업그레이드가 진행됩니다. 자주 나오는 차단 요소는 다음과 같습니다.
# PAM 설정 관련 차단 요소 해결 예시
sudo rmmod pata_acpi
# GRUB 설정 확인
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
# 5. 차단 요소 해결 후 실제 업그레이드 실행
sudo leapp upgrade
# 6. 재부팅 (업그레이드는 재부팅 중 자동 진행, 10~30분 소요)
sudo reboot
재부팅 완료 후 AlmaLinux 8로 전환된 것을 확인합니다.
cat /etc/os-release
rpm -qa | grep almalinux
Rocky Linux 직접 설치 후 데이터 이전 방식
인플레이스 마이그레이션 대신 새 서버에 Rocky Linux를 클린 설치하고 데이터와 서비스를 이전하는 방식도 많이 사용됩니다. 인플레이스 방식보다 안전하며, 레거시 설정이 그대로 이전되는 부작용이 없습니다.
- Rocky Linux 9.x ISO 다운로드 후 설치 (rockylinux.org/download)
- 기존 서버의 애플리케이션 설정 파일, 데이터 디렉터리 rsync로 이전
- 패키지 목록 기반 재설치:
yum install $(cat /root/pkg_list_before.txt | awk '{print $1}') - 서비스 기동 및 검증 후 DNS/로드밸런서 전환
마이그레이션 후 점검 사항
- SELinux 상태 확인:
sestatus— 정책이 변경됐을 경우 서비스 접근 거부 발생 가능 - 방화벽 규칙 확인:
firewall-cmd --list-all - 서비스 자동 시작 확인:
systemctl list-unit-files --state=enabled - 크론탭 이전 확인:
crontab -l,/etc/cron.d/내용 점검 - 애플리케이션 정상 동작 확인: 웹서버, DB, 미들웨어 순서로 기동 및 로그 점검
마무리
CentOS 7 EOL은 단순한 버전 업그레이드가 아니라 서버 운영 기반 자체를 재정비하는 기회입니다. Rocky Linux와 AlmaLinux 모두 훌륭한 대안이며, 어떤 배포판을 선택하든 체계적인 백업과 테스트 검증을 거친 마이그레이션이 가장 중요합니다. 아직 CentOS 7 서버가 남아있다면 지금 바로 마이그레이션 계획을 수립하시기 바랍니다.
'IT > 리눅스' 카테고리의 다른 글
| [완벽 가이드] NAS 마이그레이션 중 배드섹터 에러 해결법: rsync 무한루프부터 ddrescue까지 (0) | 2026.03.19 |
|---|---|
| SSH 접속 지연·Connection refused 오류 해결 — 5가지 필수 점검 사항 완전 정리 (0) | 2026.03.19 |
| 리눅스 디스크 100% 꽉 찼을 때 완전 해결 가이드 — Disk Full 원인 분석부터 재발 방지까지 (0) | 2026.03.19 |
| 리눅스 파일 타임스탬프 완전 정복 — ctime, mtime, atime 차이점과 실무 활용법 (0) | 2026.03.18 |
| 리눅스 시스템 엔지니어를 위한 필수 네트워크 트러블슈팅 명령어 총정리 (0) | 2026.03.18 |