나는 저장하는 사람이 아니다. 저는 SAN의 철자법과 그 이상의 몇 가지 기본 사항을 알고 있지만 그 이상은 아닙니다.
SAN 스토리지를 측정할 때 std 디스크 카운터를 신뢰할 수 있습니까? 어제 문제가 발생하기 시작한 동일한 SAN에 MS SQL(2005) 서버 2대가 연결되어 있습니다. 우리는 하드웨어를 제어할 수 없기 때문에 Veritas Enterprise Admin을 통해 LUN에 대해 확인하는 정보(예: 기본 볼륨 구성) 외에 스토리지 구성 방법에 대한 정보가 많지 않습니다. 컨트롤러나 스위치의 처리량을 모니터링하는 도구에 액세스할 수 없습니다.
그 대신에 나는 perfmon 카운터(물리적 및 논리적의 % 디스크 시간, 물리적 및 논리적 모두의 디스크 큐 길이)를 실행하고 있었습니다. 실제 디스크의 디스크 시간 % 수치는 최대 32000%(예, 32K)로 아주 놀라운 것 같습니다.
아니면 해당 메트릭을 만들기 위해 LUN 수준 아래에서 무언가가 집계되고 있으며 이 카운터는 SAN 스토리지에 대해 사용해야 하는 것이 아니라고 생각하는 것이 맞습니까?
편집하다:
최근 32개의 캐시 모듈 중 하나에 문제가 있어 혼합에서 제외되었다는 사실을 발견했습니다. 히타치라는 것은 알지만 모델에 대해서는 구체적인 내용을 모릅니다.
업데이트:
Hitachi는 방금 결함이 있는 메모리 모듈 교체와 파이버 포트 카드 재초기화를 마쳤습니다. 이제 모든 것이 정상으로 돌아온 것 같습니다. 정보 주셔서 감사합니다!
답변1
%Disk Time에 대한 명백히 미친 숫자는 무언가를 나타내지만 Perfmon이 %Disk Time을 파생하는 방식은 숫자>100%가 불가능하지 않다는 것을 의미합니다.
%디스크 시간은 실제로 계산된 카운터이며 그 출처는 다음과 같습니다.
Avg Disk Sec/Transfer * Disk Transfers/sec.
평균 디스크 초/전송은 현재 간격의 모든 IO에 대한 완료 시간의 합계를 구하고 IO 수로 나누어 평균 종단 간 완료 시간을 제공합니다. 초당 디스크 전송은 전체 IO의 총 수를 간격으로 나눈 값입니다.
이러한 IO 중 다수는 현재 간격을 벗어나 시작되었을 수 있으므로 해당 제품이 100%를 초과할 수 있습니다. 이는 모든 시스템에서 발생할 수 있지만 SAN과 같은 복잡한 디스크 어레이에서는 100%를 초과하는 경우가 더 많습니다.
계산 방식 때문에 %Disk Time은 실제로 많은 정보를 제공하지는 않지만 이 경우에는 뭔가 잘못되었음을 알려줍니다. %유휴 시간은 실제로 직접 측정되므로 (100% 유휴 시간)을 사용하여 활용도를 계산하는 것이 더 좋습니다.
디스크 대기열 길이는 단순한 로컬 스토리지 설정보다 훨씬 클 수 있지만 일반적으로 대기열 길이가 >> LUN을 백업하는 스핀들 수이면 모든 것이 백업됩니다. 특히 대기열 길이가 상당한 기간 동안 꾸준히 증가하는 경우에는 더욱 그렇습니다. 시간의. 10~15개의 디스크가 있는 LUN에서 값이 10 또는 20이면 전혀 문제가 되지 않지만 350은 확실히 뭔가 문제가 있음을 의미합니다. 결함이 있거나 잘못 구성된 캐시는 확실히 이와 같은 문제를 일으킬 수 있지만 다른 이유도 있을 수 있습니다.
즉, 실제로 무엇이 무엇인지 알고 싶다면 SAN 수준 자체에서 성능 모니터링을 살펴보고 SAN 직원으로부터 이를 얻어야 한다는 뜻입니다. 문제는 LUN의 디스크에 있을 수 있습니다(디스크에 장애가 발생하여 RAID 재구축이 진행 중일 수 있고, 어떤 이유로 캐시가 비활성화되었을 수 있으며, 동일한 디스크에서 스트라이프된 다른 LUN이 더 높은 우선 순위를 갖고 사용 중일 수 있음). 해당 특정 어레이에서 캐시가 비활성화\실패했습니다. SAN 패브릭이나 스위치에 문제가 있을 수 있습니다.
오래되었지만 아주 좋은 기사가 있습니다.Windows의 디스크 카운터는 여기를 참조하세요..
답변2
귀하의 '평균'은 얼마입니까? 디스크 읽기 큐 길이' 및 '평균. 해당 LUN에 대한 Disk WriteQueue Length' perfmon 값, 각 서버를 서로 어떻게 비교합니까?
SAN 직원과 조용한 시간을 협상할 수 있다면 다음을 수행할 수 있습니다.IO존두 컴퓨터 모두에서 결과를 비교합니다.
답변3
일부 카운터는 유용하고 일부는 그렇지 않습니다. 현재 디스크 대기열과 같은 항목은 Windows 호스트가 읽기/쓰기 명령을 보내는 시점과 해당 명령이 SAN의 캐시에 대해 처리되는 시점 사이에 확인하는 대기열을 알려줍니다. 그러나 디스크가 제대로 실행되고 있으면 캐시 문제, 스위치 문제 또는 파이버 문제로 인해 호스트에서 대기열이 계속 표시될 수 있습니다.
읽기당 초, 쓰기당 초 등의 기능은 동일한 방식으로 작동하며 캐시에 쓰는 데 걸린 시간을 알려줍니다.
초당 IO 쓰기와 같은 숫자가 좀 더 유용합니다. 다시 말하지만 이는 SAN 캐시에 대한 IO이지만 해당 IO는 어떤 지점에서 디스크에 연결되어야 합니다. 초당 IO 읽기도 마찬가지입니다. 디스크와 캐시에서 읽히지만 읽기 캐시에 있는 경우 어느 시점에서 디스크에서 벗어났습니다.