우리 환경에서는 가끔 정전이 발생하여 ext4 파일 시스템을 사용하는 Ubuntu 시스템에서 데이터 손상을 일으키는 것으로 보입니다.
내가 아는 한, ext4의 기본 설정은 다음을 사용하는 것입니다.
data=ordered
이는 "메타데이터가 저널에 커밋되기 전에 모든 데이터가 기본 파일 시스템에 직접 강제 적용됩니다"라고 설명됩니다.
정전이 발생하고 디스크 쓰기가 중단되면 파일 시스템이 손상될 수 있다는 의미입니까?
정전으로 인한 파일 시스템 손상을 완전히 제거하고 싶다면 를 사용하면 될 것 같은데, data=journaled
성능에 미치는 영향 외에 부정적인 영향은 없나요?
보너스: 파일 시스템의 로그 유형을 다른 유형으로 변경하는 방법 data=ordered
. 로그를 수정해야 할 것 같은데 어떻게, 어떤 순서로 수정해야 하는지 잘 모르겠습니다.
Ubuntu(initramfs)에는 파일 시스템 복구 유틸리티가 없다는 점이 정말 짜증스럽습니다. 따라서 라이브 CD를 꺼내지 않아도 되도록 우리가 할 수 있는 일은 무엇이든 할 수 있습니다.
내 /etc/fstab
# /etc/fstab: 정적 파일 시스템 정보. # # 범용 고유 식별자를 인쇄하려면 'blkid -o value -s UUID'를 사용하세요. # 장치의 경우 보다 안정적인 이름 지정 방법으로 UUID=와 함께 사용할 수 있습니다. # 디스크를 추가하고 제거해도 작동하는 장치입니다. fstab(5)을 참조하십시오. # # proc /proc proc 기본값 0 0 # 설치 중 /는 /dev/sda1에 있습니다. UUID=9cd71f51-53bb-44c7-affa-14293e59d596/ext4 오류=reinstall-ro 0 1 # 설치 중 스왑은 /dev/sda5에 있습니다. UUID=5568cee1-a50b-4409-ad67-cdc5bfb592a3 스왑 sw 없음 0 0 /dev/scd0 /media/cdrom0 udf, iso9660 사용자, noauto, exec, utf8 0 0
운영 체제 버전
-bash-4.0# uname -a Linux LG-F3-19 2.6.31-14-서버 #48-Ubuntu SMP 금요일 10월 16일 15:07:34 UTC 2009 x86_64 GNU/Linux -bash-4.0# lsb_release -a 사용 가능한 LSB 모듈이 없습니다. 게시자 ID: 우분투 설명: Ubuntu 9.10 게시일: 9.10 코드네임: 카르마
실패 그림:https://i.stack.imgur.com/BMtlZ.jpg
인용하다: https://www.kernel.org/doc/Documentation/filesystems/ext4.txt http://www.ibm.com/developerworks/library/l-journaling-filesystems/
답변1
세 가지 데이터 저널링 모드 모두 정전 후에도 파일 시스템 자체를 그대로 유지해야 합니다. 따라서 항상 오류 없이 설치되어야 합니다. 차이점은 파일의 데이터에만 있습니다. data=writeback
스키마는 오래된 데이터(즉, 애플리케이션이 쓰기 전에 디스크 섹터에 저장된 데이터)를 남길 수 있습니다. data=ordered
그리고 data=journaled
그렇게 해서는 안 됩니다.
가장 가능성이 높은 것은 I/O 장벽이 설정에서 작동하지 않는다는 것입니다. 먼저 barrier=0
/ 를 사용하여 설치 하지 않았는지 확인하세요 nobarrier
. 이렇게 하면 성능이 향상되지만 정전 시 손상이 발생할 수 있습니다.
I/O 장벽이 열려 있으면 이를 지원하지 않는 스토리지 계층을 통과할 수도 있습니다. 이전 버전에서는 LVM이 그렇지 않았고 다양한 mdraid 레벨도 마찬가지였습니다. (이 문제는 Linux 2.6.33에서 수정되었습니다. 아직 Lucid를 실행 중인 경우에만 해당됩니다.)
마지막으로 디스크가 거짓말을 할 수도 있습니다. 디스크에 쓰기 캐시가 있습니다. 특히 NCQ는~해야 한다운영 체제는 실제로 데이터를 쓸 때만 데이터를 썼다는 말을 듣게 되지만, 우리 모두 알고 있듯이 데이터가 디스크의 쓰기 캐시에만 있을 때만 기록되었다는 사실을 운영 체제에 알립니다. 성능을 향상시킵니다. 적어도 전원이 켜져 있는 한. 디스크에서 쓰기 캐싱을 비활성화해 볼 수 있지만 그렇게 하면 성능이 저하됩니다.
또한 플래시 디스크는 뒤에서 수행해야 할 작업이 많고 그 중 상당수가 정전을 제대로 처리하지 못한다는 점에 유의하세요. (예를 들어 웨어 레벨링을 위해서는 때때로 플래시 데이터의 전체 블록을 이동해야 합니다. 도중에 전원이 끊기면 일부 플래시 디스크에서 나쁜 일이 발생할 수 있습니다.)
마지막으로...UPS 사용을 고려해 보셨나요?