데이터 손실이나 손상을 최소화하기 위해 ext3 파일 시스템에 어떤 마운트 옵션이 사용됩니까?

데이터 손실이나 손상을 최소화하기 위해 ext3 파일 시스템에 어떤 마운트 옵션이 사용됩니까?

initramfs를 루트 파일 시스템으로 사용하고 컴팩트 플래시 IDE 드라이브에 사용자 정의 ext3 파티션을 마운트한 임베디드 설정이 있습니다. 정전 시 데이터 무결성이 전체 설정에서 가장 중요한 요소이므로 다음 옵션을 사용하여 설치했습니다(아래는 /etc/fstab내 파일의 항목 입니다).

<file system> <mount pt> <type> <options>                         <dump><pass>
/dev/sda2     /data      ext3   auto,exec,relatime,sync,barrier=1 0     2

온라인에서 읽다가 이러한 옵션을 찾았습니다. 내 관심사는 /proc/mounts다음과 같다는 것입니다.

/dev/sda2 /data ext3 rw,sync,relatime,errors=continue,user_xattr,acl,
barrier=1,data=writeback 0 0

여기저기 읽어본 결과 data=journal데이터 손상에 대한 최상의 보호를 제공하는 설치 옵션을 사용하고 싶습니다. 그러나 특정 ext3 옵션에 대한 매뉴얼 페이지에서 mount쓰기 저장 옵션은 다음과 같이 설명됩니다.

데이터 순서는 유지되지 않습니다. - 메타데이터가 로그에 커밋된 후 데이터가 기본 파일 시스템에 기록될 수 있습니다.
이는 처리량이 가장 높은 옵션이라는 소문이 있습니다.내부 파일 시스템의 무결성을 보장합니다., 그러나 충돌 및 로그 복구 후에 파일에 오래된 데이터가 나타날 수 있습니다.

나는 이것에 대해 매우 혼란 스럽습니다. 매뉴얼 페이지는 파일 시스템 무결성을 위해 data=writeback옵션을 지정하고 싶다고 제안하는 것 같지만 mount내가 찾은 대부분의 다른 참조 (임베디드 Linux에 출판 된 일부 책 포함)는 What's the를 사용해야한다고 제안합니다 data=journal. 가장 좋은 방법은? 쓰기 속도는 전혀 문제가 되지 않습니다. 데이터 무결성이 문제입니다.

답변1

writeback단순히 사실을 언급 함으로써 오해하지 마십시오 internal filesystem integrity. 또는 사용 여부 에
관계없이 파일 시스템 메타데이터는 항상ext3journalorderedwriteback다이어리이는 내부 파일 시스템 무결성을 의미합니다.

이것데이터 스키마통제할 수 있는 방법을 제공정상데이터는 파일 시스템에 기록됩니다. 모드
에서는writeback메타데이터 변경 사항은 먼저 로그에 기록되고 커밋 블록에 기록됩니다. 로그가 업데이트된 후에도 메타데이터 및 데이터 쓰기를 계속할 수 있습니다. data=writeback 심각한 보안 위험을 초래할 수 있습니다. 파일에 추가하는 동안 시스템이 충돌하는 경우, 메타데이터가 커밋된 후(및 추가 데이터 블록이 할당됨) 데이터가 기록되기 전(새 데이터로 데이터 블록을 덮어쓰기), 로그 파일 복구에는 모든 사용자가 이전에 삭제한 파일의 데이터로 채워진 블록이 포함될 수 있습니다.1.

따라서 데이터 무결성이 주요 관심사이고 속도가 중요하지 않은 경우 data=journal이것이 올바른 선택입니다.

답변2

이미 알고 있듯이 요점은 다양한 충돌로부터 파일 시스템을 보호할 수 없다는 것입니다.

당신은 무엇을 할 수 있나요:

  1. 소프트웨어 측면에서 사용할 수 있습니다데이터 쓰기중요한 작업이 끝날 때마다(참조이 게시물은 2003년에 작성되었습니다.Theodore T'so는 Linux FS 커널의 수석 개발자입니다. 이것은 여전히 ​​사실입니다. 게다가이것이전 버전의 ext4에 숨겨진 상당한 데이터 손실에 대해)
  2. 커밋 간격을 1초로 줄입니다(제출=1) (바라보다이 기사ext4에 관한 내용이지만 ext3에 대한 매우 유용한 정보가 포함된 LWN에서. 참고: 필요하지 않습니다.동기화.
  3. Sim이 RHEL 문서에서 지적했듯이 *data_err=abort*를 사용하고데이터=정렬됨
  4. 노아템파일 시스템에서 불필요한 작업을 줄입니다.
  5. 당신이 알아차렸듯이,장벽=1데이터 손실을 최소화하는 좋은 방법입니다(참조:이 게시물)
  6. 그리고동기화물론 이것은 "내 데이터를 잃고 싶지 않습니다" 옵션 중 하나이기도 합니다.

마지막으로 편집증적인 설치 옵션은 다음과 같습니다.

auto,exec,relatime,sync,barrier=1,commit=1,data=ordered,data_err=abort,noatime,

부팅할 때마다 자동 fsck를 사용하여 데이터 무결성을 보장할 수도 있습니다.

답변3

강조하는 매뉴얼 페이지 부분을 변경해 보십시오.

다시 쓰기

데이터 순서를 유지하지 않습니다- 메타데이터가 저널에 커밋된 후 데이터를 기본 파일 시스템에 쓸 수 있습니다. 이는 처리량이 가장 높은 옵션이라는 소문이 있습니다. 내부 파일 시스템의 무결성을 보장하며,그러나 충돌 및 로그 복구 후에 파일에 오래된 데이터가 나타날 수 있습니다.

don_crissti가 지적했듯이 다른 패턴에는 "but"가 없습니다.

관련 정보