assignment 5 : distributed file systems (dfs)
DESCRIPTION
EECE 600 : Distributed Systems (Fall 2006). Assignment 5 : Distributed File Systems (DFS). 2006. 11. 22 Presented by Park Woo Ram System Software Lab., Postech. Outline. Introduction Technologies Applications Real-world cases Advanced Information Conclusion. 크고 다양한 데이터의 저장과 회수의 필요성 . - PowerPoint PPT PresentationTRANSCRIPT
1 System Software Lab., POSTECH
Assignment 5 :Assignment 5 :Distributed File Systems (DFS)Distributed File Systems (DFS)
2006. 11. 22
Presented by Park Woo Ram
System Software Lab., Postech
EECE 600 : Distributed Systems (Fall 2006)
System Software Lab., POSTECH 2
OutlineOutline
• Introduction• Technologies• Applications• Real-world cases• Advanced Information• Conclusion
System Software Lab., POSTECH 3
IntroductionIntroduction
• Motivation
데이터의 대용량화 네트워크의 발달
• 크고 다양한 데이터의 저장과 회수의 필요성 .• 사용자들이 네트워크를 통한 파일접근의 용이함 .• 저비용 , 확장성 , 속도의 필요성 .
분산 파일 시스템의 등장
System Software Lab., POSTECH 4
Technologies (1)Technologies (1)
• Basic Concepts– 사용자가 네트워크를 통해 원격에서 접속을 하여 파일에 접근 .
• 인증 서버는 1 개 이상이 될 수 있음 .
– 사용자는 분산 파일 시스템을 하나의 디스크로 인식 .• 사용자가 파일을 생성하거나 쓰게 될 경우 , 분산 파일 시스템은 최적의 storage
server 를 찾아 저장 .• 여러 storage server 를 하나의 디스크처럼 관리하기 위해 manager server
와 directory server, name server 가 필요 .
– 분산 파일 시스템은 scalable 해야 함 .• 시스템에 쉽게 storage server 를 추가하여 서비스 제공 공간을 확장할 수 있어야
함 .
– 다른 사용자와 공유될 파일을 설정할 수 있어야 함 .
System Software Lab., POSTECH 5
Technologies (2)Technologies (2)
• Basic Attributes– Network transparency
• Client 는 local 파일과 동일한 operation 으로 remote 파일에 접근가능 .– Location transparency
• 파일의 이름을 통해 파일이 존재하는 storage server 를 알 수 없음 .– Location independence
• 파일의 위치가 변경될 때 , 파일의 이름은 그대로 유지됨 .– User mobility
• 사용자는 네트워크의 어떤 node 에서든 server 에 접속할 수 있음 .– Fault tolerance
• 시스템의 일부 component 가 failure 되더라도 시스템의 사용이 가능 .– Scalability
• Component 를 추가함으로써 쉽게 용량 확장이 가능 .– File mobility
• 시스템 내 파일은 한 storage server 에서 다른 storage server 로 이동이 가능 .
System Software Lab., POSTECH 6
Technologies (3)Technologies (3)
• Requirements– Concurrent file updates
• 한 client 에서 파일이 변경될 경우 , 다른 client 에 사실을 알려야 함 .
– File replication• Fault-tolerance, 파일 load 의 효율성 .
– Heterogeneity• 플랫폼에 독립적인 interface 를 제공 .
– Fault-tolerance• Client 나 server 의 일부 component 에서 fault 가 발생하더라도 시스템이 유지 .
– Consistency• 파일의 일관성을 보장 .
– Security• Access control.
– Efficiency• 기존 local 파일 시스템과의 성능 차이 최소화 .
System Software Lab., POSTECH 7
Technologies (4)Technologies (4)
• Basic Architecture– Server-Client 모델
• Server : 데이터를 저장할 수 있는 storage 를 제공 .• Client : Server 에 데이터를 쓰기 , 읽기 , 삭제 , 생성 .
Client Server
Storage Servers
Directory Server
Manager Server
분산파일시스템의 동작을 제어 .
디렉토리 구조를 관리함 .
실제 데이터 저장공간을 제공 .
System Software Lab., POSTECH 8
Technologies (5)Technologies (5)
Client Server
< Client Viewer > < Server Viewer >
< Case : 파일 read >1. 파일 요청2. Manager server 에서 요청 수락3. Directory server 에서 파일이 위치한
storage server 파악4. 해당 Storage server 에서 파일 제공5. 파일 전송
1
2
3
45
Manager Server
Directory Server
Storage Servers
System Software Lab., POSTECH 9
Applications (1)Applications (1)
• NFS (Network File System)– Introduction
• Sun Microsystems, 1985.• Open Network Computing Remote Procedure Call (ONC RPC)• 현재 Version 4 (2000) 까지 나옴 .• Unix, Mac OS, Microsoft Windows 등에서 사용 가능 .
– Characteristic• Server 의 디렉토리의 일부를 client 에서 mount 하여 사용 .• Server 의 response 가 느릴 경우 , client 에서 지속적으로 request 를 재전송 .
System Software Lab., POSTECH 10
Applications (2)Applications (2)
UNIX kernel
protocol
Client computer Server computer
system calls
Local Remote
UNIXfile
system
NFSclient
NFSserver
UNIXfile
system
Applicationprogram
Applicationprogram
NFS
UNIX
UNIX kernel
Virtual file systemVirtual file system
Oth
er f
ile s
yste
ms
System Software Lab., POSTECH 11
Applications (3)Applications (3)
• RFS (Remote File Sharing)– Introduction
• AT&T, 1980s• Unix 에서만 사용이 가능 .
– Characteristic• UNIX/POSIX 파일 sementic 을 지원 . (File locking 등 )• Server 의 디렉토리 뿐 아니라 device 에 대한 mount 도 허용 .• 여러 client 의 cache 일관성을 보장 .
– Wright-through 정책 : Client 에서 파일을 write 할 경우 , 해당 파일이 열려있는 다른 client 에 server 가 파일이 변경되었음을 알려줌 .
System Software Lab., POSTECH 12
Applications (4)Applications (4)
• AFS (Andrew File System)– Introduction
• Carnegie Mellon University, 1985• 현재는 Transarc 에서 지속적으로 발표 .
– Characteristic• 네트워크를 독립된 클러스터로 분할 .• Session semantics : 파일이 열려있는 상태에서 다른 client 에 의해
수정되더라도 다른 session 이 열릴 때까지는 변경된 사항이 보여지지 않음 . – 파일 open : client local file system 에 caching.– 파일 close : 변경된 사항을 server 에 알리고 , server 는 해당 파일을 open 한
모든 client 에 알림 .• Volume (File, Directory) 단위로 replication, backup, 삭제 , 이동이 이루어짐 .
– read-write volume, read-only volume
System Software Lab., POSTECH 13
Applications (5)Applications (5)
Venus
Workstations(clients) Servers
Venus
VenusUserprogram
Network
UNIX kernel
UNIX kernel
Vice
Userprogram
Userprogram
ViceUNIX kernel
UNIX kernel
UNIX kernel
System Software Lab., POSTECH 14
Applications (6)Applications (6)
특성 AFS NFS
파일 사용법 항상 같은 디렉토리 구조 Mount 방법에 따라 다른 디렉토리 구조
성능 Disk caching Memory caching
확장성 대규모에서도 성능이 좋음 소규모에서만 성능이 좋음
보안 Kerberos, ACL 특별한 보안 장치 없음
가용성 여러 server 에 replication Replication 기능 없음
시스템 관리 한 server 에서 모든 server 관리 가능 각 server 에서 직접 관리
백업 체계적인 백업 시스템 기존 Unix 방법 사용
< AFS vs. NFS >
System Software Lab., POSTECH 15
Real-world casesReal-world cases
• POSTECH HEMOS System– Introduction
• POSTECH, 1995• AFS 를 기본 파일 시스템으로 사용 .
– Usage (Feb. 2000)• 관리 단위 : 1 Cell (postech.ac.kr)• File server : 9 대• Disk 용량 : 457 Gbytes• File client : 약 300 대• 사용자 : 4609 명
System Software Lab., POSTECH 16
Advanced Information (1)Advanced Information (1)
• Self-* Storage (1)– Storage system 이 스스로 self-configuring, self-organizing, self-
tuning, self-healing, self-managing 등을 수행 .– 이를 위해서 storage system 은 현재 상태와 목표를 이해하고 , 그에 맞게
자신을 manage 해야 함 .
Goal• Availability• Reliability• Performance•…., etc
Current status• Access pattern• Lifetime• Size•….., etc
Self- * operations
Dissatisfaction Satisfaction time
Current status• Access pattern• Lifetime• Size•….., etc
time limit
System Software Lab., POSTECH 17
Advanced Information (2)Advanced Information (2)
• Self-* Storage (2)– Storage system 의 가장 중요한 역할은 component failure 나
accident 에 의해서 저장되어 있는 데이터가 손실되지 않도록 유지하는 것 .
Network1. User mistake &
S/W problems
2. Storage component failures
3. Site failures
4. Long-term archiving
Data Replication
Where ?How many ?When ?
Distributed brick storage systems
System Software Lab., POSTECH 18
Advanced Information (3)Advanced Information (3)
I/O request routing
Storage Management hierarchy
Goal specification &complaints
Configuration,Organizing, Tuning,Managing
Supervisors
Workers (Storage bricks)
Administrator
Router
Clients
Reliability & AvailabilityLoad balancingReliability & AvailabilityLoad balancing
Data ReplicationData MigrationData ReplicationData Migration
(Source: CMU PDL)
System Software Lab., POSTECH 19
ConclusionConclusion
• 분산 파일 시스템 발전 – 데이터의 대용량화와 네트워크의 발달
• 분산 파일 시스템– 사용자는 local 파일 시스템을 사용하듯 분산 파일 시스템에서 파일을 사용할 수 있음 .
• 분산 파일 시스템에서 제공해야 하는 주요 기능– Consistency– Fault-tolerance– Security
• 네트워크 & 분산 파일 시스템의 발전 방향– Self-* Storage
• 파일 시스템 스스로 최적화 및 fault tolerance.• 관리자와 사용자의 역할을 최소화 .