iSCSI 스토리지 조정


29

이것은 참조로 사용할 수있는 iSCSI에 대한 정식 질문 입니다.

iSCSI는 SCSI 명령을 TCP 네트워크 패킷에 페이로드로 넣는 프로토콜입니다. 따라서 파이버 채널과는 다른 문제가 있습니다. 예를 들어, 링크가 정체되고 스위치의 버퍼가 가득 찬 경우 이더넷은 기본적으로 호스트에게 속도 저하를 알리지 않고 프레임을 삭제합니다. 이로 인해 재전송이 발생하여 스토리지 트래픽의 매우 작은 부분에 대한 대기 시간이 길어집니다.

네트워크 설정 수정을 포함하여 클라이언트 운영 체제에 따라이 문제에 대한 솔루션이 있습니다. 다음 OS 목록의 경우 최적의 iSCSI 클라이언트 구성은 무엇입니까? 스위치의 설정을 변경해야합니까? 스토리지는 어떻습니까?

  • VMWare 4 및 5
  • Windows Hyper-V 2008 및 2008r2
  • 베어 메탈의 Windows 2003 및 2008
  • 베어 메탈의 Linux
  • AIX VIO
  • 당신이 생각하는 다른 OS는 관련이 있습니다

iSCSI는 그보다 훨씬 복잡하지만 IP 스택과 관련하여 처리량이 많고 대기 시간이 짧은 IP 연결에 적용되는 모든 적용이 여기에서 그리 특별하지는 않습니다.
Nils

답변:


6

VMWare에 익숙하지 않지만 Xenserver를 사용하고 Hyper-V (R2)를 사용했습니다.

현재 Xenserver 구성을 사용하면 다음이 있습니다.

  • 8 개의 Dell Poweredge 29xx 서버
  • Dell Powerconnect 6248 스위치 2 개
  • 2 Dell MD3000i SAN (iSCSI)

다중 경로 구성으로 스위치를 설정하고 다음을 통해 iSCSI에 최적화했습니다.

  • 스위치를 3 개의 VLAN으로 분리 (iSCSI 트래픽 용 2 개 및 관리 용 1 개)
  • 점보 프레임 사용
  • 전원 연결에 "iSCSI"최적화 적용

각 서버에는 각 스위치에 대한 연결을 제공하는 여러 개의 네트워크 카드가 있으며 서버와 iSCSI SAN 간의 다중 경로를 통해 중복성을 제공합니다. iSCSI VLAN에는 iSCSI 이외의 다른 트래픽이 없습니다.

이 구성으로 Xenserver "클러스터"가 훌륭하게 작동한다는 사실을보고하게되어 기쁩니다.

참고로 Windows 2008 서버는 iSCSI를 통해 HP SAN (이전 파일 서버)에 직접 연결되어 있습니다. 이전에는 Windows 2003을 실행했으며 정기적으로 연결을 끊었습니다 (2003을 다시 설치 한 후에도). 그러나 Windows 2008로 업그레이드하자마자 연결 상태를 유지합니다.

설정에 대한 질문에 기꺼이 답변 해 드리겠습니다.


1
두 Dell 스위치간에 스태킹 케이블을 사용하고 있습니까?
SpacemanSpiff

왜 iSCSI인가? 직접 연결된 MD3000에서 DRBD를 사용하지 않는 이유는 무엇입니까?
Nils

@SpacemanSpiff 내 스위치가 스택되지 않았습니다.
Steve

@Nils DRBD를 연구하지는 않았지만 들었습니다. DRBD는 직접 연결된 스토리지에 iSCSI를 통해 무엇을 제공합니까?
Steve

DRBD에는 SCSI 오버 헤드가 없습니다. 다른 한 가지는 iSCSI 서버가 죽거나 연결할 수없는 경우 iSCSI 클라이언트 프로세스를 제거 할 수 없다는 것입니다 (후자는 설정에 문제가되지 않아야합니다).
Nils

3

이것은 대답이 아닙니다 ... 아직. 이것이 일반적인 답변의 틀입니다. 시간이 있으면 아는 것을 기입하십시오. 특정 하드웨어 구성과 관련하여 각 공급 업체에 대해 별도의 답변을 게시하여 해당 정보를 체계적이고 개별적으로 유지할 수 있습니다.

포트에 대한 QoS 프로파일, 스톰 제어 끄기, MTU를 9000으로 설정, 흐름 제어 켜기 및 포트를 포트 패스트로 전환

