외부 EXT4 드라이브(1xHDD)에 비트맵을 넣었는데, RAID10 어레이에서 데이터가 변경될 때마다 파일도 기록되도록 하고 싶습니다. 그렇죠?
비트맵 파일을 체크섬까지 했는데 확실히 변경되지 않았습니다.
파일 크기는 2KB에 불과합니다(비트맵 블록 크기는 64MB로 설정됨).
- 어레이를 중지했다가 시작해도 변경 사항이 없으며 파일에 쓰지도 않습니다.
- 어레이가 시작될 때 파일에 액세스할 수 없으면 오류 메시지가 표시되지만
mdadm: Could not open bitmap file /mnt/1xHDD/R10_bitmap.dat
괜찮습니다 .
mdadm 프로세스 상태 cat /proc/mdstat
:
어레이 세부정보 mdadm --detail /dev/md127
:
비트맵 파일 확인mdadm -X /mnt/1xHDD/R10_bitmap.dat
Filename : /mnt/1xHDD/R10_bitmap.dat
Magic : 6d746962
Version : 4
UUID : 39f863d1:4d247162:c3672454:1765abe2
Events : 2914
Events Cleared : 2914
State : OK
Chunksize : 64 MB
Daemon : 5s flush period
Write Mode : Normal
Sync Size : 624877568 (595.93 GiB 639.87 GB)
Bitmap : 9535 bits (chunks), 0 dirty (0.0%)
내 mdadm.conf의 내용:
HOMEHOST <system>
MAILADDR root
ARRAY /dev/md/SRV01:R10_HDD metadata=1.2 bitmap=/mnt/1xHDD/R10_bitmap.dat name=SRV01:R10_HDD UUID=39f863d1:4d247162:c3672454:1765abe2
그런데 비트맵 파일을 단일 하드 드라이브에 배치하는 것에 대한 의견이 있으십니까? 이름을 바꾸려고 하면 배열이 문제 없이 계속됩니다. 그러나 mdadm --details...
비트맵에 삭제되었음을 알리는 경우도 있습니다.
추가 참고 사항: 외부 비트맵으로 전환한 후 이 RAID10 어레이에서 쓰기 성능이 135MB/s에서 370MB/s로 향상되었습니다! (직접 IO 사용, 즉 페이지 캐시가 사용되지 않음)
답변1
결국 외부 비트맵 파일이 작동할 수 있을 것 같습니다.
Stephen Kitt가 주석에서 지적한 것처럼, 특히 큰 비트맵 타일 크기를 사용하는 경우 파일이 매우 작은 경우가 많습니다. (나는 그것이 훨씬 더 클 것이라고 예상했다).
비트맵 파일의 변경 사항을 관찰하지 못하는 이유는 EXT4 옵션 noatime
(수정된 날짜 시간을 업데이트하지 않음)을 사용하여 파일 시스템을 마운트했다는 사실을 잊어버렸고 파일을 MD5 체크섬할 때 배열이 시간 동기화되어 있기 때문입니다. , 따라서 다양성이 없습니다.
둘째, "안전하지 않은" 1x 드라이브에 외부 비트맵을 배치하는 경우의 안정성/위험과 관련하여
런타임 시 비트맵 파일이 있는 드라이브를 종료해도 실행 중이거나 영향을 받는 어레이가 불안정해지지 않습니다. mdadm은 단순히 비트맵 파일이 "삭제"되었다고 보고하지만 배열은 계속해서 정상적으로 작동합니다. 어레이가 다시 시작되면(예: 재부팅) 비트맵( none
또는 internal
다른 external
비트맵 파일) 을 재구성할 때까지 온라인 상태가 되지 않습니다 .
전체적으로 미러되지 않은 디스크에 배치하는 것이 안전하다는 것을 알았습니다.
mdadm 문서와 모든 mdadm 가이드에서는 기본 내부 비트맵을 사용하는 것이 적어도 RAID10 및 RAID5에서 성능에 미치는 영향을 과소평가합니다.
R5에 대한 빠른 벤치마크를 수행했습니다.
비트맵: 내부, 쓰기: 267MB
비트맵: 없음, 쓰기: 434MB
(총 테스트 크기 20G, 블록 크기 512K, 페이지 캐시 활성화)