준호씨의 블로그

ubuntu OS 업그레이드. 18.04.1 LTS. 커널패닉시 /boot 영역 공간이 충분한지 확인. 본문

개발이야기/호스팅관리

ubuntu OS 업그레이드. 18.04.1 LTS. 커널패닉시 /boot 영역 공간이 충분한지 확인.

준호씨 2018. 8. 29. 00:15
반응형

고객센터 문의. 정상 커널로 부팅

호스팅 가상머신 OS 업그레이드 후 부팅 안되는 문의 답변에 다음 화면을 보내주셨다.

not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

아무튼 부팅 되는 커널로 부팅시켜 놨다고 한다.

접속 안됨. 다시 고객센터 문의. 네트워크 장치명 변경

그런데 여전히 안된다. 다시 문의 넣어 보니 네트워크 장치명이 바뀌어서 접속이 안되는 것이라고 하며 다시 조치를 취해 주었다.

ifconfig 해 보니 ens32 장치가 잡혀 있는 것이 보인다. 보통 eth0 같은것인데 좀 생소하다. 이전에는 뭐였는지는 모르겠다.

ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 115.71.237.125  netmask 255.255.255.0  broadcast 115.71.237.255
        inet6 fe80::20c:29ff:fedb:665  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:db:06:65  txqueuelen 1000  (Ethernet)
        RX packets 1400193  bytes 503802179 (503.8 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 83315  bytes 12014894 (12.0 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.237.125  netmask 255.255.0.0  broadcast 192.168.255.255
        inet6 fe80::20c:29ff:fedb:66f  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:db:06:6f  txqueuelen 1000  (Ethernet)
        RX packets 29289  bytes 2360549 (2.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8  bytes 648 (648.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

또 업그레이드?

또 업그레이드가 가능 하다는 문구가 보인다.

New release '18.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

음. 까짓거 한번 더 올리지 뭐.

이미 기존 아피치도 설정 오류라면서 안된다. 어차피 새로 깔거 OS 한번더 업그레이드 고고.

/boot 용량 부족

/boot 용량 부족이라 나온다. 아래 커맨드 입력하라고 하여 입력.

sudo apt autoremove

예전과 좀 달라 보이는 건 Progress 가 나오는점?

용량 부족으로 실패

gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-4.4.0-134-generic with 1.
dpkg: error processing package initramfs-tools (--configure):
 subprocess installed post-installation script returned error exit status 1
No apport report written because MaxReports is reached already
                                                              Errors were encountered while processing:
 linux-image-extra-4.4.0-134-generic
 linux-image-generic
 linux-generic
 linux-generic-lts-vivid
 initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)

/etc/initramfs-tools/initramfs.conf 에 COMPRESS=gzip 인걸 xz 로 변경해서 재시도

done

업그레이드 재시도. 또 용량 부족으로 실패.

안쓰는 /boot 이미지 삭제

일단 안쓰는 이미지를 좀 지워봐야 겠음.

root@junho85:~# dpkg --list | grep linux-image
rc  linux-image-3.13.0-100-generic       3.13.0-100.147                             amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-3.13.0-101-generic       3.13.0-101.148                             amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-3.13.0-103-generic       3.13.0-103.150                             amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-3.13.0-105-generic       3.13.0-105.152                             amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-3.13.0-52-generic        3.13.0-52.86                               amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-3.13.0-53-generic        3.13.0-53.89                               amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-3.13.0-54-generic        3.13.0-54.91                               amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-3.13.0-58-generic        3.13.0-58.97                               amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-3.13.0-59-generic        3.13.0-59.98                               amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-3.13.0-61-generic        3.13.0-61.100                              amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-3.13.0-62-generic        3.13.0-62.102                              amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-3.13.0-63-generic        3.13.0-63.103                              amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-3.13.0-70-generic        3.13.0-70.113                              amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-3.13.0-73-generic        3.13.0-73.116                              amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-3.19.0-39-generic        3.19.0-39.44~14.04.1                       amd64        Linux kernel image for version 3.19.0 on 64 bit x86 SMP
ii  linux-image-3.19.0-39-lowlatency     3.19.0-39.44~14.04.1                       amd64        Linux kernel image for version 3.19.0 on 64 bit x86 SMP
rc  linux-image-3.2.0-23-generic         3.2.0-23.36                                amd64        Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc  linux-image-3.2.0-52-generic         3.2.0-52.78                                amd64        Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc  linux-image-3.2.0-53-generic         3.2.0-53.81                                amd64        Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc  linux-image-3.2.0-54-generic         3.2.0-54.82                                amd64        Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc  linux-image-3.2.0-55-generic         3.2.0-55.85                                amd64        Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc  linux-image-3.2.0-56-generic         3.2.0-56.86                                amd64        Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc  linux-image-3.2.0-57-generic         3.2.0-57.87                                amd64        Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc  linux-image-3.2.0-58-generic         3.2.0-58.88                                amd64        Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc  linux-image-3.2.0-59-generic         3.2.0-59.90                                amd64        Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc  linux-image-3.2.0-69-generic         3.2.0-69.103                               amd64        Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc  linux-image-3.2.0-70-generic         3.2.0-70.105                               amd64        Linux kernel image for version 3.2.0 on 64 bit x86 SMP
ii  linux-image-3.2.0-72-generic         3.2.0-72.107                               amd64        Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc  linux-image-3.2.0-74-generic         3.2.0-74.109                               amd64        Linux kernel image for version 3.2.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-134-generic        4.4.0-134.160                              amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
rc  linux-image-extra-3.13.0-100-generic 3.13.0-100.147                             amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-extra-3.13.0-101-generic 3.13.0-101.148                             amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-extra-3.13.0-103-generic 3.13.0-103.150                             amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-extra-3.13.0-105-generic 3.13.0-105.152                             amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-extra-3.13.0-106-generic 3.13.0-106.153                             amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-extra-3.13.0-52-generic  3.13.0-52.86                               amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-extra-3.13.0-53-generic  3.13.0-53.89                               amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-extra-3.13.0-54-generic  3.13.0-54.91                               amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-extra-3.13.0-55-generic  3.13.0-55.92                               amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-extra-3.13.0-58-generic  3.13.0-58.97                               amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-extra-3.13.0-59-generic  3.13.0-59.98                               amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-extra-3.13.0-61-generic  3.13.0-61.100                              amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-extra-3.13.0-62-generic  3.13.0-62.102                              amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-extra-3.13.0-63-generic  3.13.0-63.103                              amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-extra-3.13.0-70-generic  3.13.0-70.113                              amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-extra-3.13.0-73-generic  3.13.0-73.116                              amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-134-generic  4.4.0-134.160                              amd64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-generic                  4.4.0.134.140                              amd64        Generic Linux kernel image

현재 커널이 3.19.0-39 이니까 이전 버전은 다 지운다.

sudo apt-get purge linux-image-3.13.0-100-generic
sudo apt-get purge linux-image-3.13.0-*-generic
sudo apt-get purge linux-image-extra-3.13.0-*-generic
sudo apt-get purge linux-image-3.2.0-*-generic

꽤나 용량이 확보 되었다.

root@junho85:~# df -h /boot
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       228M  122M   94M  57% /boot

업그레이드 재시도.

/boot 의 4.4.0-134 커널이미지도 다시 받아 오고 있는거 같음.

그러다가 4.15.0-33 도 받음.

아무튼 뭔가 주구장창 깔고 있다. ssh, apt 등의 설정을 기존걸 유지할지 새 버전으로 다시 덮어 쓸건지 물어 보는데 이번에는 그냥 다 새 버전으로 덮어 쓰라고 하고 있다.

재시작을 권장한다고? 두려운데;;

현재 /boot/grub/grub.cfg 설정은 4.15.0-33 으로 되어 있다.

menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-1f891622-9fba-4573-b5ae-36f6698b1b43' {
    recordfail
    load_video
    gfxmode $linux_gfx_mode
    insmod gzio
    if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos1'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  66bf87f7-791e-4d0b-a3c8-c277696fbef2
    else
      search --no-floppy --fs-uuid --set=root 66bf87f7-791e-4d0b-a3c8-c277696fbef2
    fi
        linux   /vmlinuz-4.15.0-33-generic root=/dev/mapper/servername-root ro
    initrd  /initrd.img-4.15.0-33-generic
}

/boot 파티션 용량은 52M 남아 있다.

root@junho85:/boot# df -h / /boot
Filesystem                   Size  Used Avail Use% Mounted on
/dev/mapper/servername-root   19G  6.4G   12G  36% /
/dev/sda1                    228M  165M   52M  77% /boot

재시작

대박! 성공 ㅠㅠ

Welcome to Ubuntu 16.04.5 LTS (GNU/Linux 3.19.0-39-lowlatency x86_64)
...
junho85@junho85:~$ uname -a
Linux junho85.vps.phps.kr 4.15.0-33-generic #36-Ubuntu SMP Wed Aug 15 16:00:05 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

정리

OS 나 커널 업그레이드 하고 나서 재부팅 했을 때 커널패닉의 주요 원인은 /boot 영역의 공간 부족이다. 불필요한 커널 이미지는 미리미리 정리 해 주도록 한다.

linux-image 확인

dpkg --list | grep linux-image

안쓰는 커널 이미지 제거

sudo apt-get purge linux-image-3.2.0-*-generic

OS 업그레이드 후 재시작 하면 이더넷 장치명이 바껴서 네트워크연결이 안되는 경우가 생기기도 한다.

참고

반응형
Comments