앤드류 파일 시스템

Andrew File System

Andrew File System(AFS)은 신뢰할 수 있는 서버 세트를 사용하여 모든 클라이언트워크스테이션에 동종의 투과적인 파일 이름 공간을 제공하는 분산 파일 시스템입니다.그것은 카네기 멜론 대학에 의해 앤드류 [1]프로젝트의 일부로 개발되었다.원래 "바이스"[2]라고 이름 붙여진 "앤드류"앤드류 카네기와 앤드류 멜론을 가리킵니다.그 주된 용도는 분산 컴퓨팅입니다.

특징들

AFS는[3] 기존의 네트워크 파일 시스템보다 몇 가지 이점이 있습니다.특히 보안과 확장성 측면에서 그렇습니다.Morgan Stanley의 1개의 엔터프라이즈 AFS 전개는 25,000 클라이언트를 [4]넘습니다.AFS는 인증에 Kerberos를 사용하여 사용자와 그룹의 디렉토리에 액세스컨트롤 리스트를 실장합니다.각 클라이언트는 동일한 파일에 대한 후속 요청 시 속도를 높이기 위해 로컬 파일 시스템에 파일을 캐시합니다.이것에 의해, 서버 크래시 또는 네트워크 정지시에 파일 시스템에의 액세스가 제한됩니다.

AFS는 Weak Consistency [5]모델을 사용합니다.열려 있는 파일의 읽기 및 쓰기 작업은 로컬로 캐시된 복사본에만 적용됩니다.수정된 파일이 닫히면 변경된 부분이 파일 서버에 다시 복사됩니다.캐시의 일관성은 콜백메커니즘에 의해 유지됩니다.파일이 캐시되면 서버는 이를 기록하고 다른 사용자에 의해 파일이 업데이트되면 클라이언트에 알립니다.콜백은 폐기되며 타임아웃을 포함한 클라이언트, 서버 또는 네트워크 장애 후에 재정립해야 합니다.콜백을 재정립하려면 상태 체크가 필요하며 파일 자체를 다시 읽을 필요가 없습니다.

파일 잠금 전략의 결과로 AFS는 대규모 공유 데이터베이스를 지원하지 않거나 클라이언트시스템 간에 공유되는 파일 내의 업데이트를 기록하지 않습니다.이것은 대학 컴퓨팅 환경의 인식된 요구에 근거한 신중한 설계 결정이었습니다.예를 들어 Andrew 프로젝트의 원래 이메일 시스템인 Andrew Message System에서는 mbox와 같은 메일 박스당 단일 파일이 아닌 maildir와 같은 메시지당 단일 파일이 사용됩니다.공유 데이터베이스의 처리에 대해서는, 「AFS버퍼링 된 I/O의 문제」를 참조해 주세요.

AFS 의 중요한 기능은, 볼륨, 파일의 트리, 서브 디렉토리, 및 AFS 마운트 포인트(다른 AFS 볼륨에의 링크)입니다.볼륨은 관리자가 생성하여 AFS 셀의 특정 이름 있는 경로로 링크됩니다.일단 생성되면 파일 시스템 사용자는 볼륨의 물리적 위치에 관계없이 평상시와 같이 디렉토리와 파일을 생성할 수 있습니다.볼륨에는 소비되는 공간의 양을 제한하기 위해 할당량이 할당될 수 있습니다.필요에 따라서, AFS 관리자는, 유저에게 통지할 필요 없이, 그 볼륨을 다른 서버나 디스크 로케이션으로 이동할 수 있습니다.또, 그 볼륨내의 파일이 사용되고 있는 동안에도, 조작을 실시할 수 있습니다.

AFS 볼륨은, 읽기 전용의 클론 카피에 복제할 수 있습니다.읽기 전용 볼륨의 파일에 액세스하면 클라이언트 시스템은 특정 읽기 전용 복사본에서 데이터를 가져옵니다.어느 시점에서 해당 복사본을 사용할 수 없게 되면 클라이언트는 나머지 복사본을 찾습니다.다시 말하지만, 해당 데이터의 사용자는 읽기 전용 복사본의 위치를 알지 못합니다. 관리자는 필요에 따라 이러한 복사본을 만들고 재배치할 수 있습니다.AFS 명령어 스위트는 읽기 전용 복사가 작성되었을 때 모든 읽기 전용 볼륨에 원래 읽기-쓰기 볼륨의 정확한 복사본이 포함되어 있음을 보증합니다.

Andrew 워크스테이션의 파일 이름 공간은 공유로컬 이름 공간으로 분할됩니다.공유 네임스페이스(일반적으로 Unix 파일시스템에 /afs로 마운트)는 모든 워크스테이션에서 동일합니다.로컬 네임스페이스는 워크스테이션마다 고유합니다.워크스테이션 초기화에 필요한 임시 파일과 공유 네임스페이스의 파일에 대한 심볼릭 링크만 포함됩니다.