처리량 및 대기 시간

업데이트 된 펌웨어, 드라이버 및 기타 시스템

MPIO

점보 프레임 / MTU

네트워크 링크 속도가 증가함에 따라 잠재적으로 생성되는 패킷 수도 증가합니다. 이로 인해 패킷 생성에 소요되는 CPU / 인터럽트 시간이 점점 늘어나게되는데, 이는 전송 시스템에 과도한 부담을 주거나 프레임으로 과도한 링크 대역폭을 차지하는 효과가 있습니다.

소위 "점보"프레임은 표준 1518 바이트 제한을 초과하는 이더넷 프레임입니다. 숫자는 스위치 공급 업체, 운영 체제 및 NIC의 가장 일반적인 점보 패킷 크기에 따라 다를 수 있지만 9000 및 9216 바이트 (후자가 가장 일반적)입니다. 대략 6 배의 데이터를 9K 프레임에 넣을 수 있으므로 실제 패킷 수 (및 인터럽트)는 호스트에서 비슷한 양만큼 줄어 듭니다. 이러한 이점은 특히 대량의 데이터 (예 : iSCSI)를 전송하는 고속 (예 : 10GE) 링크에서 두드러집니다.

점보 프레임을 활성화하려면 호스트와 이더넷 스위치를 모두 구성해야하며 구현 전에 상당한주의를 기울여야합니다. 몇 가지 지침을 따라야합니다.

1.) 주어진 이더넷 세그먼트 (VLAN) 내에서 모든 호스트와 라우터는 동일한 MTU를 구성해야합니다. 적절한 구성이없는 장치는 더 큰 프레임을 링크 오류 (특히 "거대한")로보고 삭제합니다.

2.) IP 프로토콜 내에서 프레임 크기가 다른 두 호스트는 적절한 공통 프레임 크기를 협상하기위한 메커니즘이 필요합니다. TCP의 경우 이것은 PMTU (path MTU) 감지이며 ICMP 도달 불가능 패킷의 전송에 의존합니다. 모든 시스템에서 PMTU가 활성화되어 있고 ACL 또는 방화벽 규칙이 이러한 패킷을 허용하는지 확인하십시오.

이더넷 흐름 제어 (802.3x)

일부 iSCSI 공급 업체에서 권장하고 있지만 모든 스위치 포트, NIC 및 링크가 완전히 iSCSI 트래픽 전용 이 아닌 한 대부분의 환경에서 간단한 802.3x 이더넷 흐름 제어를 사용 하지 않아야 합니다. 링크에 다른 트래픽 (예 : SMB 또는 NFS 파일 공유, 클러스터 스토리지 또는 VMware의 하트 비트, NIC 팀 구성 제어 / 모니터링 트래픽 등)이 있는 경우 전체 포트를 차단하는 단순한 802.3x 흐름 제어를 사용 하지 않아야 합니다. iSCSI 이외의 다른 트래픽도 차단됩니다. 이더넷 흐름 제어의 성능 향상은 종종 최소이거나 존재하지 않으며, 실제 이점이 있는지 판단하기 위해 고려되는 전체 OS / NIC / 스위치 / 스토리지 조합에 대해 realistinc 벤치마킹을 수행해야합니다.

서버 관점에서 실제 질문은 다음과 같습니다. NIC 또는 네트워크가 오버런 된 경우 네트워크 트래픽을 중지합니까, 아니면 패킷 삭제 및 재전송을 시작합니까? 흐름 제어를 켜면 NIC가 수신기 쪽에서 비워 질 수있는 버퍼가 허용되지만 발신자 쪽의 버퍼에 스트레스가 발생합니다 (일반적으로 네트워크 장치는 여기에서 버퍼링 됨).

TCP 혼잡 제어 (RFC 5681)

TOE (TCP / IP 오프로드 엔진)

iSOE (iSCSI 오프로드 엔진)

LSO (TCP 세그먼트 화 / 큰 전송 오프로드)

네트워크 격리

iSCSI의 일반적인 모범 사례는 개시 자와 대상을 다른 비 스토리지 네트워크 트래픽과 격리시키는 것입니다. 이는 보안, 관리 효율성 및 많은 경우 스토리지 트래픽에 대한 리소스 전용 측면에서 이점을 제공합니다. 이 격리는 몇 가지 형태를 취할 수 있습니다.

