rootwait / rootdelay의 요점은 무엇입니까?


23

rootwait그리고 rootdelay이 검출 asynchroneously 또는 USB를 통해 장착 않다면 파일 시스템은, 예를 들면, 즉시 사용 가능하지 않을 때의 상황에서 사용된다. 문제는 그것이 root경우인지 아닌지 bootarg를 기반으로 분명해야 하므로 커널이 파일 시스템이 나타날 때까지 기다려야한다는 것을 자동으로 알 수없는 이유는 무엇입니까? 이 자동화가 구현되지 못하게하는 기술적 제약이 있습니까?


1
커널이 파일 시스템이 나타날 때까지 기다린다고 생각합니다. 문제는 파티션 테이블을 읽은 후에도 드라이버를 초기화하는 데 시간이 필요하기 때문에 표시되는 즉시 마운트 할 수 없다는 것입니다.
vikraman

1
루트 bootarg에서 왜 분명합니까? 그것이 /dev/sda1USB 장치이고 어떻게 기다려야하는지 또는 /dev/sda1스캔 해야하는 scsi 시스템에 있는지 어떻게 알 수 있습니까?
Ulrich Dangel

1
라즈베리 파이에서 기다리지 않으면 루트를 마운트하지 못할 수 있습니다. 느린 카드를 제 시간에 초기화하기에 장치가 빠르지 않기 때문입니다.
Tamara Wijsman

답변:


21

때로는 OS가 느리거나 완전히 호스가없는 주변 장치와 느리게 반응하는 주변 장치를 구별 할 수 없습니다. 가장 명백한 예는 느린 네트워크 링크 또는 과부하 된 서버가 손상된 네트워크 링크 또는 손상된 서버와 구별하기 어려운 네트워크 (TFTP, NFS)에서 오는 루트 파일 시스템입니다. 타임 아웃은 커널에게 포기시기를 알려줍니다.

이 문제는 스핀 속도가 느린 디스크, 확인이 필요한 RAID 어레이 등에서도 발생할 수 있습니다. rootdelay장치를 사용할 수없는 경우 커널이 즉시 포기하지 않도록 지시합니다. 커널은 SCSI 드라이브가 로컬 디스크인지 또는 어떤 종류의 RAID 베이인지 알 수 없습니다.

rootwait무기한 대기하도록 제공됩니다. 항상 바람직하지는 않습니다. 예를 들어, 정상적인 파일 시스템이 응답하는 데 시간이 너무 오래 걸리면 시스템이 다른 루트 파일 시스템으로 되돌아 가기를 원할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.