Linux(저는 Ubuntu를 사용하고 있습니다)에서 외부 USB 드라이브에 대한 쓰기 캐시를 영구적으로 끄는 방법은 무엇입니까?
난 노력 했어:
명령줄 방법: hdparm -W0 /dev/sdb <---- 현재 드라이브에 대해서만 작동하며 재부팅 후 재설정됩니다.
hdparm "-k1" 플래그는 설정을 유지하도록 강제해야 하지만 다음과 같이 표시됩니다.
HDIO_SET_KEEPSETTINGS 실패: 잘못된 인수
HDIO_GET_KEEPSETTINGS 실패: 잘못된 인수
구성 파일 방법(영구적으로 수행하는 또 다른 방법인 것 같습니다) : 다음으로 제가 찾은 것은 /etc에 있는 "hdparm.conf" 파일을 수정하는 것이었습니다. 그러나 이를 위해서는 드라이브 문자 "sdb, sdc..." 등을 미리 알아야 하는 것 같습니다.
무슨 일이 있어도 모든 드라이브, 특히 모든 USB 외부 장치를 어떻게 담요로 덮을 수 있습니까?
핵심 문제는.. 이 USB 외장 드라이브를 연결할 순서를 잘 모르기 때문에 드라이브 문자가 변경되므로 "sdb"가 아닐 수도 있으므로 구체적으로 "sdb"라는 이름을 지정할 수는 없습니다. .
hdparm.conf가 연결되지 않은 드라이브 문자에 대해서도 여러 번 항목을 가질 수 있는 상황입니까? 이렇게 하면 어떤 드라이브가 연결되어 있더라도 write_cache가 선제적으로 꺼집니다. 아니면 뭔가 엉망이 될까요?
가능한/etc/hdparm.conf예(이것이 작동할까요?):
/dev/sda {
write_cache = off
}
/dev/sdb {
write_cache = off
}
/dev/sdc {
write_cache = off
}
/dev/sdd {
write_cache = off
}
다시 말하지만, 해당 드라이브는 아직 존재하지 않을 수도 있습니다. 알파벳 문자를 최대한 많이 포함하면 무슨 일이 있어도 write_cache가 꺼져 있습니다. 그래도 이보다 더 좋은 방법이 있을 것 같아요..
다른 아이디어가 있나요? 아니면 더 나은 접근 방식인가요? 감사합니다!
답변1
-K 옵션을 사용해야 합니다. 남자 hdparm에서
-k Get/set the "keep_settings_over_reset" flag for the drive. When this flag is set, the drive will preserve the -dmu settings
over a soft reset, (as done during the error recovery sequence). This option defaults to off, to prevent drive reset loops
which could be caused by combinations of -dmu settings. The -k option should therefore only be set after one has achieved
confidence in correct system operation with a chosen set of configuration settings. In practice, all that is typically nec‐
essary to test a configuration (prior to using -k) is to verify that the drive can be read/written, and that no error logs
(kernel messages) are generated in the process (look in /var/adm/messages on most systems).
-K Set the drive´s "keep_features_over_reset" flag. Setting this enables the drive to retain the settings for -APSWXZ over a
soft reset (as done during the error recovery sequence). Not all drives support this feature.