문제 발생
일하면서 커널 업데이트하고 왔는데 업데이트가 제대로 안되었는지 커널패닉이라는 처음 보는 오류를 보게 되었다.
[H[J[1;1H[H[J[1;1H Booting `Amazon Linux (6.1.109-118.189.amzn2023.x86_64) 2023'
error: ../../grub-core/fs/fshelp.c:257:file
`/boot/initramfs-6.1.109-118.189.amzn2023.x8
6_64.img' not found.
Press any key to continue...
[ 0.049101] Cannot get hvm parameter CONSOLE_EVTCHN (18): -22!
[ 0.234264] Cannot get hvm parameter CONSOLE_EVTCHN (18): -22!
[ 0.373694] /dev/root: Can't open blockdev
[ 0.374395] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[ 0.375625] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.1.109-118.189.amzn2023.x86_64 #1
[ 0.376838] Hardware name: Xen HVM domU, BIOS 4.11.amazon 08/24/2006
[ 0.377837] Call Trace:
[ 0.378683]
[ 0.379479] dump_stack_lvl+0x34/0x48
[ 0.380485] panic+0x107/0x2a7
[ 0.381418] mount_block_root+0x13f/0x1d9
[ 0.382469] prepare_namespace+0x13b/0x16a
[ 0.383529] kernel_init_freeable+0x171/0x196
[ 0.384630] ? rest_init+0xd0/0xd0
[ 0.385605] kernel_init+0x16/0x130
[ 0.386586] ret_from_fork+0x22/0x30
[ 0.387582]
[ 0.388421] Kernel Offset: disabled
이런 경우에는 재부팅을 해도 문제가 해결되지 않는다.
해결
해결방법 : 문제가 없는 새로운 ebs를 가져와서 마운트 후, 문제가 발생한 ebs를 마운트한 다음 커널을 다시 다운 받기
1. 문제가 발생한 인스턴스를 중지 후, 아래 사진과 같이 왼쪽의 도구창에서 볼륨에 들어간다.
- 문제가 발생한 인스턴스와 연결된 ebs 볼륨을 분리해준다.
- 새로운 ebs 볼륨을 루트 볼륨(/dev/xvda)으로 연결 후, 문제가 발생한 ebs를 연결한다. (바로 위 사진 참고)
4. 볼륨을 분리한 뒤, 새로운 ebs를 다시 연결해 주고 인스턴스를 실행한다.
5. 아래 명령어를 차례대로 입력한다.
sudo su
// "/dev/xvdf1" 이 부분은 마운트된 볼륨 하위 디렉터리와과 일치해야한다.(위 사진 참고)
mount -o nouuid /dev/xvdb1 /mnt
for i in dev proc sys run; do mount -o bind /$i /mnt/$i; done
chroot /mnt
dracut --force --verbose initramfs-<kernelVersion>.img <kernelVersion>
참고: 여기서 필자는 위에서 발생한 오류와 같이 "6.1.109-118.189.amzn2023.x86_64"에서 오류가 발생하였다.
따라서 아래와 같이 입력하였다.
dracut --force --verbose initramfs-6.1.109-118.189.amzn2023.x86_64.img 6.1.109-118.189.amzn2023.x86_64
위의 커맨드를 입력하면 아래와 같이 실행된다.
여기서 다운로드 받은 커널이 boot폴더에 있지 않은 경우가 있는데 이때는 boot폴더로 직접 커널을 옮겨줘야한다.
exit; umount -fl /mnt
위 작업이 전부 끝나면 인스턴스를 종료 후, ebs볼륨을 모두 분리한 다음 복구할 ebs를 다시 루트 볼륨인 (/dev/xvda)로 연결하면 문제가 해결된다.
참고 자료
https://repost.aws/knowledge-center/ec2-linux-kernel-panic-unable-mount
Troubleshoot kernel panic error after kernel upgrade or reboot on EC2 Linux instance | AWS re:Post
I want to learn how to troubleshoot and resolve the "kernel panic" error that occurs after upgrading the kernel or rebooting my Amazon Elastic Cloud Compute (Amazon EC2) Linux instance due to missi...
repost.aws
https://repost.aws/ko/knowledge-center/ec2-linux-kernel-panic-unable-mount
커널 업그레이드 또는 EC2 Linux 인스턴스 재부팅 후 ‘Kernel panic’ 오류 해결
커널 또는 시스템 업그레이드를 완료했거나 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 시스템을 재부팅했습니다. 이제 인스턴스가 부팅되지 않고 다음 메시지가 나타납니다. "VFS: Cannot open roo
repost.aws
'개발 > AWS' 카테고리의 다른 글
AWS Organizations (1) | 2024.11.15 |
---|---|
AWS ec2 ssh 접근(Iterm2) (0) | 2024.10.17 |
aws ec2 ebs 용량 문제 (0) | 2024.09.22 |
AWS) EBS 스토리지 공간 vs 볼륨 크기 (0) | 2024.08.05 |
AWS (0) | 2024.08.03 |