서버를 운영하다 보면 보안 패치나 커널 업데이트는 꼭 필요하지만,
재부팅 없이 적용할 수 없을까? 하는 고민이 생기죠.
특히 24시간 중단되면 안 되는 서비스를 운영할 때는
한 번의 재부팅도 큰 리스크가 됩니다.
이럴 때 유용한 기능이 바로 Livepatch (라이브패치)입니다.
Livepatch가 무엇인지, 어떻게 적용하는지
Ubuntu와 Red Hat 계열 서버를 기준으로 살펴보겠습니다.
1. Livepatch란?
Livepatch는 커널을 재부팅하지 않고 보안 패치를 적용할 수 있게 해주는 기능입니다.
커널 코드의 일부분을 실시간으로 수정하여 시스템의 중단 없이 문제를 해결할 수 있죠.
현재 지원하는 대표적인 서비스는 다음과 같습니다:
- Canonical Livepatch – Ubuntu에서 제공
- kpatch – Red Hat, CentOS 등에서 사용
- kGraft – SUSE 계열에서 제공
2. Ubuntu에서 Livepatch 사용하기
Canonical에서 제공하는 공식 Livepatch 서비스를 사용하면 아주 간단합니다.
sudo snap install canonical-livepatch
sudo canonical-livepatch enable [토큰]
토큰은 ubuntu.com/livepatch 에서 Ubuntu 계정으로 로그인 후 받을 수 있습니다.
canonical-livepatch status
적용 여부를 확인할 수 있습니다.
⚠️ 참고: 무료로는 최대 3대까지 등록 가능하며, 서버는 LTS 버전이어야 합니다.
3. Red Hat 계열 (RHEL, CentOS)에서 kpatch 사용하기
Red Hat Enterprise Linux에서는 kpatch
라는 도구를 사용해 라이브 커널 패치를 적용할 수 있습니다.
설치 예시 (RHEL 8 이상):
sudo dnf install kpatch
sudo systemctl enable --now kpatch.service
Red Hat Customer Portal에서 패치 모듈을 받아 설치할 수 있습니다.
엔터프라이즈 고객에게는 공식 패치가 주기적으로 제공됩니다.
⚠️ 커널과 kpatch 버전의 호환성 확인이 중요합니다.
4. 라이브패치의 한계와 고려사항
- 모든 커널 업데이트를 Livepatch로 처리할 수 있는 것은 아닙니다.
- 보안 패치 중심으로 제한적인 커널 코드 변경만 허용됩니다.
- 완전한 커널 업그레이드가 필요한 경우에는 여전히 재부팅이 필요할 수 있습니다.
다운타임 없이 보안성 유지하기
Livepatch는 재부팅 없이 커널 보안 패치를 적용할 수 있는 강력한 기능입니다.
클라우드 환경이나 고가용성이 중요한 서버에서는 매우 유용하죠.
정리하자면:
- Ubuntu – Canonical Livepatch + Snap
- RHEL/CentOS – kpatch 서비스 활용
- 모든 경우 재부팅이 불필요한 건 아니지만, 가능하면 활용을 추천
적절한 모니터링과 함께 Livepatch를 적용하면
더 안정적이고 끊김 없는 서비스를 운영할 수 있습니다.
'개발 > 리눅스' 카테고리의 다른 글
[Linux] sudo 권한 부여 및 제한하기 (0) | 2025.06.27 |
---|---|
[Linux] 리눅스 사용자 추가/삭제하는 방법 (0) | 2025.06.26 |
[Linux] 부팅 시 자동 실행 설정 방법 (systemd 서비스 만들기) (0) | 2025.06.24 |
[Linux] journalctl 로그 조회하는 방법 (0) | 2025.06.23 |
[Linux] systemctl로 서비스 시작/중지/재시작 관리 (0) | 2025.05.18 |