Andrew File System은 Sun Microsystems의 인기 있는 네트워크 파일 시스템(NFS) 버전 4에 큰 영향을 미쳤습니다.또한 AFS의 변종인 DCE Distributed File System(DFS)은 1989년에 분산 컴퓨팅 환경의 일부로 오픈 소프트웨어 재단에 의해 채택되었습니다.마지막으로 AFS(버전 2)는 Coda 파일시스템의 전신입니다.

실장

원본 이외에도 몇 가지 다른 구현이 개발되었습니다.OpenAFS는 2000년에 [6]Transarc(IBM)에 의해 공개된 소스에서 구축되었습니다.트란스 아크 소프트웨어는 더 이상 사용되지 않게 되어 지원이 [when?]상실되었습니다.Arla는 1990년대 후반과 2000년대 [7][8]초에 스톡홀름 왕립 기술원에서 개발된 AFS의 독립 구현체입니다.

AFS 클라이언트의 [9]네 번째 구현은 버전 2.6.10 이후 Linux 커널 소스 코드에 존재합니다.Red Hat에 의해 커밋된 이 구현은 2013년 [10]1월 현재 아직 완료되지 않았습니다.

사용 가능한 권한

다음과 같은 Access Control List(ACL; 접근컨트롤 리스트) 권한을 부여할 수 있습니다.

조회(l)
를 사용하면, 유저는 AFS 디렉토리의 내용을 일람표시해, 디렉토리와 관련 붙여진 ACL 를 조사해 서브 디렉토리에 액세스 할 수 있습니다.
삽입(i)
를 사용하면, 새로운 파일 또는 서브 디렉토리를 디렉토리에 추가할 수 있습니다.
삭제(d)
를 사용하면, 디렉토리에서 파일과 서브 디렉토리를 삭제할 수 있습니다.
관리(a)
를 사용하면, 유저는 디렉토리의 ACL 를 변경할 수 있습니다.사용자는 실수로 ACL에서 자신을 삭제한 경우에도 항상 홈디렉토리에 이 권한을 가집니다.

파일 및 하위 디렉터리에 영향을 주는 권한은 다음과 같습니다.

읽기(r)
를 사용하면, 디렉토리내의 파일의 내용을 참조해, 서브 디렉토리의 파일을 일람 표시할 수 있습니다.소유자를 포함한 모든 사용자에게 읽기 액세스 권한을 부여하는 파일에는 표준 UNIX "소유자 읽기" 권한 세트가 있어야 합니다.
기입(w)
를 사용하면, 디렉토리내의 파일을 변경할 수 있습니다.소유자를 포함한 모든 사용자에게 쓰기 액세스 권한을 부여하는 파일에는 표준 UNIX "소유자 쓰기" 권한 세트가 있어야 합니다.
잠금(k)
를 사용하면, 프로세서가 디렉토리내의 파일을 「삭제」할 필요가 있는 프로그램을 실행할 수 있습니다.

또, AFS 에는, 파일 액세스에 영향을 주지 않는 애플리케이션 ACL(A)~(H)가 포함됩니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Andrew 프로젝트의 역사를 기록한 CMU 공식 사이트의 일부인 웨이백 머신에서 2011년 9월 9일에 아카이브된 Andrew란 무엇인가.
  2. ^ Garfinkel, Simson L. (May–June 1989). "Ripples Across the Academic Market" (PDF). Technology Review. pp. 9–13. Retrieved 25 January 2016.
  3. ^ Howard, J.H.; Kazar, M.L.; Nichols, S.G.; Nichols, D.A.; Satyanarayanan, M.; Sidebotham, R.N. & West, M.J. (February 1988). "Scale and Performance in a Distributed File System". ACM Transactions on Computer Systems. 6 (1): 51–81. CiteSeerX 10.1.1.71.5072. doi:10.1145/35037.35059. S2CID 52848606.
  4. ^ Moore, Phillip (2004). "When Your Business Depends On It — The Evolution of a Global File System for a Global Enterprise" (PDF).
  5. ^ Yaniv Pessach (2013), Distributed Storage (Distributed Storage: Concepts, Algorithms, and Implementations ed.), Amazon, OL 25423189M
  6. ^ AFS의 오픈
  7. ^ Assar Westerlund and Johan Danielsson (1998). "Arla-a free AFS client". Proceedings of the 1998 USENIX, Freenix Track. CiteSeerX 10.1.1.16.1360.
  8. ^ Magnus Ahltorp, Love Hörnquist-Åstrand and Assar Westerlund (2000). "Porting the Arla file system to Windows NT". Workshop on Management and Administration of Distributed Environments. CiteSeerX 10.1.1.512.9570.
  9. ^ 2.6.10용 Linux 커널 AFS 매뉴얼
  10. ^ "LXR linux/Documentation/filesystems/afs.txt". linux.no. 1 August 2012. Archived from the original on 1 August 2012. Retrieved 23 April 2018.

외부 링크

추가 정보