1.) 물리적 격리-모든 이니시에이터는 iSCSI 트래픽 전용으로 하나 이상의 NIC를 사용합니다. 이는 해당 하드웨어의 기능과 특정 조직의 특정 보안 및 운영 요구 사항에 따라 전용 네트워크 하드웨어를 의미하거나 암시하지 않을 수도 있습니다.

2.) 논리적 격리-대부분 고속 (예 : 10GE) 네트워크에서 발견되며 초기자는 스토리지 및 비 스토리지 트래픽을 분리하도록 구성된 VLAN 태깅 (802.1q 참조)을 갖습니다.

많은 조직에서 iSCSI 초기자가 이러한 전용 네트워크를 통해 서로 연결할 수없고 표준 데이터 네트워크에서 이러한 전용 네트워크에 도달 할 수 없도록하는 추가 메커니즘도 사용됩니다. 이를 위해 사용되는 측정에는 표준 액세스 제어 목록, 개인 VLAN 및 방화벽이 포함됩니다.

백플레인 및 패브릭 전환에 대한 내용도 여기에 있습니다.

QoS (802.1p)

VLAN (802.1q)

STP (RSTP, MSTP 등)

트래픽 억제 (스톰 제어, 멀티 / 브로드 캐스트 제어)

보안

인증 및 보안

녀석

IPSec

LUN 매핑 (모범 사례)


모든 장치에 RFC 5681에 대한 튜너 블이 있습니까? 그렇지 않으면 해당 섹션을 삭제해야합니다.
Nils

점보 프레임이 iSCSI 복제에 거의 지원되지 않는다는 점을 추가 할 가치가 있습니까 (모든 중간 WAN 장치가이를 지원해야하기 때문에)?
제레미

@Jeremy 확실하게-위에 그것을 쓰십시오. LAN에서도-도중에 하나의 장치를 잊어 버린 경우 (또는 아웃소싱 된 네트워크 팀이 잘못 구성한 경우) MTU 경로가 점보 프레임을 지원하지 않습니다.
Nils

Jeremy와 동의하십시오. Nils, TCP-CC를 사용할 수있는 경우 가능한 이점과 결과를 얻을 수있는 경우 최소한 개요를 제시해야합니다.
Chris S

1

다음과 관련하여 주관적 으로 고려해야 할 사항과 연구 :

1) 다중 경로 지정-SAN 솔루션 및 OS, 하이퍼 바이저 또는 베어 메탈 OS가 제대로 작동하려면 공급 업체별 소프트웨어가 필요할 수 있습니다.

2) 이니시에이터-소프트웨어 이니시에이터가 요구에 따라 충분한 성능을 갖추고 있는지 조사해야합니다. 많은 NIC에는 iSCSI 오프 로딩 기능이있어 처리량을 크게 향상시킬 수 있지만 일부 구형 하이퍼 바이저는 현명하게 지원하는 것이 상당히 곤란한 것으로 알려져 있습니다. 보다 성숙한 오퍼링 (ESXi 4.1+)은 좋은 곳으로 보입니다.

3) 보안 / 권한-어떤 이니시에이터가 어떤 LUN에 액세스해야하는지 완전히 조사해야합니다. Windows 시스템 중 하나의 관리자가 디스크에서 "디스크 초기화"를 수행하는 경우 나쁜 하루가 될 것입니다. 실제로 다른 서버에서 VMware 데이터 저장소로 사용 중입니다.


다중 경로와 관련하여 실제로 다른 네트워크를 통해서도이를 달성 할 수 있습니다. FC-SAN보다 IP가 약간 까다 롭습니다 (여러 하드웨어 패브릭이있는 SAN A / B 개념은 매우 일반적입니다).
Nils

다중 경로에 대한 나의 경험은 기본적으로 평등 한 것이며,이 경우 클라이언트는 일반적으로 검색 IP 주소 (그룹 IP)를받은 다음 실제 주소에 대해 해당 주소와 협상합니다. 다른 네트워크 에서이 작업을 수행 할 수 있고 클라이언트에 경로가 있거나 없을 수 있지만 그룹 IP가있는 서브넷이 사망 한 서브넷이면 검색이 중단됩니다.
SpacemanSpiff

다른 VLAN의 SLES11에서 (네이티브) 다중 경로를 시도했습니다. 까다로운 부분은 다중 경로 구성을 수정하는 것이므로 동일한 물리적 스토리지로 이동 한 iSCSI 대상은 동일한 장치로 간주되었습니다.
Nils
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.