안녕하세요 달소입니다.
aaPanel을 접한 후 원활한 서버관리를 위해서 서버들을 Cent OS로 전환하고있는데요.
이전에 Ubuntu에서 사용하던 BBR 부터 Wireguard VPN등은 최신버전의 커널을 사용하기때문에
Cent OS 7 버전의 기본커널은 너무 구형인지라.. 커널버전을 업데이트하고자합니다.
EOS가 2024년 6월30일로 가장긴 Cent OS 7 2009 버전이 커널버전 3.10 입니다.
커널 업데이트용 레포지터리 등록하기.
사용할 레포지터리는 ELRepo로 Enterprise Linux 패키지용 RPM 저장소입니다. RHEL(Red Hat Enterprise Linux) 및 Scientific Linux, CentOS 등과 같은 파생 제품을 지원합니다. 아래 명령을 실행하여 CentOS 7에 ELRepo 저장소를 추가해주고 서명키를 가져옵니다.
rpm –import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
이제 설치할 커널버전을 확인해보겠습니다.
저는 롱텀버전인 lt를 사용했지만 메인라인을 사용하기 원하시는 분들은 ml 으로 변경해주시면됩니다.
*kernel-lt, ml 차이
sudo yum –disablerepo=”*” –enablerepo=”elrepo-kernel” list available | grep kernel-lt
이제 설치를 진행하겠습니다.
sudo yum –enablerepo=elrepo-kernel install kernel-lt
추가로 커널동작에 필요한 다른 패키지들도 설치해줍니다.
sudo yum -y --enablerepo=elrepo-kernel install kernel-lt-{devel,headers,perf}
이제 재부팅을 진행해보면 grub에서 커널을 선택하라고나옵니다.
선택 후 부팅해주면 5.4으로 정상변경된걸 확인하실 수 있습니다.
다만 여기서 또 리부팅을 하면 자동으로 3.1버전으로 부팅되기 때문에 부팅 우선순위를 변경해주겠습니다.
Grub 수정으로 커널 우선순위 설정하기
vi /etc/default/grub
타임아웃 아래에 GRUB_DEFAULT=0 으로 고정해줍니다.
그리고 아래 명령어로 컨피그 파일을 재생성 해주고 커널목록을 확인해보겠습니다.
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
grep ^menuentry /boot/grub2/grub.cfg | cut -d “‘” -f2
첫번째로 나온 5.4버전으로 default 값을 넣겠습니다.
grub2-set-default “CentOS Linux (5.4.130-1.el7.elrepo.x86_64) 7 (Core)”
그리고 다시 재부팅 reboot or init 6
이제 자동으로 5.4버전으로 잘 부팅되는걸 볼 수있습니다.[Reference] : 달소, 「서버포럼 – Cent OS 커널 최신버전으로 업데이트 하기.」 https://svrforum.com/?document_srl=49558&mid=svr&act=dispBoardContent.