리눅스서버

CentOS 6에서 CentOS 7로 업그레이드하기

지난 2014년 7월 21일 CentOS 7이 출시되었다.

https://www.centos.org/


7에서는 기능과 성능에 큰 변화가 있었는 데.. 특히 네트워크 부분이 개선되어 속도면에서 차이를 보였다.


1.png

centos 6에 비해 네트워크 속도가 향상되었다. (빨라졌다.) 또한 자바의 성능도 개선되었다고 한다.


centos 7로 새로설치하기권장하지만, 부득이하게 그러지못한다면 아래의 과정처럼 업그레이드를 진행해본다. 업그레이드 과정중 어떠한 문제가 발생할지 모른다. 때문에 중요자료는 반드시 백업해두길 바란다.


당부하나 하자면 업그레이드 후 설치한 패키지들이 문제를 이르킬 수 있다. 이런 위험을 감수해야 업그레이드를 할 수 있다.


Step1. 패키지 최신화

업그레이드 부작용을 최소화하기 위해 패키지 업데이트를 진행한다. 업데이트후 재부팅도 해본다.


# yum update

# reboot



Step2. 버전체크

업그레이드 전의 centos 버전을 체크해본다.


# cat /etc/redhat-release

CentOS release 6.6 (Final)



Step3. 업그레이드 도구 다운로드

7로 업그레이드하기위해 관련된 여러도구들을 다운로드받아야한다.

http://dev.centos.org/centos/6/upg/x86_64/Packages/ 에 있는 파일들을 wget으로 다운로드한다. 파일이름에 적힌 버전을 봐서 최신걸로 받으면 좋다. 


* 같은 디렉토리에 전부 내려받는다. 예를 들어 download 디렉토리를 만들었다면 cd ./download 로 이동하여 다운로드하면 된다.


아래는 다운로드해야 할 필수 업그레이드 도구들이다.

  • preupgrade-assistant
  • preupgrade-assistant-contents
  • preupgrade-assistant-ui
  • redhat-upgrade-tool


예시) 시간이 지나면 아래의 링크들은 없어지거나 바뀔지모른다. 따라서 그저 예시로 보길 바란다.


# wget http://dev.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-1.0.2-36.0.1.el6.centos.x86_64.rpm

# wget http://dev.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-contents-0.5.14-1.el6.centos.noarch.rpm

# wget http://dev.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-ui-1.0.2-36.0.1.el6.centos.x86_64.rpm

# wget http://dev.centos.org/centos/6/upg/x86_64/Packages/redhat-upgrade-tool-0.7.22-3.el6.centos.noarch.rpm



Step4. preupgrade-assistant 설치

다운받은 preupgrade-assistant 를 설치한다. preupgrade-assistant는 업그레이드전 사전작업들을 수행해주는 도구다.

다운로드 파일이 있는 디렉토리로 이동후 아래 명령어를 실행한다.


# yum localinstall preupgrade-assistant-*



Step5. preupgrade-assistant 실행

preupgrade-assistant 설치완료후 실행하면 된다. 

실행하게 되면 여러 작업들을 하는 데.. 소요시간이 생각보다 길다. 중간에 SSH 세션이 끊기거나 전원이 꺼지지않도록 주의하길바란다.


# preupg


2.png


주절주절해놓고, 계속하꺼냐고 물으면 "y"라고 대답하면 된다.



Step6. 업그레이드 도구 설치

이제 업그레이드 도구를 설치하면 된다.


# yum localinstall redhat-upgrade-tool-*



Step7. RPM 서명 검증용 키 설치

centos7 rpm 파일들을 설치하기위해서는 RPM 서명 검증용 키를 설치해야 한다.


# rpm --import http://mirror.centos.org/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7



Step8. 업그레이드 실행!

드디어 업그레이드 준비작업들이 끝나고 실제로 업그레이드를 진행하게 되었다.


# redhat-upgrade-tool --network 7.0 --instrepo http://mirror.centos.org/centos/7/os/x86_64/


하지만 " preupgrade-assistant has not been run. " 이란 메시지가 나올 수도 있다. 이런 메시지가 나오면 당황하지말고, 아래처럼 "--force" 옵션을 붙혀서 실행하면 된다.


# redhat-upgrade-tool --network 7.0 --instrepo http://mirror.centos.org/centos/7/os/x86_64/ --force



3.png


이런 메세지가 나오다면 뭔가가 잘못된 것 같다. 원인은 나도 모르겠다. 파이썬 문제인가? 구글링해봐도 답이 없다. 결국 해결하지못한채 새로설치했다.


정상적으로 뜬다면 아래와 같이 뜬다.


6.png


업그레이드할꺼냐고 물으면 "y"라고 대답하면 된다.


4.png

5.png


한참을 지(?)혼자 작업을 한다. 마침내 작업이 완료되고, 재부팅하라고 뜬다.



Step9. 업그레이드 완료!

업그레이드 실행이 완료되면 재부팅 (reboot) 한다.


# reboot


재부팅후에는 서비스나 시스템을 점검해야 할 필요가 있다. 내 경우엔 네트워크 설정과 sshd 데몬이 동작하지못했다. 원격접속이 였는 데.. 그 원인으로 인해 접속할 수없었다. 결국 호스팅사에 도움을 요청했다. 


Atachment
첨부 6
?

서버에 요청 중입니다. 잠시만 기다려 주십시오...