플래시 메모리에는 쓰기 횟수가 제한되어 있으므로 운영 체제가 장기적으로 안정적으로 실행될 수 있도록 플래시 미디어에 Linux 시스템을 설치하려면 어떤 조정이 필요합니까?
플래시 설치의 몇 가지 예로는 Linux 이미지를 무선 라우터의 플래시 메모리에 굽기, SD 카드를 하드 드라이브로 사용하여 상자에 Linux 배포판 설치 등이 있습니다.
또한 이미 이러한 조정을 구현했을 수 있는 무선 라우터 펌웨어(OpenWRT, DD-WRT 등) 외에 이러한 조정을 수행하거나 옵션으로 사용할 수 있는 일반 배포판이 있습니까?
답변1
/tmp
디렉토리는 /var
많은 시스템 프로그램이 자주 작성하고 쓰기 가능성에 의존하는 디렉토리입니다. 이러한 디렉터리에 대한 쓰기를 최소화하거나 이러한 디렉터리를 교체 가능한 외부 저장소(온보드 플래시가 아닌)에 마운트하도록 Linux를 구성하면 목표 달성에 큰 도움이 됩니다.
/home
스왑 파티션도 같은 방식으로 처리되어야 합니다.
rsyslogd
Debian 및 많은 Debian 파생 배포판의 기본 syslogd는 로그를 디스크에 기록하지 않고 대신 네트워크 연결을 통해 전달하며 내부 버퍼가 가득 찼을 때만 스토리지에 로그를 기록합니다. 이것을 구현하면(현재 좋은 방법으로 수행하는 방법을 알아내려고 노력하고 있습니다) 많은 플래시 쓰기를 제거할 수 있습니다.
또한 파일 시스템을 마운트할 때 noatime
Linux가 터치하는 모든 파일의 액세스 시간을 업데이트하지 못하도록 하는 옵션을 사용하고 싶을 것입니다. 이는 또한 대규모 쓰기를 제거하고 성능 속도를 높일 수 있습니다. sync
Linux 자동 호출 사이의 시간을 제어하는 커널 매개변수도 있는 것 같습니다 . 시스템에서 갑작스러운 정전이 발생하지 않을 것으로 예상되는 경우 기본값인 5초보다 더 높은 값으로 설정할 수 있습니다.
답변2
플래시 메모리에는 궁극적으로 쓰기로 인해 발생하는 삭제 주기 수가 제한되어 있다고 말하는 것이 더 적절할 것입니다. 이 구별에 관한 좋은 기사가 많이 있습니다.
Linux 이미지를 라우터 펌웨어에 굽는다고 언급했다면 이는 아마도 NOR 플래시 또는 EEProm일 것입니다. NOR는 읽기 속도가 빠른 플래시 메모리 유형이고, NAND는 쓰기 속도가 빠른 플래시 메모리 유형입니다.
ext3에서 로그는 가장 자주 기록되는 파일이며 이러한 쓰기는 결국 한 블록을 채우고 다른 블록은 지워지게 됩니다. 마운트에 더 큰 값을 설정하면 commit=
이러한 로그 쓰기가 더 큰 청크로 수집됩니다.
마지막으로, 다른 솔루션에 대한 대응으로 noatime
영향을 줄이기 위한 설치가 표준 관행입니다.