CentOS 8 (Stream) 에서 Rocky Linux 으로 변환하기

    준비물

    Rocky 문서 사이트 참고 : https://docs.rockylinux.org/guides/migrate2rocky/

    CentOS 8 (Stream) or RHEL8 서버

     

    ※ CentOS 7은 해당되지 않습니다. 아래는 실행 예시입니다.

    [root@localhost ~]# ./migrate2rocky.sh -r
    This script must be run on an EL8 distribution. [번역 : 이 스크립트는 EL8(RHEL8 or CentOS8) 배포에서 실행되어야 합니다.] Migration from other distributions is not supported.

    An error occurred while we were attempting to convert your system to Rocky Linux. Your system may be unstable. 

    Script will now exit to prevent possible damage.
    A log of this installation can be found at /var/log/migrate2rocky.log

    주의 사항 및 경고

    ▷ 공식 홈페이지 문서를 참고하여 작성하였습니다. 실서버 적용 시 문제에 대한 책임을 지지 않습니다.

     

    ▷ OS가 설치된 하드웨어 서버 준비, 현재 마이그레이션 가능한 OS 종류

    CentOS 8 (Stream), Alma Linux, RHEL8, Oracle Linux
    이며 여기서는 CentOS 8 (Stream)를 Rocky Linux로 변환하는 실습 진행, 버전은 Rocky 8.4 GA을 지원합니다.

    ▷ 원격 SSH 실행 및 스크립트 실행 실무 지식 필요

    ▷ 서버는 외부 인터넷 연결이 가능해야 합니다. 스크립트에 의해 자동으로 다운 및 설치, 미러 리스트 사이트를 참조해야 하므로 만약 방화벽에 의해 차단되는 게 있으면 해외 국가 허용이 필요합니다.

    ▷ 모든 명령은 루트로 실행해야 합니다. 루트로 로그인하거나 "sudo"를 이용

     

    ▷ 약간의 위험을 감수하는 태도(백업 필수!!!)

    클라우드 서버 또는 가상화 서비스를 이용한다면 이미지 백업(스냅샷) 기능을 이용하는 게 좋음,

    테스트 환경

    1. 개인적인 클라우드 운영서버에서 테스트 (메인)

    참고로 이 서버는 이전에 테스트로 CentOS 8에서 CentOS 8 Stream으로 마이그레이션을 한 서버입니다.

    이것을 다시 Rocky로 변환하는 작업을 진행, 해당 업체의 클라우드는 dmidecode로 시스템 확인 시 [QEMU/KVM]라는 가상화 방식을 이용하는 것 같습니다. 변환 후 해당 가상화에서 제대로 재부팅이 되는지까지 테스트입니다.

     

    2. VMware Workstaion에서는 정상적으로 변환 확인


    STEP01 → 해외 방화벽 허용

    ※ 해당되지 않으면 다음 STEP으로 넘어갈 것, 편의상 일시적으로 모든 해외 IP를 허용합니다.



    STEP02 → 서버 업데이트

    [root@localhost ~]# dnf update

    ※ 패키지 업데이트는 물론 중요하지만 실서버를 운영 중이라면 하지 않는 것을 권고합니다. 처음 OS 설치 후 아무것도 없는 상태에서는 상관없지만 소스로 설치하였거나 커스텀이 되어 있다면 자동 업데이트에 의해 예상외 변수가 발생할 수 있습니다. 보안 때문에 꼭 해야 하는 상황이라면, 다음 STEP으로 넘어간 후 마이그레이션 이후에 필요한 패키지만 업데이트를 할 것

     

     

    STEP03 → 마이그레이션 도구(스크립트) 다운

    패턴 1.  Wget을 이용해 직접 가져오기

    [root@localhost ~]# dnf install -y wget  [없을 경우 패키지 설치]

     

    [root@localhost ~]# wget https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh

     

    [root@localhost ~]# ls -al | grep mig  [파일 확인]

    -rw-r--r--   1 root root   28338 Jul  5 13:21 migrate2rocky.sh


    패턴 2.
    Wget을 사용하지 못할 경우 직접 사이트에서 다운로드하여 서버에 업로드

    URL : https://github.com/rocky-linux/rocky-tools

     

     

    STEP04 → 변환하기(자동 진행)

    ▷실행하기 위한 권한 부여

    [root@localhost ~]# chmod +x migrate2rocky.sh

     

    [root@localhost ~]# ls -al | grep mig
    -rwxr-xr-x (x 실행 권한 확인)   1 root root   28338 Jul  5 13:21 migrate2rocky.sh


    ▷스크립트 실행[작업 시간 : 성능에 따라 약 20분~1시간 소요]

    [root@localhost ~]# ./migrate2rocky.sh -r  [r 옵션은 자동으로 설치하도록 진행]

     

    문제없이 진행이 완료되었을 경우

     

     

    STEP05 → 시스템 재시작 및 최종 변환 확인

    [root@localhost ~]# reboot

     

    ▷두 가지 방법으로 확인

    [root@localhost ~]# cat /etc/redhat-release

    [root@localhost ~]# hostnamectl

     

     

    STEP06

    서비스 구동 확인

    RPM(dnf/yum) 패키지만으로 메일서버 구축했던 서버라 크게 문제없이 구동되는 것을 확인

     

     

    마치며

    개인 클라우드 실서버까지 총 3번 정도 마이그레이션 작업을 했는데 문제없이 다 변환이 되었습니다. Rocky측에서 최대한 사용자 친환경적으로 개선을 하고 있기 때문에 일부 충돌이나 버그가 발생을 하더라도 피드백을 주면 빠르게 조치를 취하고 있습니다. 이것만 봐도 Redhat/CentOS에서 구동되었던 환경이라면 Rocky도 동일하게 호환 구동이 된다는 것을 잘 보여주고 있는 것 같습니다. 이후부터 오픈소스관련 설치는 Rocky Linux 위주로 진행하도록 하겠습니다.

    Designed by JB FACTORY