ZFS 풀 성능, zio_write_issue

ZFS 풀 성능, zio_write_issue

우리는 비교적 큰 ZFS 풀(raidz3의 vdev 23개, 원시 1PB)을 보유하고 있습니다. 헤드 노드에는 16개의 코어와 192GB RAM이 있습니다. 풀에는 ZIL이 있지만 L2ARC는 없습니다. 풀에서 Solaris 11.3을 실행 중입니다.

풀은 일정한 1GB/s 처리량, 20kIOP(최대 >100kIOP)에서 실행될 수 있지만 며칠이 지나면 성능이 저하됩니다.

  • IOP 감소( zpool iostat)
  • 처리량 감소
  • zio_read_intr, zio_write_issue, zio_write_issue_high가 많이 있습니다.prstat -amL

보려고 하면 zilstat.sh어떤 활동도 표시되지 않습니다. 이상합니다. zpool status 명령에서 풀에 연결된 로그 장치를 볼 수 있는 이유는 확실하지 않지만 볼 수는 없습니다 zilstat.sh.

또한 우리는 완벽하게 작동하고 ZIL이 정상적으로 작동하는 거의 정확한 시스템 복제본을 보유하고 있습니다. 유일한 차이점은 ZIL이 다른 SAS 커넥터를 통해 액세스된다는 것입니다. ZIL이 다른 vdev와 동일한 SAS 채널을 사용하는 경우 성능이 저하될 것으로 예상되지만 완전히 활동이 없는 것은 아닙니다.

답변1

iostat -sndzx성능 저하의 원인에 대한 통찰력을 제공했습니다(내 원래 질문에 대한 @Andrew의 의견 참조).

풀의 한 디스크는 asvc_t150밀리초에서 4,999밀리초 사이에서 변동하는 평균 서비스 시간(열)을 보고했으며 사용 시간 비율은 60( %b열)입니다. 풀에 있는 다른 드라이브의 avsc_t 시간은 3.3ms이고 사용률은 2%였습니다.

위의 데이터를 생성했음에도 불구하고 iostat드라이브 zpool status는 여전히 online읽기 또는 쓰기 오류가 없는 것으로 보고됩니다.

활동이 사용되는 것을 볼 수 없는 이유 는 활동 zilstat.sh이 활성화되어 있기 때문입니다 . / 수신 측에서 비동기 쓰기를 사용하면 ZIL이 전혀 사용되지 않습니다. 이러한 블록은 회전 디스크에 직접 기록됩니다.zfs sendreceivesendreceive

답변2

만약 당신이 어떤 성과도 볼 수 없다면 zilstat.sh나는 누군가 실수로 의도한 것을 추가했는지에 대해 질문할 것입니다.지르풀의 다른 23개 vdev에 대한 또 다른 vdev 역할을 합니다.

zpool status풀의 현재 구성을 확인하기 위해 출력을 제공할 수 있습니까 ? 풀을 생성할 때 "로그" 추가를 놓친 사람이 있다면지르예상한 대로 되지 않습니다.

관련 정보