VLAN을 통해 이더넷과 iSCSI 분리

VLAN을 통해 이더넷과 iSCSI 분리

SAN과 함께 몇 대의 서버로 구성된 소규모 클러스터를 설정했습니다. 서버는 Ubuntu 20.04 LTS를 실행하고 있습니다.

공급업체에서 제공한 지침(이전에 읽은 내용을 찾을 수 없음)을 사용하여 SAN과 서버 간의 iSCSI 연결을 이더넷 트래픽과 분리해야 한다고 제안했습니다(또는 "반드시 있어야" 했을까요?). 이 때문에 스위치에 두 개의 VLAN을 구성했습니다. 하나는 iSCSI 트래픽용이고 다른 하나는 서버 간 이더넷 트래픽(SAN이 켜져 있지 않음)용입니다.

지금까지는 괜찮은 것 같습니다. 이더넷이 172.16.100.XXX/24에 있고 iSCSI가 172.16.200.XXX/24에 있다고 가정합니다. 보다 구체적으로 주소는 다음과 같습니다.

기계 이더넷 iSCSI 외부 이더넷에서도 마찬가지입니까?
서버 1 172.16.100.1 172.16.200.1
서버 2 172.16.100.2 172.16.200.2
서버 3 172.16.100.3 172.16.200.3
SAN 해당 없음 172.16.200.4 아니요

당연히 ssh두 VLAN 중 하나를 사용하여 서버 간을 수행할 수 있습니다. 즉, 서버 2에서 서버 1로 다음 중 하나를 수행할 수 있습니다.

  • ssh 172.16.100.1
  • ssh 172.16.200.1
  • 외부에 보이는 IP 주소를 통해 ssh

제가 걱정하는 것은 포트 22(ssh)가 모든 서버에서 차단되도록 방화벽 규칙을 사용하여 172.16.200.X 서브넷에서 비iSCSI 트래픽을 더 잘 분리해야 하는지 여부입니다.

그 반대는 걱정하지 않습니다. SAN은 VLAN 200에만 있습니다. VLAN 100이 존재하는지 모르므로 갑자기 해당 VLAN으로 iSCSI 트래픽을 보내지 않습니다.

저는 포트 7777을 사용하는 것으로 보이는 Oracle Cluster Filesystem을 사용하고 있습니다. 포트 7777만 사용되도록 VLAN의 모든 포트를 차단해야 할까요? iSCSI 네트워크에 이더넷 트래픽이 있으면 알아야 할 문제(지연 또는 오류)가 발생합니까?

감사합니다!

답변1

제가 걱정하는 것은 포트 22(ssh)가 모든 서버에서 차단되도록 방화벽 규칙을 사용하여 172.16.200.X 서브넷에서 비iSCSI 트래픽을 더 잘 분리해야 하는지 여부입니다.

DNS 이름을 사용하여 다른 서버에 연결하고 해당 이름이 LAN 주소로 확인되면 문제가 없습니다. (물론 LAN IP 주소를 직접 사용할 수도 있습니다.)

만약 너라면정말SAN에서 모든 비-iSCSI 트래픽을 비활성화하려면 다음 중 하나를 수행해야 합니다.

  1. 모든 서비스가 LAN IP 주소에만 바인딩되도록 구성
  2. 서버의 로컬 방화벽을 사용하여 원치 않는 모든 트래픽을 필터링합니다.
  3. iSCSI 스위치 포트에서 ACL을 사용하여 원치 않는 모든 트래픽 필터링

필터링하는 경우 iSCSI를 허용하고 다른 모든 것을 거부하는 것이 올바른 접근 방식입니다.

iSCSI 네트워크에 이더넷 트래픽이 있으면 문제가 발생합니까(지연 또는 오류?)

LAN과 SAN 트래픽을 분리하는 주된 이유는어떤 경우에도 스토리지 네트워크가 막히지 않도록 하고 싶습니다.. 만약 그렇다면 I/O 오류가 빠르게 발생하여 데이터 손실과 심지어 손상까지 초래할 수 있습니다. (매우) 적은 양의 길 잃은 트래픽은 실제로 걱정할 사항이 아닙니다.

그러나 서비스 바인딩(#1)이 실용적이지 않거나 다른 서버 관리자가 문제를 가볍게 여기는 경우에는 ACL 접근 방식을 사용합니다. 예를 들어 동적 DNS 업데이트는 iSCSI IP를 DNS에 매우 쉽게 배치하고 모든 서버 간 트래픽이 SAN에 빠르게 도달할 수 있습니다.

관련 정보