커널을 올리고 재부팅했는데 화면이 멈춰 있으면 당황하게 됩니다. 다행히 리눅스는 이전 커널을 남겨 두므로 되돌릴 방법이 있습니다.
문제
재부팅 후 서비스가 올라오지 않으면 원격으로는 아무것도 할 수 없습니다.
- 부팅 도중 멈춰 SSH 접속이 되지 않음
- 스토리지 드라이버가 빠져 루트 볼륨을 못 찾음
- 네트워크 드라이버가 바뀌어 인터페이스 이름이 달라짐
- 원격 관리 포트가 없으면 현장에 가야 함
원인
새 커널이 기존 하드웨어나 추가 모듈과 맞지 않기 때문입니다. 특히 별도로 빌드한 드라이버가 있으면 자주 발생합니다.
- 직접 빌드한 모듈이 새 커널용으로 다시 빌드되지 않음
- 초기 램디스크에 필요한 드라이버가 포함되지 않음
- 부트로더 설정이 새 커널을 기본값으로 잡음
해결책
업데이트 전에 되돌릴 방법을 확보해 두는 것이 핵심입니다. 작업 자체는 몇 분이면 끝납니다.
- 부트 메뉴에서 이전 커널을 선택해 부팅
- 정상 부팅되면 부트로더 기본값을 이전 커널로 임시 고정
- 문제 커널은 제거하지 말고 원인을 확인한 뒤 정리
- 추가 모듈은 커널 갱신 시 자동 재빌드되도록 구성
- 업데이트 전에 스냅샷이나 백업을 확보
- 원격 관리 콘솔을 미리 연결해 두어 화면을 볼 수 있게 함
현장에서 확인할 것
- 부트 메뉴에 이전 커널이 남아 있는지
- 보관하는 커널 개수 설정
- 직접 빌드한 모듈이 있는지
- 원격 관리 콘솔로 부팅 화면을 볼 수 있는지
되돌릴 방법을 먼저 확보하면 커널 업데이트는 위험한 작업이 아닙니다.
