rootfs를 사용할 수 없을 때 Linux 기반 장치를 재부팅하는 방법은 무엇입니까?
소프트웨어 워치독만 사용할 수 있습니다.
문제는 rootfs가 슬레이브라는 것입니다 NFS
. NFS 서버를 중지하면 장치가 차단됩니다. 다시 시작하고 싶습니다. 이 목표를 어떻게 달성할 수 있나요?
즉, rootfs에 문제가 있습니다. 커널 수준에서 전체 시스템을 재설정할 수 있는 것이 있습니까? 열려 있거나 손상된 파일과 리소스에는 관심이 없습니다.
참고: 이 아키텍처에 대한 커널 소스 코드가 없습니다. 이 장치에는 헤드리스 장치가 있으며 모니터나 키보드가 연결되어 있지 않습니다. 루트 콘솔이 있습니다 agetty
( 에 정의되어 있음 /etc/inittab
).
답변1
물리적인 키보드가 연결되어 있는지는 말씀하지 않으셨는데, 그렇다면 그렇다면"마법의 SysRq 키"도움이 될 수도 있습니다. 당신의 경우에는
- Alt+ SysRq+ S디스크에 대한 긴급 동기화용
- Alt+ SysRq+ B지금 다시 시작
일을 해야 합니다. 이것이 작동하려면 이러한 키 조합을 비활성화하면 안 됩니다. /proc/sys/kernel/sysrq
허용되는 SysRq-Actions의 ORed 비트마스크 설정을 참조하세요(복사:여기):
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 이벤트만 제한하는 설정에 관계없이 작동합니다 .
답변2
onerror=panic
NFS 루트 파일 시스템에 대한 마운트 옵션이 필요한 것처럼 들리지만 NFS에서 작동하는지 확실하지 않습니다. NFS 특정 마운트 옵션을 사용하여 NFS 루트 파일 시스템을 마운트하여 soft
영원히 시도하는 대신 시간 초과되고 오류를 반환하도록 할 수도 있습니다.
노트:설치 soft
옵션으로 인해 파일이 손상되거나 데이터가 손실될 수 있지만 귀하의 의견에서는 이에 대해 신경 쓰지 않는다는 점을 분명히 밝혔습니다.
시도해 볼 가치가 있을까요?