journalctl -p err
[sdX] Assuming drive cache: write through
각 하드 드라이브를 고려했을 때 X는 a
에서 까지입니다 f
. 이는 일반 하드 드라이브이며 Ubuntu는 VMWare에서 실행됩니다. Linux가 이에 대해 어떠한 가정도 하지 않고 오류로 표시하지 않도록 드라이브 캐시의 쓰기 모드를 사전 구성하려면 어떻게 해야 합니까? 나는 단지 원하지 않는다숨다이 오류 메시지는 Linux가 화면에 메시지를 보내지 못하게 할 수 있습니다. 나는 이러한 오류의 원인을 해결하고 싶습니다. 어떤 사람들은 이러한 오류가정상.
답변1
이 오류 메시지는 Linux 커널에서 발행됩니다. v5.0부터는 요청하신 기능이 없습니다. 따라서 이를 달성하는 방법에는 Linux 커널에 필요한 C 코드를 작성하는 것이 포함됩니다. :-).
관련 내용: Linux가 드라이브 또는 컨트롤러 모델에 특정 "특이점"이 있는 것으로 인식하는 경우 해당 문제는 어디에 있습니까?아니요이렇게 가정하는 것이 안전합니다. 그러면 여전히 메시지가 인쇄됩니다. 하지만 이 경우에는 오류로 표시되지 않습니다. 아래에 인용되고 링크된 소스 코드를 참조하세요.
데이터 무결성 측면에서 안전한 가정은 확실히 "연속 기록"보다는 "후기록"입니다. 즉, Linux에서는 필요하지 않을 때 캐시 플러시를 보내는 것이 그 반대 방법보다 더 안전해 보입니다. :-). Linux를 보다 안전한 가정으로 변경하면 어떤 단점이 있을지 잘 모르겠습니다. 그러나 빠른 웹 검색에 따르면 배터리 지원 캐시가 있고 이 캐시 정보를 제공할 수 없는 일부 RAID 컨트롤러의 성능이 저하될 수 있다고 생각됩니다.
b81478d82e38 제출:USB 캐시에 이상한 점이 있으면 [SCSI]가 WCE로 설정됩니다.
if (sdp->wce_default_on) {
sd_printk(KERN_NOTICE, sdkp, "Assuming drive cache: write back\n");
sdkp->WCE = 1;
} else {
sd_printk(KERN_ERR, sdkp, "Assuming drive cache: write through\n");
sdkp->WCE = 0;
}
SCSI 디스크가 VMware에 의해 에뮬레이트된다고 가정하면,이상적인해결책은 디스크를 더 효과적으로 에뮬레이션하고 가정 없이 모든 올바른 캐시 정보를 제공하는 가상화 소프트웨어를 사용하는 것입니다. :-).
이 오류 메시지와 관련하여 커널 개발자의 최근 인용문은 다음과 같습니다."캐시 모드 페이지를 구현하지 않는 기기는 이례적입니다.".