데이터 스크러빙
Data scrubbing데이터 스크러빙은 백그라운드 작업을 사용하여 메인 메모리 또는 스토리지의 오류를 정기적으로 검사한 후 다른 체크섬 또는 데이터 복사본 형식의 중복 데이터를 사용하여 탐지된 오류를 수정하는 오류 수정 기술입니다.데이터 스크러빙은 수정 가능한 단일 오류가 누적될 가능성을 줄여 수정 불가능한 오류의 위험을 줄입니다.
데이터 무결성은 컴퓨터 운영 체제 및 컴퓨터 스토리지 및 데이터 전송 시스템에서 컴퓨터 데이터의 쓰기, 읽기, 저장, 전송 또는 처리에 있어 우선순위가 높은 문제입니다.그러나 현재 존재하는 파일 시스템 및 사용 중인 파일 시스템 중 일부만 데이터 [1][2][3]손상으로부터 충분한 보호를 제공합니다.
이 문제를 해결하기 위해 데이터 스크러빙은 데이터의 모든 불일치를 정기적으로 확인하고 일반적으로 하드웨어 또는 소프트웨어 장애를 방지합니다.이 "스크럽" 기능은 일반적으로 오류 검출 및 수정 메커니즘으로 메모리, 디스크 어레이, 파일 시스템 [4][5][6]또는 FPGA에서 발생합니다.
RAID
데이터 스크러빙을 사용하면 RAID 컨트롤러는 RAID 어레이의 모든 하드 디스크 드라이브를 정기적으로 읽고 장애가 있는 블록이 없는지 확인한 후 애플리케이션이 실제로 액세스할 수 있습니다.이를 통해 비트 수준 [7]오류로 인한 사일런트 데이터 손상 및 데이터 손실 가능성을 줄일 수 있습니다.
Dell PowerEdge RAID 환경에서는 "패트롤 읽기"라고 불리는 기능을 통해 데이터 스크러빙 및 예방적 [8]유지보수를 수행할 수 있습니다.
OpenBSD에서는bioctl(8)
시스템 관리자는 이 패트롤 판독을 제어하여BIOCPATROL
을 조작하다/dev/bio
유사 디바이스. 2019년 현재 이 기능은 LSI Logic 및 Dell 컨트롤러용 일부 디바이스 드라이버에서 지원됩니다.이러한 기능은 다음과 같습니다.mfi(4)
OpenBSD 5.8(2015) 이후 및mfii(4)
OpenBSD 6.4(2018년)[9][10] 이후.
FreeBSD 및 DragonFly BSD에서는 RAID 컨트롤러 고유의 유틸리티를 사용하여 패트롤을 제어할 수 있습니다.mfiutil(8)
FreeBSD 8.0(2009) 및 7.3(2010) 이후.[11]FreeB로부터의 구현SD는 별도의 컨트롤러 고유 유틸리티 없이 일반 바이오(4) 프레임워크와 바이오ctl 유틸리티에 순찰 지원을 추가하기 위해 OpenBSD 개발자에 의해 사용되었다.
2008년 NetBSD에서는 OpenB의 바이오(4) 프레임워크가SD는 무결성 검사 기능으로 확장되었으며, 이 기능은 다음과 같이 구현되었습니다./dev/bio
아래의 의사 장치BIOCSETSTATE
ioctl 명령어(start 및 stop 옵션 포함)BIOC_SSCHECKSTART_VOL
그리고.BIOC_SSCHECKSTOP_VOL
(각각); 이것은 2019년 현재 한 명의 드라이버에 의해서만 지원됩니다.arcmsr(4)
를 클릭합니다.[12]
Linux MD RAID 는, 소프트웨어 RAID 의 실장으로서 데이터의 정합성 검사를 가능하게 해, 검출된 데이터의 부정합에 대한 자동 수복을 제공합니다.이러한 순서는 보통 매주 cron 작업을 설정함으로써 수행됩니다.유지보수는 검사된 각 MD 디바이스에 대해 동작 체크, 복구 또는 아이돌을 발행함으로써 수행됩니다.수행된 모든 작업의 상태와 일반적인 RAID 상태를 항상 확인할 [13][14][15]수 있습니다.
파일 시스템
Btrfs
Linux용 Copy-on-Write(CoW) 파일 시스템으로서 Btrfs는 장애 분리, 손상 감지 및 수정, 파일 시스템 스크러빙 기능을 제공합니다.파일 시스템은 블록 읽기 중에 체크섬 불일치를 검출하면 내부 미러링 또는 RAID 기술이 사용 [16]중인 경우 먼저 다른 디바이스에서 이 블록의 양호한 복사본을 가져오거나 만듭니다.
Btrfs는 백그라운드에서 실행되는 파일 시스템 스크럽 작업을 트리거하여 파일 시스템 전체의 온라인 검사를 시작할 수 있습니다.스크럽 작업은 전체 파일 시스템의 무결성을 검사하고 [17][18]도중에 발견된 불량 블록을 자동으로 보고 및 복구하려고 시도합니다.
ZFS
복합 파일 시스템 및 논리 볼륨 매니저인 ZFS의 기능에는 데이터 손상 모드 검증, 지속적인 무결성 검사 및 자동 복구가 포함됩니다.Sun Microsystems는 처음부터 데이터 무결성에 중점을 두고 Disk 펌웨어 버그 및 고스트 쓰기 등의 문제로부터 Disk의 [failed verification][19]데이터를 보호하기 위해 ZFS를 설계했습니다.
ZFS는 다음과 같은 복구 유틸리티를 제공합니다.scrub
데이터 부패 및 기타 문제로 인한 사일런트 데이터 손상을 검사하고 복구합니다.
기억
현대 컴퓨터 메모리 칩의 높은 집적 밀도로 인해 개별 메모리 셀 구조는 우주선 및/또는 알파 입자 방출에 취약할 정도로 작아졌습니다.이러한 현상에 의해 발생하는 오류를 소프트 에러라고 합니다.이는 DRAM 기반 및 SRAM 기반 메모리에서 문제가 될 수 있습니다.
메모리 스크러빙은 ECC 메모리, 기타 데이터 복사 또는 기타 오류 수정 코드를 사용하여 컴퓨터 RAM의 비트 오류를 검출하고 수정합니다.
FPGA
스크럽은 FPGA를 재프로그래밍하기 위해 사용되는 기술입니다.Configuration 비트스트림에서 오류를 찾을 필요 없이 오류가 누적되지 않도록 정기적으로 사용할 수 있으므로 설계가 단순해집니다.
단순히 FPGA를 재프로그래밍하는 것부터 부분적인 재설정까지 스크러빙에 관해 많은 접근방식을 취할 수 있습니다.가장 간단한 스크러빙 방법은 일정한 주기적인 속도(일반적으로 계산된 업라이트 1/10)로 FPGA를 완전히 재프로그래밍하는 것입니다.단, 이 재프로그래밍 시간(마이크로초에서 밀리초) 중에는 FPGA가 동작하지 않습니다.이러한 유형의 중단을 허용할 수 없는 상황에서는 부분 재구성을 사용할 수 있습니다.이 기술을 사용하면 FPGA가 작동 [20]중일 때 다시 프로그래밍할 수 있습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ "Checking ZFS File System Integrity". Oracle Solaris ZFS Administration Guide. Oracle. Archived from the original on 31 January 2013. Retrieved 25 November 2012.
- ^ Vijayan Prabhakaran (2006). "IRON FILE SYSTEMS" (PDF). Doctor of Philosophy in Computer Sciences. University of Wisconsin-Madison. Archived (PDF) from the original on 29 April 2011. Retrieved 9 June 2012.
- ^ Andrew Krioukov; Lakshmi N. Bairavasundaram; Garth R. Goodson; Kiran Srinivasan; Randy Thelen; Andrea C. Arpaci-Dusseau; Remzi H. Arpaci-Dusseau (2008). "Parity Lost and Parity Regained". In Mary Baker; Erik Riedel (eds.). FAST'08: Proceedings of the 6th USENIX Conference on File and Storage Technologies. Archived from the original on 2020-08-26. Retrieved 2021-05-28.
- ^ "An Analysis of Data Corruption in the Storage Stack" (PDF). Archived (PDF) from the original on 2010-06-15. Retrieved 2012-11-26.
- ^ "Impact of Disk Corruption on Open-Source DBMS" (PDF). Archived (PDF) from the original on 2010-06-15. Retrieved 2012-11-26.
- ^ "Baarf.com". Baarf.com. Archived from the original on November 5, 2011. Retrieved November 4, 2011.
- ^ 울프 트로펜스, 볼프강 뮐러-프리트, 레이너 에르켄스, 레이너 울라프카, 닐스 하우스테인스토리지 네트워크 설명:파이버 채널 SAN, NAS, iSCSI, InfiniBand 및 FCoE의 기본 및 응용 프로그램.John Wiley and Sons, 2009 페이지 39
- ^ "About PERC 6 and CERC 6i Controllers". Archived from the original on 2013-05-29. Retrieved 2013-06-20.
The Patrol Read feature is designed as a preventative measure to ensure physical disk health and data integrity. Patrol Read scans for and resolves potential problems on configured physical disks.
- ^ "/sys/dev/ic/mfi.c — LSI Logic & Dell MegaRAID SAS RAID controller". BSD Cross Reference. OpenBSD.
- ^ "/sys/dev/pci/mfii.c — LSI Logic MegaRAID SAS Fusion RAID controller". BSD Cross Reference. OpenBSD.
- ^ "mfiutil — Utility for managing LSI MegaRAID SAS controllers". BSD Cross Reference. FreeBSD.
- "mfiutil -- Utility for managing LSI MegaRAID SAS controllers". FreeBSD Manual Pages.
- ^ "sys/dev/pci/arcmsr.c — Areca Technology Corporation SATA/SAS RAID controller". BSD Cross Reference. NetBSD.
- ^ "RAID Administration". kernel.org. Archived from the original on 2013-09-21. Retrieved 2013-09-20.
- ^ "Software RAID and LVM: Data scrubbing". archlinux.org. Archived from the original on 2013-09-21. Retrieved 2013-09-20.
- ^ "Linux kernel documentation: Documentation/md.txt". kernel.org. Archived from the original on 2013-09-21. Retrieved 2013-09-20.
- ^ "btrfs Wiki: Features". The btrfs Project. Archived from the original on 2012-04-25. Retrieved 2013-09-20.
- ^ Bierman, Margaret; Grimmer, Lenz (August 2012). "How I Use the Advanced Capabilities of Btrfs". Archived from the original on 2014-01-02. Retrieved 2013-09-20.
- ^ Coekaerts, Wim (2011-09-28). "btrfs scrub – go fix corruptions with mirror copies please!". Archived from the original on 2013-09-21. Retrieved 2013-09-20.
- ^ Bonwick, Jeff (2005-12-08). "ZFS End-to-End Data Integrity". Archived from the original on 2017-05-06. Retrieved 2013-09-19.
- ^ "Xcell journal, issue 50" (PDF). FPGAs on Mars. Xilinx. 2004. p. 9. Archived (PDF) from the original on 2019-08-30. Retrieved 2013-10-16.