VMware ESXi 호스트를 운영하다 보면 NFS 데이터스토어가 갑자기 접근 불가능(Inactive) 상태가 되어 호스트의 스토리지 목록에서 회색으로 표시되는 경우가 종종 발생합니다. 흥미로운 점은 네트워크 수준에서는 해당 NFS 스토리지가 여전히 정상적으로 접근 가능하다는 것입니다. 이런 문제는 보통 NFS 스토리지를 제거한 후 다시 추가하면 해결됩니다.
제거 시 발생하는 오류
그러나 vSphere Client에서 비활성화된 NFS 스토리지를 제거하려고 하면 다음과 같은 오류가 반환되는 경우가 있습니다.
The resource datastore_nfs02 is in use.
또는 다음과 같은 메시지가 나타날 수도 있습니다.
Call "HostDatastoreSystem.RemoveDatastore" from object "datastoreSystem-28" on vCenter Server "xxxx" failed.
CannotRemove datastore 'datastore_name' because Storage I/O control is enabled on it. Correct it and re-try the operation
오류 원인
오류 메시지를 분석해 보면, Storage I/O Control(SIOC)이 활성화되어 있어 NFS 스토리지를 제거할 수 없다는 의미입니다. 그런데 SIOC를 비활성화하려고 시도하면 이번에는 다른 오류가 발생합니다.
Datastore is not accessible
즉, vSphere Client의 일반적인 방법으로는 문제를 해결할 수 없는 상황입니다.
해결 방법: SSH를 통한 직접 제거
NFS 스토리지를 정상적으로 제거하려면 SSH를 통해 ESXi 호스트 서버에 직접 연결해야 합니다(SSH는 vSphere Client에서 활성화할 수 있습니다).
1단계: NFS 스토리지 목록 확인
먼저 시스템에 등록된 NFS 스토리지 목록을 확인합니다.
esxcli storage nfs listESXi 4.x 버전에서는 다음 명령어를 사용합니다.
esxcfg-nas -l2단계: NFS 스토리지 마운트 해제
다음 명령어로 해당 NFS 스토리지를 제거합니다.
esxcli storage nfs remove –v datastore_nfs02ESXi 4.x 버전에서는 아래 명령어를 사용합니다.
esxcfg-nas -d datastore_nfs02참고: NFS 스토리지 이름에 공백이 포함되어 있다면, 반드시 큰따옴표(")로 묶어서 입력해야 합니다.
3단계: vSphere Client에서 새로고침
명령어 실행 후에도 vSphere Client에서 NFS 데이터스토어가 사라지지 않는다면, ESXi 스토리지 섹션(Configuration → Storage)에서 Refresh 버튼을 클릭하여 목록을 갱신하세요.
마무리
참고: 위 작업은 비활성화된 스토리지를 제거해야 하는 모든 ESXi 호스트에서 각각 수행해야 합니다. 공유 NFS 스토리지를 여러 호스트가 사용 중이라면, 각 호스트에 개별적으로 SSH로 접속하여 동일한 절차를 진행하시기 바랍니다.