우선, NTFS 파일 시스템은 강력한 기능을 갖춘 매우 강력한 파일 시스템을 발명한 Microsoft에 감사드립니다.
클러스터는 디스크 I/O 읽기 및 쓰기를 위한 가장 기본적인 단위(NTFS의 할당 단위)입니다.
오늘은 SQL Server 데이터 저장소의 NTFS 클러스터 크기와 관련된 주제에 대해 이야기하겠습니다. NTFS는 기본적으로 오늘날 대부분의 하드 디스크의 클러스터 크기인 2GB를 초과하는 파티션을 포맷할 때 기본적으로 4KB 클러스터를 사용합니다. 조각 모음은 클러스터가 4KB보다 크지 않을 때 사용할 수 있습니다.
NTFS 클러스터 크기는 512B에서 64KB까지 설정할 수 있습니다. 물론 포맷 시 지정해야 하며 그렇지 않으면 변경할 수 없습니다. 클러스터가 너무 작으면 공간 활용도는 높지만 파티션 테이블이 크고 조각이 많아 성능이 좋지 않습니다. 클러스터가 너무 크면 공간 활용도가 낮지만 조각이 적습니다. 그리고 성능도 좋다. 따라서 4KB가 일반적인 선택입니다.
오늘날의 하드 드라이브는 용량이 수백 GB에 달하므로 공간은 더 이상 문제가 되지 않는 것 같습니다. 하지만 디스크 I/O는 항상 성능 병목 현상이 되어 왔습니다. 디스크 읽기 및 쓰기 속도를 높이기 위해 모두가 고민하고 있습니다. 어쨌든 하드 드라이브를 선택하는 한 물리적 디자인을 변경하는 것은 불가능해 보이며 권장되지 않습니다. 따라서 RAID 어레이 사용, 자주 조각 모음, 칩 사용 등 다른 곳에서만 시작할 수 있습니다. 데이터 케이블 등 사용할 수 있는 것은 모두 사용됩니다.
SQL Server 서버는 I/O 요구 사항이 높은 응용 프로그램입니다. 데이터 파일을 읽고 쓰는 기본 단위는 8KB이며 일반적으로 64KB 영역입니다. 데이터 파일은 모두 상대적으로 크기가 크며, 일반적인 프로덕션 환경에서는 수 GB 이상이 일반적입니다. 그리고 기본적으로 누구도 SQL Server 스토리지 조각 모음을 수행하지 않으므로 SQL Server 스토리지 전용 디스크 파티션을 64KB 클러스터로 포맷하여 공간을 낭비하지 않고 성능을 향상시킬 수 있습니다.
위험이 있나요? 물론 디스크 재해가 발생하면 손실되는 데이터는 최소 64KB 이상일 수 있습니다. 그러나 일반 서버의 RAID 배열 블록도 64KB이기 때문에 이 솔루션은 여전히 매우 실현 가능하다는 것이 입증되었습니다. 64KB여도 상관없습니다.
다른 응용 시나리오를 참조할 수도 있습니다. 실수가 있으면 비판해도 좋습니다.
이 기사의 작성자: gytnet
이 기사의 출처: http://www.cnblogs.com/gytnet/archive/2009/12/21/1628561.htm