rootfs를 사용할 수 없을 때 Linux 재부팅
rootfs를 사용할 수 없게되면 Linux 기반 장치를 재부팅하려면 어떻게해야합니까?
소프트웨어 감시 만 사용할 수 있습니다.
문제는 rootfs가 NFS. NFS 서버를 중지하면 장치가 차단됩니다. 그래도 재부팅을 원합니다. 이것을 어떻게 할 수 있습니까?
즉 : 문제가있는 rootfs가 있습니다. 커널 수준에 전체 시스템을 재설정 할 수있는 것이 있습니까? 열리거나 손상된 파일과 리소스는 신경 쓰지 않습니다.
참고 :이 아키텍처에 대한 커널 소스가 없습니다. 장치는 헤드리스이며 모니터 또는 키보드가 연결되어 있지 않습니다. agetty(에 정의 됨 /etc/inittab) 이있는 루트 콘솔이 있습니다 .
답변
물리적 키보드가 연결되어 있는지 여부는 명시하지 않았지만 연결하면 "Magic SysRq Keys" 가 도움이 될 수 있습니다. 귀하의 경우
- Alt+ SysRq+ S긴급 디스크 동기화 및
- Alt+ SysRq+ B즉시 재부팅
일을해야합니다. 이 작업을 수행하려면 이러한 키 조합을 비활성화하지 않아야합니다. /proc/sys/kernel/sysrq허용 된 SysRq-Actions의 OR 된 비트 마스크 ( 여기 에서 재현) 설정을 참조하십시오 .
2 = 0x2 - enable control of console logging level
4 = 0x4 - enable control of keyboard (SAK, unraw)
8 = 0x8 - enable debugging dumps of processes etc.
16 = 0x10 - enable sync command
32 = 0x20 - enable remount read-only
64 = 0x40 - enable signalling of processes (term, kill, oom-kill)
128 = 0x80 - allow reboot/poweroff
256 = 0x100 - allow nicing of all RT tasks
다음과 같이 작성하여 쉘 스크립트 / 프로그램에서이를 트리거 할 수도 있습니다 /proc/sysrq-trigger.
echo "b" > /proc/sysrq-trigger
이것은 /proc/sys/kernel/sysrq키보드로 인한 SysRq 이벤트 만 제한 하는 설정이 무엇이든 상관없이 작동 합니다.
onerror=panicNFS 루트 파일 시스템에 대한 마운트 옵션이 필요한 것처럼 들리지만 NFS에서 작동하는지 확실하지 않습니다. 또한 NFS 관련 마운트 옵션을 사용하여 NFS 루트 파일 시스템을 마운트해야 할 수도 있습니다. 그러면 soft영원히 재 시도하는 대신 시간이 초과되고 오류가 반환됩니다.
참고 :soft 마운트 옵션은 파일 손상 및 / 또는 데이터 손실이 발생할 수 있지만, 코멘트에 특별히 당신이 그것에 대해 걱정하지 않는다 고 말했다.
시도해 볼 가치가 있습니까?