본문 바로가기
IT/스토리지

SAN 스위치로 연결해도 공유가 안 된다고? 위험한 LUN 공유 (NTFS가 망가지는 이유)

by 아이럽스토리지 2026. 1. 26.
반응형

회사에서 큰맘 먹고 고가의 SAN 스토리지광(FC) 스위치를 도입했습니다.
서버 A와 서버 B에 HBA 카드를 꽂고, SAN 스위치를 통해 스토리지의 10TB짜리 LUN 하나를 동시에 바라보게 조닝(Zoning)까지 마쳤습니다.

"자, 이제 네트워크로 연결됐으니 A서버랑 B서버랑 같이 쓰면 되겠지?"

윈도우에서 포맷하고 데이터를 넣는 순간, 처음에는 잘 되는 것 같습니다.
하지만 곧, 파일이 0바이트로 변하고 폴더 이름이 깨진 외계어로 변합니다.

분명히 비싼 "스위치(Switch)"를 통해 네트워크로 연결했는데, 왜 공유가 안 되고 데이터가 파괴될까요?
그 원인은 하드웨어가 아니라 운영체제(OS)의 착각 때문입니다.


1. SAN 스위치는 '길'만 열어줄 뿐

가장 먼저 깨야 할 오해는 "SAN은 네트워크니까 NAS처럼 동작할 것"이라는 생각입니다.

  • NAS
    파일 공유를 목적으로 만든 '똑똑한 비서'입니다.
    누가 파일을 수정 중이면 다른 사람에게 "기다려"라고 신호를 줍니다.

  • SAN 스위치
    그냥 데이터가 지나가는 길만 뚫어줄 뿐, 신호 충돌하든  말든 관여하지 않습니다.

스위치를 통해 LUN을 할당받은 서버(OS)는 이것을 네트워크 드라이브가 아니라,
"내 배 속에 꽂힌 로컬 하드디스크(Local Disk)"라고 인식합니다.
바로 여기서 문제가 발생합니다.


2. 동기화의 부재: "내 머릿속의 지우개" (메타데이터 불일치)

윈도우의 NTFS나 리눅스의 EXT4 같은 일반 파일 시스템은 "나 혼자 쓴다"는 전제하에 작동합니다.
속도를 높이기 위해 파일의 위치 정보(메타데이터)를 스토리지에서 매번 읽지 않고,

"자기 메모리(RAM)에 캐싱(기억)"해 둡니다.


[데이터가 깨지는 시나리오]

  1. 상황: 100번지 구역이 현재 '비어 있음' 상태입니다.
  2. 서버 A: 100번지에 '보고서.ppt'를 저장합니다. A의 메모리에는 "100번지 사용 중"이라고 기록됩니다.
  3. 서버 B: (A가 쓴 걸 모름) B의 메모리에는 여전히 "100번지 비어 있음"이라고 되어 있습니다.
  4. 사고 발생: 서버 B가 "어? 100번지 비었네?" 하고 거기에 '축구경기.avi'를 덮어씁니다.
  5. 결과: A가 저장한 보고서는 사라지고, 파일 시스템 족보(MFT)가 꼬이면서 파티션 전체가 RAW 포맷으로 변해버립니다.

즉, 스위치로 아무리 잘 연결해도 서버 A와 서버 B가 서로 "내가 뭘 썼어"라고 대화하지 않기 때문에 사고가 나는 것입니다.


3. LUN 마스킹과 조닝(Zoning)은 공유 기술이 아니다

"스토리지 설정에서 LUN 마스킹(Masking)을 해서 두 서버에 다 열어줬는데요?"

그건 "공유"가 아니라 "접근 허용"입니다.

  • LUN 마스킹/조닝: "너네 둘 다 이 방에 들어와도 돼." (문만 열어줌)
  • 파일 잠금(Locking): "A가 글씨 쓰고 있으니까 B는 잠깐 펜 내려놔." (이 기능이 없음)

일반적인 SAN 환경에서 LUN 하나를 두 서버에 매핑하는 건 "절대 금기 사항"입니다. 

엔지니어가 실수로라도 이렇게 세팅하면 LUN에 Data를 모두 손상될 수 있습니다.


4. 그럼 SAN으로 공유하려면 어떻게 해야 하나?

하지만 예외는 잇습니다. 
"서로 대화하는 기능"을 추가하면 됩니다.

 

방법 1: 클러스터 파일 시스템 (Cluster File System) 설치
서버 A와 B에 특수한 소프트웨어를 깝니다.
이 소프트웨어는 SAN 라인을 타고 서로 신호를 주고받습니다. ("나 100번지 건드린다? 너네 쓰지 마!")

  • 종류: VMware VMFS (가상화가 잘 되는 이유), Oracle RAC (ASM), RedHat GFS2, IBM GPFS
  • 이것들이 설치되어야 비로소 동시 읽기/쓰기(Active-Active)가 가능해집니다.

방법 2: HA (High Availability) 구성 (Active-Passive)
공유가 아니라 "교대 근무"를 시키는 겁니다.
즉 교대로 LUN의 소유권을 가지고 사용하는 겁니다.
평소에는 서버 A만 LUN을 붙잡고(Mount) 씁니다. 서버 B는 연결은 되어있지만 구경만 합니다.
그러다 A가 고장 나면, B가 즉시 LUN을 넘겨받아 서비스를 이어갑니다. (MSCS, WSFC 등)

 


5. 결론은 SAN은 로컬 디스크 !!

이것만 기억하면 됩니다. "SAN 케이블(광케이블)은 아주 긴 SATA 케이블과 똑같다."

내 컴퓨터 C드라이브에 연결된 SATA 케이블을 Y자로 따서 옆 사람 컴퓨터에 억지로 연결한다고 상상해 보세요.
당연히 고장 나겠죠? SAN 스위치도 똑같습니다.

파일을 공유하고 싶다면?

  1. 서버 한 대에만 SAN을 붙이고, 그 서버에서 "폴더 공유(SMB/NFS)"를 하세요. (NAS 방식)
  2. 아니면 비싼 클러스터 파일 시스템 라이선스를 사세요. (엔터프라이즈 방식)


📌 함께 읽어보면 좋은 글

SAN 환경에서 동시 접속을 가능하게 해주는 마법의 소프트웨어, "IBM GPFS(Storage Scale)"의 원리가 궁금하다면 아래 글을 확인해 보세요.

🔗 IBM GPFS(Storage Scale) 완벽 정리: 아키텍처 구조와 NFS와의 결정적 차이 글 보러가기

 

그렇다면 SAN 스토리지와 NAS 스토리지의 근본적인 차이는 무엇일까요?
블록(Block)과 파일(File)의 개념 차이를 명확히 정리해 드립니다.

🔗 SAN이란? (작동방식, 유형, 특징 및 기능) 글 보러가기

 

 
 

 

 

반응형