관련하여 문의가 있어서 다음과 같이 정리해보았습니다.
결론부터 말하자면, Port Binding 설정이 되어있는 상태에서 해당 설정을 풀게 되면, 해당 Device 로의 연결에 문제가 생깁니다. 즉 온라인 작업이 아니라고 보시면 되겠습니다.
iSCSI Port Binding 은 Multipath 의 정상적인 동작을 위해 필요한 설정으로 아래 내용 참고 부탁드립니다.
일단 포트바인딩을 언제 사용해야 하고 언제 사용하면 안되는지에 대해서 정리를 하면..
- ESXi 의 iSCSI 용 vmkernel 인터페이스와 Target 스토리지의 IP 가 동일 네트워크인 경우 – 필요함.
- ESXi 의 iSCSI 용 vmkernel 인터페이스와 Target 스토리지의 IP 가 동일 네트워크가 아닌 경우 – 즉 라우팅을 타고 통신하는 경우 – 필요하지 않습니다.
포트바인딩 테스트 결과
- Test 환경
- ESXi
- iSCSI 용 vmk 인터페이스1 : 192.168.13.101
- iSCSI 용 vmk 인터페이스2 : 192.168.13.111
- 포트바인딩 설정되어있는 상태
- iSCSI Target
- 192.168.13.11
- ESXi
이렇게 설정하면 두개의 Path 가 동작하는 상태입니다. PSP 는 round robin 입니다.
이상태에서 포트바인딩을 제거하면 다음과 같은 로그가 발생합니다.
2019-01-12T18:54:11.434Z: [iscsiCorrelator] 621016129us: [vob.iscsi.connection.stopped] iScsi connection 0 stopped for vmhba65:C1:T0 2019-01-12T18:54:11.435Z: [scsiCorrelator] 621016433us: [vob.scsi.scsipath.pathstate.dead] scsiPath vmhba65:C1:T0:L1 changed state from on 2019-01-12T18:54:11.435Z: [iscsiCorrelator] 621016567us: [vob.iscsi.connection.stopped] iScsi connection 0 stopped for vmhba65:C0:T0 2019-01-12T18:54:11.435Z: [APDCorrelator] 621016821us: [vob.storage.apd.start] Device or filesystem with identifier [naa.6589cfc000000c9d40a209e6921c0d9f] has entered the All Paths Down state. 2019-01-12T18:54:11.435Z: [APDCorrelator] 621024930us: [esx.problem.storage.apd.start] Device or filesystem with identifier [naa.6589cfc000000c9d40a209e6921c0d9f] has entered the All Paths Down state. 2019-01-12T18:54:11.438Z: [scsiCorrelator] 621027413us: [esx.problem.storage.connectivity.lost] Lost connectivity to storage device naa.6589cfc000000c9d40a209e6921c0d9f. Path vmhba65:C1:T0:L1 is down. Affected datastores: "Datastore". 2019-01-12T18:54:11.438Z: [scsiCorrelator] 621016761us: [vob.scsi.scsipath.pathstate.dead] scsiPath vmhba65:C0:T0:L1 changed state from on 2019-01-12T18:54:11.438Z: [scsiCorrelator] 621028213us: [esx.problem.storage.connectivity.lost] Lost connectivity to storage device naa.6589cfc000000c9d40a209e6921c0d9f. Path vmhba65:C0:T0:L1 is down. Affected datastores: "Datastore".
위와 같이 현재 연결되어있는 패스가 Dead 상태가 되며, 해당 볼륨이 APD(All Paths down) 상태가 되고, Device 의 상태도 Dead or Error 상태로 변경됩니다.
다만 위의 상태가 되더라도, vmk 인터페이스와 target 간 통신은 계속 이루어집니다.
그 이슈는 물리적인 네트워크가 손실된 것이 아닌, iSCSI connection 이 종료된 상태이기 때문에, Device 로의 Path 만 삭제된 상태라서 그렇습니다.
그렇기 때문에 스토리지로의 핑은 정상적으로 됩니다. 그러나 iSCSI 세션이 종료된 상태여서 스토리지로의 연결은 끊어진 상태입니다.
그리고 APD 상태가 된 후 140초가 지나면 더 이상 I/O 를 try 하지 않습니다. (ESXi 의 Hostd 가 영향받는 것을 멈추기 위해서)
2019-01-12T18:56:31.439Z: [APDCorrelator] 761018108us: [vob.storage.apd.timeout] Device or filesystem with identifier [naa.6589cfc000000c9d40a209e6921c0d9f] has entered the All Paths Down Timeout state after being in the All Paths Down state for 140 seconds. I/Os will now be fast failed. 2019-01-12T18:56:31.439Z: [APDCorrelator] 761028477us: [esx.problem.storage.apd.timeout] Device or filesystem with identifier [naa.6589cfc000000c9d40a209e6921c0d9f] has entered the All Paths Down Timeout state after being in the All Paths Down state for 140 seconds. I/Os will now be fast failed.
이때 VM 의 상태를 확인해보면, VM 이 hang 상태가 되어있는 것으로 보이고, I/O 도 발생하지 않습니다. 다만 OS 에 따라서 Crash 상태가 되거나, Hung 상태가 되거나 증상은 다를 수 있습니다.
이 상태에서 Rescan 을 하면 Path 를 다시 스캔해서 iSCSI 연결이 복구됩니다. 다만 포트바인딩 설정이 없기 때문에 멀티패스가 아닌 Single Path 를 사용하는 상태가 됩니다.
이때 다시 포트바인딩 설정을 넣으면, 원래 멀티패스 상태로 돌아오게 됩니다.
아래 링크 내용도 참조 부탁드립니다.
https://kb.vmware.com/s/article/2038869
http://wahlnetwork.com/2015/03/09/when-to-use-multiple-subnet-iscsi-network-design/