SANtricity System Manager의 스토리지 어레이 설정 FAQ
이 FAQ는 질문에 대한 빠른 답변을 찾고 있을 때 도움이 될 수 있습니다.
자동 로드 밸런싱이란 무엇입니까?
자동 로드 밸런싱 기능은 자동화된 I/O 밸런싱을 제공하며 호스트에서 들어오는 I/O 트래픽이 두 컨트롤러 전체에서 동적으로 관리되고 균형을 유지하도록 합니다.
자동 로드 밸런싱 기능은 시간 경과에 따른 로드 변화에 동적으로 반응하고 볼륨 컨트롤러 소유권을 자동으로 조정하여 워크로드가 컨트롤러 간에 이동할 때 발생하는 로드 불균형 문제를 해결함으로써 향상된 I/O 리소스 관리를 제공합니다.
각 컨트롤러의 워크로드는 지속적으로 모니터링되며, 호스트에 설치된 다중 경로 드라이버와의 협력을 통해 필요할 때마다 자동으로 균형을 맞출 수 있습니다. 워크로드가 컨트롤러 간에 자동으로 재조정되면 스토리지 관리자는 스토리지 어레이의 로드 변경에 맞춰 볼륨 컨트롤러 소유권을 수동으로 조정해야 하는 부담에서 벗어날 수 있습니다.
자동 로드 밸런싱이 활성화되면 다음 기능을 수행합니다.
-
컨트롤러 리소스 활용률을 자동으로 모니터링하고 균형을 조정합니다.
-
필요에 따라 볼륨 컨트롤러 소유권을 자동으로 조정하여 호스트와 스토리지 어레이 간의 I/O 대역폭을 최적화합니다.
|
|
컨트롤러의 SSD Cache를 사용하도록 할당된 볼륨은 자동 로드 밸런스 전송 대상이 아닙니다. |
컨트롤러 캐시란 무엇입니까?
컨트롤러 캐시는 컨트롤러와 호스트 간, 그리고 컨트롤러와 디스크 간의 두 가지 유형의 I/O(입출력) 작업을 간소화하는 물리적 메모리 공간입니다.
읽기 및 쓰기 데이터 전송의 경우 호스트와 컨트롤러는 고속 연결을 통해 통신합니다. 그러나 컨트롤러 백엔드에서 디스크로의 통신은 디스크가 상대적으로 속도가 느린 장치이기 때문에 더 느립니다.
컨트롤러 캐시가 데이터를 수신하면 컨트롤러는 호스트 애플리케이션에 해당 데이터가 캐시에 저장되었음을 알립니다. 따라서 호스트 애플리케이션은 I/O 작업이 디스크에 기록될 때까지 기다릴 필요가 없습니다. 대신 애플리케이션은 작업을 계속할 수 있습니다. 또한 캐시된 데이터는 서버 애플리케이션에서 즉시 액세스할 수 있으므로 데이터에 액세스하기 위한 추가 디스크 읽기가 필요하지 않습니다.
컨트롤러 캐시는 여러 가지 방식으로 스토리지 어레이의 전체 성능에 영향을 미칩니다.
-
캐시는 버퍼 역할을 하므로 호스트와 디스크 데이터 전송을 동기화할 필요가 없습니다.
-
호스트에서 읽기 또는 쓰기 작업을 수행할 때 필요한 데이터가 이전 작업에서 캐시에 저장되어 있을 수 있으므로 디스크에 접근할 필요가 없습니다.
-
쓰기 캐싱을 사용하는 경우 호스트는 이전 쓰기 작업의 데이터가 디스크에 기록되기 전에 후속 쓰기 명령을 보낼 수 있습니다.
-
캐시 프리페치가 활성화되면 순차 읽기 액세스가 최적화됩니다. 캐시 프리페치를 사용하면 읽기 작업 시 디스크에서 데이터를 읽는 대신 캐시에서 데이터를 찾을 확률이 높아집니다.
|
|
데이터 손실 가능성 — 배터리 없이 쓰기 캐싱 옵션을 활성화하고 보호를 위한 범용 전원 공급 장치가 없는 경우 데이터가 손실될 수 있습니다. 또한 컨트롤러 배터리가 없는 상태에서 배터리 없이 쓰기 캐싱 옵션을 활성화하는 경우에도 데이터가 손실될 수 있습니다. |
캐시 플러싱이란 무엇입니까?
캐시에 기록되지 않은 데이터의 양이 일정 수준에 도달하면 컨트롤러는 주기적으로 캐시된 데이터를 드라이브에 기록합니다. 이 쓰기 작업 과정을 "플러싱"이라고 합니다.
컨트롤러는 캐시를 비우기 위해 수요 기반 알고리즘과 사용 기간 기반 알고리즘, 두 가지 알고리즘을 사용합니다. 컨트롤러는 캐시된 데이터 양이 캐시 비우기 임계값 아래로 떨어질 때까지 수요 기반 알고리즘을 사용합니다. 기본적으로 캐시 사용률이 80%에 도달하면 비우기가 시작됩니다.
System Manager에서 “Start demand cache flushing” 임계값을 설정하여 환경에서 사용되는 I/O 유형을 최적으로 지원할 수 있습니다. 주로 쓰기 작업으로 구성된 환경에서는 “Start demand cache flushing” 백분율을 높게 설정하여 새로운 쓰기 요청이 디스크로 이동하지 않고 캐시에서 처리될 가능성을 높여야 합니다. 높은 백분율 설정은 캐시 플러시 횟수를 제한하여 더 많은 데이터가 캐시에 남아 있도록 하므로 캐시 적중 가능성이 높아집니다.
I/O가 불규칙적인 환경(데이터 버스트 발생)에서는 캐시 플러싱 빈도를 낮게 설정하여 데이터 버스트 발생 사이에 시스템이 캐시를 자주 플러시하도록 할 수 있습니다. 다양한 부하를 처리하는 복잡한 I/O 환경이나 부하 유형을 알 수 없는 경우에는 임계값을 50%로 설정하는 것이 적절한 중간값입니다. 시작 백분율을 80%보다 낮게 설정하면 호스트 읽기에 필요한 데이터가 사용 가능하지 않아 성능이 저하될 수 있다는 점에 유의해야 합니다. 또한, 백분율을 낮추면 캐시 수준을 유지하는 데 필요한 디스크 쓰기 작업 횟수가 증가하여 시스템 오버헤드가 커집니다.
age-based 알고리즘은 쓰기 데이터가 디스크로 플러시되기 전에 캐시에 남아 있을 수 있는 기간을 지정합니다. 컨트롤러는 캐시 플러시 임계값에 도달할 때까지 age-based 알고리즘을 사용합니다. 기본값은 10초이지만 이 기간은 비활성 기간 동안에만 계산됩니다. System Manager에서는 플러시 타이밍을 수정할 수 없으며 대신 CLI(Command Line Interface)에서 Set Storage Array 명령을 사용해야 합니다.
|
|
데이터 손실 가능성 — 배터리 없이 쓰기 캐싱 옵션을 활성화하고 보호를 위한 범용 전원 공급 장치가 없는 경우 데이터가 손실될 수 있습니다. 또한 컨트롤러 배터리가 없는 상태에서 배터리 없이 쓰기 캐싱 옵션을 활성화하는 경우에도 데이터가 손실될 수 있습니다. |
캐시 블록 크기란 무엇입니까?
스토리지 어레이의 컨트롤러는 캐시를 "블록"으로 구성하는데, 블록은 8, 16, 32 KiB 크기의 메모리 덩어리입니다. 스토리지 시스템의 모든 볼륨은 동일한 캐시 공간을 공유하므로 각 볼륨은 하나의 캐시 블록 크기만 가질 수 있습니다.
애플리케이션은 서로 다른 블록 크기를 사용하며, 이는 스토리지 성능에 영향을 줄 수 있습니다. 기본적으로 System Manager에서 블록 크기는 32 KiB이지만, 값을 8, 16, 32 KiBs로 설정할 수 있습니다. 더 작은 크기는 파일 시스템이나 데이터베이스 애플리케이션에 적합한 선택입니다. 더 큰 크기는 대용량 데이터 전송, 순차 I/O, 또는 멀티미디어와 같이 높은 대역폭이 필요한 애플리케이션에 적합한 선택입니다.
스토리지 어레이 클럭은 언제 동기화해야 합니까?
SANtricity System Manager에 표시되는 타임스탬프가 관리 클라이언트(브라우저를 통해 SANtricity System Manager에 액세스하는 컴퓨터)에 표시되는 타임스탬프와 일치하지 않는 경우 스토리지 어레이의 컨트롤러 클록을 수동으로 동기화해야 합니다. 이 작업은 SANtricity System Manager에서 NTP(Network Time Protocol)가 활성화되어 있지 않은 경우에만 필요합니다.
|
|
수동으로 시계를 동기화하는 대신 NTP 서버를 사용하는 것을 적극 권장합니다. NTP는 SNTP(Simple Network Time Protocol)를 사용하여 외부 서버와 자동으로 시계를 동기화합니다. |
시스템 페이지에서 사용할 수 있는 스토리지 어레이 클록 동기화 대화 상자에서 동기화 상태를 확인할 수 있습니다. 대화 상자에 표시된 시간이 일치하지 않으면 동기화를 실행하십시오. 이 대화 상자를 주기적으로 확인하여 컨트롤러 클록의 시간 표시가 어긋나 더 이상 동기화되지 않는지 여부를 확인할 수 있습니다.