CentOS 6.2 서버를 다시 시작한 후 다음 오류와 함께 커널 패닉이 발생합니다.
Kernel panic - not syncing: Attempted to kill init!
Panic occurred, switching back to text console
지나가는 시제초기화=옵션 selinux=0부팅 시 커널에 추가되면 서버가 문제 없이 시작됩니다. init=option이 수행하는 작업을 검색해 보았지만 이를 설명하는 리소스를 찾을 수 없습니다.
- 이 매개변수의 기능을 설명할 수 있는 사람이 있나요?
- 또한 이것은 프로덕션 서버이므로 init= 옵션을 사용하여 실행할 때 단점/위험이 있습니까?
initramfs
를 통해 다시 만들어 보았지만 dracut
작동하지 않았고 시작 시 위의 오류가 발생했습니다.
이것은 클러스터링된 서버이고 주 서버가 동일해야 하므로 /boot
다른 서버에서 드라이브를 복사했지만 문제가 해결되지 않았습니다. (다른 서버에는 이런 동작이 없습니다)
백업에서 복원해도 /boot
작동하지 않습니다.
이 문제를 조사하는 데 도움을 주실 수 있나요?
- 이 커널 패닉의 원인은 무엇입니까?
- 이 문제를 어떻게 해결하시겠습니까?
- 어떤 로그가 더 많은 정보를 제공합니까?
- 이전 설치이므로 업데이트/업그레이드하면 이 문제가 해결됩니까?
또한 발생할 수 있는 유일한 관련 문제는 RAID 미러의 루트 디스크에 오류가 발생하여 이러한 일이 발생하기 전에 교체되는 경우라는 점을 덧붙이고 싶습니다.
답변1
리눅스 커널에 따르면매개변수 문서화:
초기화=옵션
init= [KNL] Format: <full_path> Run specified binary instead of /sbin/init as init process.
selinux=0
selinux= [SELINUX] Disable or enable SELinux at boot time. Format: { "0" | "1" } See security/selinux/Kconfig help text. 0 -- disable. 1 -- enable. Default value is set via kernel config option. If enabled at boot time, /selinux/disable can be used later to disable prior to initial policy load.
따라서 이러한 매개변수를 사용하여 실행하면 selinux가 비활성화되고 option이라는 이름의 init 데몬이 로드됩니다. 따라서 이런 방식으로 실행해도 시스템 작동이 방해를 받아서는 안 되지만 selinux를 비활성화하면 보안 비용이 발생합니다. 그러나 실행하면초기화=옵션아니요selinux=0selinux가 init를 방해하지 않아야 하므로 정상적으로 부팅되어야 합니다. 문제를 해결하는 데 이유를 모르겠습니다./sbin/초기화충돌하지만옵션바이너리가 제대로 부팅되므로 다른 사람이 이 답변을 편집하여 수정 사항을 포함할 수도 있습니다.