Skip to main content
Enterprise applications
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

SAN과 함께 MySQL 제공

기여자

일반적인 2개 볼륨 모델을 사용하여 SAN과 MySQL을 구성하는 두 가지 옵션이 있습니다.

입출력 및 용량 요구 사항이 단일 LUN 파일 시스템의 제한 범위 내에 있는 경우 더 작은 데이터베이스를 한 쌍의 표준 LUN에 배치할 수 있습니다. 예를 들어, 약 2K 랜덤 IOPS가 필요한 데이터베이스는 단일 LUN의 단일 파일 시스템에서 호스팅될 수 있습니다. 마찬가지로, 크기가 100GB인 데이터베이스도 관리 문제를 일으키지 않고 단일 LUN에 적합합니다.

데이터베이스가 클수록 여러 개의 LUN이 필요합니다. 예를 들어, 100K IOPS가 필요한 데이터베이스에는 일반적으로 8개 이상의 LUN이 필요할 수 있습니다. 드라이브에 대한 SCSI 채널 수가 충분하지 않기 때문에 단일 LUN에 병목 현상이 발생합니다. 마찬가지로 단일 10TB LUN에서는 10TB 데이터베이스를 관리하기가 어렵습니다. 논리적 볼륨 관리자는 여러 LUN의 성능과 용량 기능을 함께 결합하여 성능과 관리 효율성을 높이도록 설계되었습니다.

두 경우 모두 한 쌍의 ONTAP 볼륨으로 충분합니다. 간단한 구성을 사용하면 데이터 파일 LUN이 로그 LUN과 마찬가지로 전용 볼륨에 배치됩니다. 논리적 볼륨 관리자를 구성하면 데이터 파일 볼륨 그룹의 모든 LUN이 전용 볼륨에 있고 로그 볼륨 그룹의 LUN은 두 번째 전용 볼륨에 있게 됩니다.

팁
  • NetApp는 * SAN에서 MySQL 배포를 위해 두 개의 파일 시스템을 사용할 것을 권장합니다.

  • 첫 번째 파일 시스템은 테이블스페이스, 데이터 및 인덱스를 포함한 모든 MySQL 데이터를 저장합니다.

  • 두 번째 파일 시스템은 모든 로그(바이너리 로그, 느린 로그 및 트랜잭션 로그)를 저장합니다.

이러한 방식으로 데이터를 분리해야 하는 이유는 다음과 같습니다.

  • 데이터 파일과 로그 파일의 I/O 패턴은 다릅니다. 이들 포트를 분리하면 QoS 제어에서 더 많은 옵션을 사용할 수 있습니다.

  • 스냅샷 기술을 최적으로 사용하려면 데이터 파일을 독립적으로 복원할 수 있는 기능이 필요합니다. 데이터 파일을 로그 파일과 함께 사용하면 데이터 파일 복구가 방해됩니다.

  • NetApp SnapMirror 기술을 사용하여 데이터베이스에 단순한 RPO 재해 복구 기능을 제공할 수 있지만 데이터 파일 및 로그에 대해 서로 다른 복제 일정이 필요합니다.

참고 필요한 경우 모든 ONTAP 기능을 사용할 수 있도록 미래에 대비한 솔루션을 이 기본적인 두 볼륨 레이아웃을 사용하십시오.
팁

*NetApp는 다음과 같은 기능 때문에 ext4 파일 시스템으로 드라이브를 포맷할 것을 권장합니다.

  • JFS(저널링 파일 시스템)에서 사용되는 블록 관리 기능과 XFS(확장 파일 시스템)의 지연 할당 기능에 대한 확장 접근 방식

  • ext4는 최대 1개의 exbibyte(2의 60바이트)의 파일 시스템과 최대 16테비바이트(16*2 40바이트)의 파일을 허용합니다. 반대로 ext3 파일 시스템은 최대 파일 시스템 크기 16TB와 최대 파일 크기 2TB만 지원합니다.

  • ext4 파일 시스템에서 다중 블록 할당(mballoc)은 ext3에서와 같이 파일에 대해 하나씩 할당하는 대신 단일 작업으로 파일에 대해 여러 블록을 할당합니다. 이 구성은 블록 할당자를 여러 번 호출하는 오버헤드를 줄이고 메모리 할당을 최적화합니다.

  • XFS가 대부분의 Linux 배포판의 기본값이지만 메타데이터를 다르게 관리하므로 일부 MySQL 구성에 적합하지 않습니다.

팁
  • NetApp는 기존 블록 LUN 크기에 맞추기 위해 mkfs 유틸리티와 함께 4K 블록 크기 옵션을 사용할 것을 권장합니다.

mkfs.ext4 -b 4096

NetApp LUN은 데이터를 4KB 물리적 블록에 저장하여 8개의 512바이트 논리적 블록을 생성합니다.

동일한 블록 크기를 설정하지 않을 경우 I/O가 물리적 블록과 올바르게 정렬되지 않고 RAID 그룹에 있는 두 개의 드라이브에 쓰므로 지연 시간이 발생합니다.

참고 원활한 읽기/쓰기 작업을 위해 I/O를 맞추는 것이 중요합니다. 하지만 물리적 블록의 시작이 아닌 논리적 블록에서 I/O가 시작하면 I/O가 정렬 불량이 됩니다. I/O 작업은 물리적 블록의 첫 번째 논리적 블록인 논리적 블록에서 시작할 때만 정렬됩니다.