MADE FOR ALL

블로그 이미지

MSNU

17. 분산 파일 시스템(Distributed File Systems; DFS)

시리즈/OS 2014. 9. 12. 02:22





















17. 분산 파일 시스템(Distributed File Systems; DFS) ▶ 분산 파일 시스템의 목적: 분산 시스템에서 물리적으로 여러 사이트들간에 퍼져 있는 파일들에 대해 동일한 방식의 파일 공유를 지원하는 것 17.1 배경(Background) ▶ 용어 - 서비스(service): 여러 기계에서 수행되는 소프트웨어 항목 → 클라이언트들에게 특정 기능을 제공 - 서버(server): 단일 기계에서 수행중인 서비스 소프트웨어 - 클라이언트(client): 자신의 클라이언트 인터페이스를 형성하는 연산 집합으로 서비스를 유발하는 프로세스 → 기본적인 파일 동작들의 집합으로 구성: 파일 생성, 파일 삭제, 파일 판독, 파일 기록 등 ▶ 분산 파일 시스템의 특징 - 자치성(autonomy): 시스템 내의 클라이언트와 서버는 각각 자치성(autonomy)을 가짐 - 투명성(transparency): 시스템이 클라이언트에게 중앙집중형 파일 시스템처럼 보여짐 - 이동성(mobility): 사용자는 임의의 사이트에서 로그인 가능 ▶ 분산 파일 시스템의 환경과 구현에는 그 종류가 매우 다양함 → 주요 성능 측정: 다양한 서비스들을 만족시키기 위해서 요구되는 시간 17.2 네이밍(Naming)과 투명성(Transparency) ▶ 네이밍: 논리적인 객체들과 물리적인 객체들간의 사상 - 사용자: 파일의 이름에 의해서 표현되는 논리적인 자료 객체를 사용 - 시스템: 디스크에 저장되어 있는 물리적인 자료 블록을 조작 → 파일의 추상화: 디스크내의 저장 방식이나 위치를 숨김 ▶ 분산 파일 시스템의 투명성: 네트워크 내에서의 저장 위치까지 숨기는 추상화 기능 첨가 → 파일 중복: 하나의 파일 이름이 주어지면 해당 중복 파일들의 위치 집합을 반환 (즉, 다중 복사본들과 그 위치를 숨김) 17.2.1 네이밍 구조(Naming Structure) ▶ 네이밍 사상에 관한 두 가지 중요 개념 - 위치 투명성(location transparency): 파일의 이름에 그 파일의 물리적 기억장소에 대한 정보를 나타내지 않음 → 파일 위치가 고정됨 ex) 대부분의 시스템 - 위치 독립성(location independency): 파일의 물리적 기억장치의 위치가 변경되어도 파일 이름을 변경할 필요 없음 → 파일 위치의 자동 변경 가능(보다 강력한 속성) ex) Andrew 등 일부 ▶ 위치 독립성의 특성 - 위치 독립성에 의한 이름과 위치의 분리는 더 좋은 추상화를 제공 - 위치 독립성은 기억 장소 공유를 증진시킴: 즉, 시스템 전체의 디스크 이용률을 균등화할 수 있음 - 위치 독립성은 네이밍 계층을 저장장치 계층이나 컴퓨터 내부 구조로부터 분리할 수 있음 17.2.2 네이밍 기법(Naming Schemes) ▶ 세 가지 접근 방법 ① 파일의 이름을 호스트 이름(host name)과 지역 이름(local name)의 조합으로 구성하는 방법 - 가장 간단한 방법 - 시스템 전역에 걸쳐 유일한 이름을 보장 - 위치 투명성과 위치 독립성 없음 - 동일한 파일 동작으로 지역 또는 원격 파일 모두에 적용 가능 ② 원격 디렉토리들을 지역 디렉토리에 붙일 수 있게 하는 방법 - Sun의 네트워크 파일 시스템(NFS)에서 사용 - 수동 마운팅 ↔ 자동 마운팅: 마운트 포인트와 파일 구조 이름의 테이블을 기반으로 요구 시에 마운트됨 - 투명성 있는 공유를 지원하는 방식이지만 제한적임 ③ 구성 파일 시스템들을 전체적으로 통합하는 방법 - 이상적으로, 구성된 파일 시스템 구조는 전통적인 파일 시스템 구조와 동일한 형태임 - 실제로는 이러한 목표를 어렵게 하는 여러 특별한 파일이 존재함 ex) 장치 파일, 이진 디렉토리 등 ▶ 네이밍 구조의 평가: 관리의 복잡성 → NFS 구조(②)가 가장 복잡하고 어려움: 임의의 원격 디렉토리가 지역 디렉토리에 부착될 수 있기 때문에, 전체 계층은 비구조적일 수 있음 17.2.3 구현 기법(Implementation Techniques) ▶ 투명한 네이밍 기법의 구현: 파일 이름을 연관된 위치로 사상하는 작업 필요 - 파일을 구성단위로 모으는 기법 - 저수준이면서 위치 독립적인 파일 식별자 사용 → 구조적 이름 사용 1) 파일이 속해있는 구성 단위를 식별 2) 단위내의 특별한 파일을 식별 17.3 원격 파일 접근(Remote File Access) ▶ 원격 파일 접근: ‘원격 서비스 기법’ 사용 - 접근을 위한 요구들은 서버에 전달되고, - 서버 기계는 접근을 수행하고, - 그 결과를 사용자에게 돌려줌 ex) 원격 프로시저 호출(RPC) → 성능 보장을 위해 캐싱(cashing) 사용: 네트워크의 교통량과 디스크 입출력을 감소시킴 17.3.1 기본 캐싱 기법(Basic Caching Scheme) ▶ 캐싱의 개념 - 만일 어떤 접근 요구를 만족하는 자료가 캐시되어 있지 않으면 이 자료의 복사본을 서버로부터 클라이언트 시스템으로 이동시키고, 접근은 캐시된 복사본 상에서 행해짐 - 동일한 정보에 대한 반복된 접근은 부가적인 네트워크 접근 없이 지역적으로 처리될 수 있음 - 요구 페이지 가상 기억장치와 유사 → “캐시 일관성 문제” 발생(17.3.4절 참조) ▶ 캐싱의 단위가 증가할수록, - 적중률(hit-ratio) 증가 - 실제적인 자료 전송시간이 지연 - 일관성 문제 증가 17.3.2 캐시 위치(Cache Location) ▶ 캐시된 자료의 저장 위치 ① 디스크 캐시: 비휘발성이므로 기억장치의 오류 발생시에도 자료가 지역에 보관됨 ② 주기억장치 캐시 - 디스크가 없어도 됨 - 접근 속도가 빠름 - 급격한 성능 향상 추세 - 서버와 사용자를 위한 단일 캐싱 기법의 설계 가능 17.3.3 캐시 갱신 전략(Cache Update Policy) ▶ 수정된 자료 블록을 서버의 마스터 복사본에 갱신하기 위한 전략 ① 즉시 기록(write-through): 수정직후 즉시 기록하는 방법 → 다른 기록 접근을 지연시킴 ② 교체 기록(alternate write)/지연 기록(delayed-write): 수정은 캐시에서 이루어지고, 마스터 복사본의 수정을 지연하는 방법 - 장점: 기록 접근이 신속하고, 마스터 복사본에 다시 기록되기 전에도 자료 갱신 가능 - 단점: 신뢰성 문제 초래 - 사용자 기계 손상시 기록되지 않은 자료의 분실 가능 ▶ 지연 기록 기법의 종류 ① 클라이언트의 캐시에서 블록이 나오기 직전에 반영하는 방법 → 장시간 캐시에 상주 가능 ② 정규 기간마다 캐시를 조사하여 지난 조사 이후 갱신된 블록을 반영하는 방법 → 교체 기록과 즉시 기록 전략의 절충안 ③ 파일이 폐쇄될 때 반영하는 방법: “폐쇄시 기록(write-on-close)” → 짧은 시간 열리거나 또는 가끔 변경되는 파일의 경우 비효율적이고, 프로세스 닫기가 지연됨 17.3.4 일관성(Consistency) ▶ 클라이언트 기계는 캐시된 자료와 마스터 복사본이 일치하는지를 결정해야 함 → 불일치하면 캐시자료를 더 이상 접근하지 않아야 하고, 가장 최신의 복사본이 캐시되어야 함 ▶ 캐시의 타당성 검증 방법 ① 클라이언트 시작 접근 방법(client initiated approach) - 클라이언트가 서버와의 접촉을 통해서 타당성 검사를 시작 - 타당성 검사의 빈도가 중요 → 모든 접근 전의 검사에서 파일의 첫 접근(파일 열기) 검사에 이르기까지 다양하고, 타당성 검사와 중복되는 모든 접근은 지연됨 ② 서버 시작 접근 방법(server initiated approach) - 서버가 불일치 가능성을 발견하면, 캐시된 일부 또는 전체 파일을 기록 - 불일치 가능성은 파일이 서로 다른 두 클라이언트에 의해 충돌 상태로 캐시될 때 발생함 17.3.5 캐싱(Caching)과 원격 서비스(Remote Service)의 비교 ▶ 캐싱과 원격 서비스의 비교 - 원격 접근은 캐싱이 사용되면 효율적으로 처리될 수 있는 반면, 원격 서비스만으로 처리하면 네트워크 통신량, 서버 부하, 성능면에서 저하됨 - 캐싱에서의 대량 자료의 전송이 원격 서비스에서의 특정 요청에 대한 연속된 응답 전송보다 네트워크 부하가 적음 - 캐시 일관성 문제는 캐싱의 가장 큰 단점임 - 캐싱의 장점을 살리기 위해서는 실행을 지역 디스크나 기억장치를 가지는 클라이언트로 이동시키는 것이 바람직함 - 캐싱의 경우에 저수준의 기계간 인터페이스와 고수준의 사용자 인터페이스가 매우 다른 반면, 원격 서비스의 경우에는 기계간 인터페이스가 지역 사용자 파일 시스템 인터페이스를 그대로 확장한 것이라 할 수 있음 17.4 상태 정보를 가진 서비스(Stateful Service)와 상태 정보가 없는 서비스(Stateless Service) 유형 내용 상태 정보를 가진 서비스 상태 정보가 없는 서비스 서버의 역할 - 클라이언트에 의해 접근되는 파일을 계속 추적 - 클라이언트가 요구하는 블록을 단순히 제공 처리 속도 - 파일이 주기억장치에 캐시되고, 연결 식별자(inode)를 통해 쉽게 접근되므로 디스크 접근 횟수를 줄일 수 있음 - 파일의 순차적인 접근을 파악하여 다음 블록을 미리 판독할 수 있음 - 클라이언트의 목적을 서버가 알 수 없으므로, 클라이언트의 요구 메시지가 길고 요구에 대한 처리 속도가 느림 서비스 도중의 시스템 손상 - 서버 손상: 손실된 서버의 휘발성 정보를 복구하기 위해 클라이언트와 대화하는 프로토콜을 사용하여 손상 발생 전의 상태로 복구함 - 클라이언트 고장: “고아 탐지 및 제거(orphan detection and elimination)” 손상된 클라이언트의 프로세스 상태를 기록하고 있으므로 추후 복구 가능 - 서버 손상: 자신의 재구성 쉬움 단, 클라이언트는 서버가 느려졌다고 판단함 - 클라이언트 고장: 파일 동작을 클라이언트 스스로 수행하므로 불가능 추가 제한 요소 - 일정하고 전체적이고 저수준의 네이밍 기법이 요구됨 - 연속된 파일 동작 요구에 대해 여러 단계의 처리가 필요함 17.5 파일 중복(File Replication) ▶ 파일 중복의 특성 - 파일 중복은 가용성을 증가시킴 → 다중 기계 중복의 경우, 접근 요구에 대해 최단 서비스 시간이 소요되는 복사본 선택 - 파일 중복은 결함 독립 기계에서의 복사라야 함 → 복사본의 유용성은 나머지 복사본의 유용성과 무관 - 파일 중복을 사용자에게 숨기는 것이 바람직 → 중복된 파일 이름을 특정 복사본에 사상시키는 네이밍 필요 → 중복 제어: 중복의 수준을 결정하고 복사본의 위치를 결정하는 제어 행위 ▶ 문제점: 복사본의 갱신 → 사용자의 관점에서 복사본들은 동일한 논리적인 존재이므로, 임의 복사본에 대한 갱신은 다른 모든 복사본에게 반영되어야 함(일관성) - 일관성 유지 방법: 일관성 유지를 위해 프로세스의 무한정 대기 상태를 초래할 수 있는 방법 - 일관성 무시 방법: 프로세스 수행을 보장하기 위해 일관성 파괴로 인한 오류를 감수하는 방법 ex) Locus 시스템 ▶ 사례: Ibis의 중복 기법 - 주 복사 방법의 변형 - 이름 사상 영역: <주 복사본 식별자, 지역 복사본 식별자>으로 구성 - 요구 중복(demand replication): 존재하지 않는 복사본을 지역적으로 캐시하여 읽는 방법 - 갱신은 주 복사본에서만 실행되고, 적절한 메시지를 보내 다른 중복들을 무효화시킴 → 단위적이고 순차적인 무효화가 보장되지 않기 때문에 훼손된 복사본이 유효하다고 여겨질 수 있음 17.6 시스템 예제 ▶ 분산 파일 시스템의 5 가지 예: UNIX United, Sun NFS, Andrew, Sprite, Locus → 17.6.1-17.6.5






'시리즈 > OS' 카테고리의 다른 글

18. 분산 조정(Distributed Coordination)  (0) 2014.09.14
분산 시스템 구조(Distributed System Structures) -네트워크 운영체제(Network Operating Systems)  (0) 2014.09.06
5 부 분산 시스템(Distributed Systems) -15. 네트워크 구조(Network Structures)  (0) 2014.08.24
제3의 저장장치 구조(Tertiary Storage Structure)  (0) 2014.08.20
13.1 디스크 구조(Disk Structure) - 보조저장장치 구조(Secondary Storage Structures)  (0) 2014.08.15
Posted by MSNU






favicon

MADE FOR ALL

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 분류 전체보기 (609)
    • 러시아어 (16)
    • myPPT (414)
    • 시리즈 (166)
      • OS (14)
      • 회계 (57)
      • 경제 (22)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바