Debian 네트워크 부팅에서 Centos 커널을 다시 빌드합니다.

Debian 네트워크 부팅에서 Centos 커널을 다시 빌드합니다.

OVH 서버에서 Centos 7 시스템을 실행하고 하드 드라이브에서 부팅하고 있습니다. 커널 업데이트를 하고 모든 것이 잘 되는 것 같아 급하게 재부팅했습니다.

그러나 실제로는 그렇지 않습니다. 이전 커널이 제거되었을 뿐만 아니라 현재 커널(4.9.185-xxxx-std-ipv6-64)에도 initramfs가 없습니다. 부팅 시 grub은 존재하지 않는 오래된 커널(initramfs 4.9.184는 있지만 커널은 없음)을 찾고 시스템이 부팅되지 않습니다.

Grub은 실제로 루트(md/md2)를 포함한 파일 시스템을 볼 수 있습니다.

시스템은 LVM에서 RAID 어레이를 실행합니다. 다음 명령을 사용하여 OVH를 사용하여 커널 부팅을 복원하고, 드라이버를 마운트하고, chroot하고, 새 initramfs를 빌드해 보았습니다.

dracut --mdadmconf --lvmconf --kver 4.9.185-xxxx-std-ipv6-64

그런 다음 grub으로 부팅하고 다음 명령을 실행했습니다.

set root=(md/md2)
linux /boot/vmlinuz-4.9.185-xxxx-std-ipv6-64 root=/dev/md2
initrd /boot/initramfs-4.9.185-xxxx-std-ipv6-64
boot

또한 볼륨의 UUID를 루트 매개변수로 사용해 보았습니다(root=UUID=...)

두 경우 모두 부팅 프로세스가 최소 시스템으로 진행되지만 dev/md2를 찾을 수 없으며 dracut은 영원히 기다립니다.

OVH netboot 옵션으로 전환하여 시스템을 다시 사용할 수 있게 만들었습니다.

Linux {서버 이름} 4.9.182-xxxx-std-ipv6-64 #768030 SMP Tue Jun 18 08:30:59 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

4.9.185 커널용 initramfs를 빌드할 수 있는 방법이 있습니까? 아니면 기본적으로 디스크에서 부팅할 수 있는 상태로 되돌릴 수 있는 다른 방법이 있습니까?

현재 이 머신에는 12개의 다른 계정으로 1TB가 넘는 백업이 있으므로 제자리에 다시 구축할 수 없다면 큰 PITA가 될 것입니다. 데이터를 제거하고 데이터를 다시 빌드한 다음 데이터를 다시 가져와야 합니다. 그런 다음 충돌이 발생한 환경에서 재부팅을 허용하지 않는 바보 같은 스크립트를 작성해야 합니다.

관련 정보