내 NAS는 zfs를 실행 중이며 때때로 정리됩니다.
실행되면 예상대로 모든 데이터를 읽지만 실행 중에 약간의 데이터도 씁니다(약 0.5%).
Device rkB/s wkB/s %util
sda 13628.80 69.60 58.04
sdb 13625.60 73.60 59.48
sdc 13625.60 70.80 58.96
sdd 13625.60 68.40 58.24
sde 13625.60 69.60 60.00
이는 이를 사용하는 다른 시스템에서 설명할 수 있습니다. 하지만 NAS를 사용하는 시스템은 없고, NAS에 접속하기 위해 서버에서 실행되는 사용자 프로세스도 없습니다. 또한 속도는 몇 시간 동안 일정하게 유지됩니다. 전체 읽기의 경우 4.5초, 쓰기의 경우 0.5초입니다. 그것은 고정된 리듬입니다. 4.5초간 침묵하고 DRRRDRRD처럼 보이는 글쓰기 소리가 이어집니다.
그런데 왜 이렇게 쓰여 있습니까?아무것손님도 없고 고칠 것도 없을 때?
내 생각에는 모든 데이터가 깨끗하고 일관되며 마지막 정리 이후 변경되지 않은 한 데이터를 쓸 필요가 없다는 것입니다.
답변1
그것은 대답도 아니고 해결책도 아니지만 문제를 더 작게 만듭니다.
다음을 사용하여 5초에서 30초까지 조정할 수 있습니다.
echo 30 > /sys/module/zfs/parameters/zfs_txg_timeout
왜 무언가가 쓰여지는지 아직 설명하지 않습니다. 내가 생각할 수 있는 유일한 방법은 전력이 끊기더라도 스크럽이 도착한 곳에서 계속될 수 있도록 진행 상황을 작성하는 것입니다. 그러나 이것은 일어날 가능성이 없는 많은 IO를 낭비하는 것처럼 보이며 단지 몇 초만 절약할 뿐입니다.
5초에서 60초로 변경하면 평균 IO가 16200에서 18000으로 증가하여 약 12% 개선되었습니다.