http://blogs.technet.com/koalra/archive/2007/07/25/windows-server-2008-38-dfs.aspx

분산 파일 시스템은 사실 Windows 2000 Server에서부터 제공하던 기능입니다만, 한번쯤은 상기 or 살펴볼 필요성이 있어보여, 오늘은 DFS에 대해서 적어보려고 합니다. Windows Server 2008 관점에서 DFS를 바라보면, DFS 구조 자체에 대해서는 큰 변화가 없습니다. 이미 Windows Server 2003 R2에서 기능 개선이 일어났고, Windows Server 2008의 특징은 도메인 컨트롤러간 SYSVOL 복제에 대해 더이상 FRS에 대한 의존성은 없어지고, DFS의 복제 서비스를 이용한다는 것입니다. 자 그럼 DFS에 대해서 한번 살펴볼까요?

How DFS Eliminates Impact of Server Consolidation

위의 그림을 잘 살펴보시면 DFS의 기본적인 용도가 이해되실 수 있습니다. 파일 서버가 총 4대가 있고, 4대당 저장하고 있는 소프트웨어나 파일의 대상은 틀립니다. 이 경우 사용자의 입장에서는 개개별 서버에 대한 정보를 알고 있어야지 원하는 정보를 찾아서 사용하실 수 있습니다. 말로는 알아야 한다라고 쉽게 이야기할 수 있지만, 업무상이나 서버의 댓수가 늘어날수록 사용자의 편의성은 떨어지게 됩니다. 그럼 하단 오른쪽 그림과 같은 형태는 어떨까요? 하나의 서버에 접근을 하면, 마치 폴더와 같이 나타나고, 이 폴더를 접근할 때, 시스템에서 사용자에겐 폴더를 접근하는 것처럼 보이지만 내부적으론 해당 서버의 UNC 경로로 접근하게 되는... 결국 사용자가 보았을 때는 상단의 그림과 같은 탐색기 구조를 사용할 수 있게 됩니다.

Using DFS to Publish Applications

분산 파일 시스템... 말 그대로 분산되어져 있는 파일 시스템입니다. 분산 파일 시스템의 루트 서버가 개개별 폴더와 서버의 UNC 경로를 맵핑시켜놓는 구조입니다.

DFS의 또하나의 기능은 바로 서버간 복제가 가능하다는 것입니다. 예를 들어, 상위 그림의 Apps 폴더에 대해서 샌프란시스코, 마이애미, 달라스는 같은 콘텐츠를 가지고 있어야 합니다. 이 경우 수동으로 관리자가 복제를 해주는 것이 아니라, DFS의 복제 서비스를 이용할 수 있습니다. Windows Server 2003까지는 이 서비스의 이름이 FRS(File Replication Service)였으며, Windows Server 2003 R2, Windows Server 2008은 FRS의 몇가지 문제점 해결 및 성능을 향상시킨 DFS-R(Replication)을 이용합니다.

Art Image

지역적 구분뿐만 아니라, 같은 서브넷상, 결국 네트워크적으로 연결만 되어져 있다면 서버간 복제는 가능하다는 것이죠. 이런 복제시 구성 방법은 허브-스포크 방식, 풀메쉬 방식을 사용하실 수 있습니다.

Replication topology types

허브-스포크 방식은 말 그대로 중앙에 허브를 기준으로 데이터를 복제하게 할 수 있으며, 풀 메쉬 방식은 모든 서버간에 복제 구조를 만들어주는 것을 의미합니다.

Windows Server 2003까지의 복제 서비스인 FRS와 Windows Server 2003 R2, Windows Server 2008에서 사용하는 DFS-R의 경우엔 복제 알고리즘이 틀립니다. FRS의 경우에는 1차 복제후, 원본 또는 대상지가 변경되어을 경우, 재 복제에 대해서 모든 용량을 재복제합니다. 600메가짜리 파일이 1바이트라도 변경되었다면, 600메가를 재 복제한다는 것입니다. 이러한 문제점을 개선하기 위해 Windows Server 2003 R2의 DFS-R의 경우에는 RDC(Remote Differential Compression) 기술을 이용합니다. 이는 복제 대상 파일을 일정 단위로 나눠(Chunking), 이에 대한 해쉬값을 비교한 후, 변경된 부분에 대해서만 복제해주는 기술입니다.

image

마지막으로 소개할 DFS의 특징은 액티브 디렉터리 사이트를 이용한다는 것입니다. 서울과 부산에 대해 액티브 디렉터리가 구성되어져 있고, 서울, 부산간 서버 데이터 복제를 DFS로 구축하였다면, 같은 폴더에 대해 부산 사용자는 부산 서버로, 서울 사용자는 서울 서버로 1차적으로 접근하게 할 수 있고, 해당 지역의 서버가 문제가 있을 경우에만, 해당 서버로 Fail Over하게 됩니다. Windows Server 2003 R2부터는 다시 본 지역의 서버가 살아나게 되면, 다시 Fail Back할 수 있게 DFS 구조가 약간 바뀌었습니다.

[*][dc-01.contoso.com]
[*][CONTOSO]
[*][contoso.com]
[+][contoso.com]
        [-dc-02.contoso.com]
        [+dc-01.contoso.com]
        [-dc-04.contoso.com]
        [-dc-03.contoso.com]
[-][AFRICA]
[-][EUROPE]
[+][CONTOSO]
        [-DC-02]
        [+DC-01]
        [-DC-03]
        [-DC-04]
[-][europe.contoso.com]
[-][africa.contoso.com]

클라이언트는 어느 서버로 갔는지 실제 폴더의 등록 정보를 통해 확인하기 전까지는 알수가 없습니다.

image

Windows Server 2003 R2에서도 추가된 DFS 기능을 사용하기 위해서는 구성 요소의 설치가 필요했습니다. Windows Server 2008부터는 아예 DFS 모듈이 기본적으로 설치되어져 있지 않습니다.

image

Server Manager를 통해 추가적으로 설치해주셔야 합니다.

Windows 2000 시절부터 있었던 분산 파일 시스템에 대해서 조금만 관심을 가져주신다면, 많은 현업 이슈에 대해서 손쉽게 해결이 가능할 수도 있을 것으로 생각됩니다. 시간이 되시면 한번쯤 살펴보는 것도 좋지않을까요?

참고 링크 : Distributed File System Technology Center

+ Recent posts