하드 드라이브 회전 방지

하드 드라이브 회전 방지

나는 대부분의 시간 동안 유휴 상태인 웹 서버를 가지고 있습니다. 이로 인해 몇 분 후에 기본 하드 드라이브의 회전이 중지되고 다른 모든 하드 드라이브의 회전도 중지됩니다. 이는 시스템이 가능한 한 전력 효율적이기를 원하기 때문에 바람직한 동작입니다.

불행히도 기본 하드 드라이브는 몇 초 후에 다시 회전하여 하드 드라이브 메커니즘에 많은 마모를 초래합니다. 이는 아무도 웹 서버에 액세스하지 않더라도 24시간 내내 안정적으로 발생합니다. 드라이브의 회전 이벤트와 소스를 기록하는 방법이 있습니까?

자동 ramfs 캐시나 이와 유사한 것을 생성할 수 있습니까? 나는 이것이 반복적으로 액세스되는 동일한 파일이라고 추측합니다. 액세스된 파일이 복사되는 캐시로 메모리의 영역을 할당하여 디스크에서 가져올 필요가 없도록 하면 좋을 것입니다. 회전할 필요는 없습니다. 미리 감사드립니다!

답변1

fatrace이 목적을 위해 특별히 작성되었습니다. 파일 시스템의 파일에 대한 액세스를 모니터링합니다.

이것은 일반적으로 잘 작동합니다. 이론적으로 낮은 수준에서 작동하는 스토리지 소프트웨어(예: 블록 장치 또는 커널 내부에 직접 액세스)에 버그가 있을 수 있다는 점을 이해해야 합니다.

먼저 sync하드 드라이브를 유휴 상태로 두었지만... 수동으로 회전시켜야 합니다 hdparm. 그러면 fatrace에 표시된 대로 모든 디스크 활동이 쓰기 또는 캐시되지 않은 읽기로 인해 발생할 수 있습니다. 그렇지 않으면 읽기가 캐시되었는지 알기 어렵기 때문에 속도를 늦춰야 합니다. sudo를 사용하면 로그가 기록되므로 루트 쉘( sudo -i)을 열어서 sync, hdparm, fatrace를 실행하세요.

따라서 디스크에서 가져올 필요가 없으므로 디스크를 회전할 필요가 없습니다.

이는 (성능 측면에서) 좋은 아이디어이며 설명된 대로 기본적으로 구현됩니다. 이를 페이지 캐싱이라고 합니다.

그러나 로그 파일이나 데이터베이스에 자주 쓰는 것이 일반적이며, 이로 인해 설명하는 상황이 발생합니다.

답변2

이 답변이 마음에 들지 않을 수도 있지만 매우 간단한 해결책이 있습니다.

디스크를 SSD로 교체하세요.

활성 및 유휴 상태에서는 기존 하드 드라이브보다 전력 소비가 적고 유휴 상태에서 복구해도 기대 수명에 거의 영향을 미치지 않습니다.

문제의 디스크가 기본 디스크인 경우 이렇게 하면 시스템의 전반적인 성능도 향상될 가능성이 높습니다(또는 최소한 부팅 시간이 향상됩니다).

관련 정보