AdvFS
| 개발사 | 디지털 이큅먼트 코퍼레이션 |
|---|---|
| 정식 명칭 | Tru64 UNIX Advanced File System |
| 도입 | 1993년 - OSF/1 |
| 구조 | |
| 불량 블록 | Table |
| 제약사항 | |
| 최대 볼륨 크기 | 16 TiB |
| 최대 파일 크기 | 16 TiB |
| 최대 파일 이름 길이 | 255 bytes |
| 기타 | |
| 지원 운영 체제 | Tru64 UNIX |
AdvFS 또는 Tru64 UNIX Advanced File System은 1980년대 후반부터 1990년대 중반까지[1] 디지털 이큅먼트 코퍼레이션이 자사의 OSF/1 버전 유닉스 운영체제(이후 Digital UNIX/Tru64 UNIX)를 위해 개발한 파일 시스템이다.[2] 2008년 6월, GPL-2.0-only 라이선스 하에 자유 소프트웨어로 출시되었다.[3] AdvFS는 다운타임으로부터의 빠른 복구가 필수적인 고가용성 시스템에서 사용되어 왔다.[4]:428
기능
[편집]AdvFS는 저장소 풀(파일 도메인이라 불림)과 논리 파일 시스템(파일 세트라 불림)이라는 상대적으로 발전된 개념을 사용한다. 파일 도메인은 파티션, LVM 또는 LSM 장치가 될 수 있는 여러 블록 장치로 구성된다. 파일 세트는 단일 파일 도메인 내에서 생성된 논리 파일 시스템이다. 관리자는 활성 파일 도메인에서 볼륨을 추가하거나 제거할 수 있으며, 제거 시 남은 파일 도메인에 충분한 공간이 있는 경우에 가능하다. 이는 제거될 디스크에 있는 모든 데이터나 메타데이터가 제거 전에 온라인으로 다른 디스크로 먼저 마이그레이션되어야 했기 때문에 구현하기 까다로운 초기 기능 중 하나였다.
파일 세트는 균형을 이룰 수 있으며, 이는 파일 세트의 파일 내용이 물리적 볼륨 전체에 걸쳐 균형을 이룰 수 있음을 의미한다. 파일 세트의 특정 파일은 사용 가능한 볼륨에 걸쳐 스트라이프될 수 있다.
관리자는 활성 또는 비활성 파일 세트의 스냅샷(또는 클론)을 찍을 수 있다. 이를 통해 쉬운 온라인 백업 및 편집이 가능하다.
또 다른 기능은 관리자가 활성 사용자가 있는 동안에도 파일 도메인에서 블록 장치를 추가하거나 제거할 수 있도록 한다. 이 추가/제거 기능을 통해 시스템 종료 없이 더 큰 장치로 마이그레이션하거나 잠재적으로 실패할 수 있는 하드웨어에서 마이그레이션할 수 있다.
기능
[편집]주요 기능은 다음과 같다:
리눅스에서 AdvFS는 여러 파일에 대한 변경 사항을 원자적으로 커밋하기 위해 추가적인 ‘’syncv’’ 시스템 호출을 지원한다.[6]
역사
[편집]Tru64 UNIX Advanced File System으로도 알려진 AdvFS는 1980년대 후반[1]부터 벨뷰의 디지털 이큅먼트 코퍼레이션 공학자들이 개발하기 시작했다(DECwest). 이 프로젝트는 취소된 OZIX 운영체제 프로젝트의 파일 시스템으로 시작되었다.[7]
이것은 DEC OSF/1 시스템(이후 Digital UNIX/Tru64 UNIX)에 처음으로 제공되었다. 시간이 지나면서 개발은 워싱턴주 벨뷰와 뉴햄프셔주 내슈아에 위치한 팀으로 옮겨졌다. 버전은 항상 운영체제 버전보다 한 버전 뒤쳐졌다. 따라서 DEC OSF/1 v3.2에는 AdvFS v2.x가, Digital UNIX 4.0에는 AdvFS v3.x가, Tru64 UNIX 5.x에는 AdvFS v4.x가 있었다. 일반적으로 AdvFS v4만이 충분한 도구 세트를 갖추고 관리자들이 어떤 종류의 문제에서도 벗어날 수 있도록 하여 생산 수준의 안정성으로 성숙했다고 간주된다.[2] 원래 팀은 파일 시스템 저널이 항상 미러링된 드라이브에 할당될 것이라는 가정 하에 "fsck" 스타일 복구 유틸리티 없이 로그 기반 복구를 출시할 만큼 충분한 자신감을 가졌다.
1996년, 리와 데카스는[8] Petal로 알려진 새로운 디스크 가상화 계층 위에 AdvFS를 사용하는 방법을 설명했다. 나중 논문에서,[9] 데카스 등은 Petal 위에 구축된 자체 파일 시스템(Frangipani)을 설명하고 동일한 저장 계층에서 실행되는 AdvFS의 성능과 비교했다.
샤피로와 밀러는[10] AdvFS에 저장된 파일의 성능을 Oracle RDBMS 버전 7.3.4 BLOB 저장소와 비교했다.
컴팩 시에라 병렬 파일 시스템(PFS)은 여러 로컬 AdvFS 파일 시스템을 기반으로 클러스터 파일 시스템을 만들었다. 2000-2001년 로렌스 리버모어 국립연구소(LLNL)에서 수행된 테스트에 따르면 기본 AdvFS 파일 시스템은 적절한 성능을 보였지만(높은 CPU 사용률에도 불구하고), 그 위에 있는 PFS 클러스터링 계층은 성능이 좋지 않았다.[11]
2008년 6월 23일, 휴렛 팩커드[3]는 리눅스 커널과도 호환되도록 GPL-2.0-only 라이선스(최근 출시된 GPLv3 대신) 하에 소스포지에 소스 코드를 공개했다.[12]
각주
[편집]- ↑ 가 나 “Revision history?”. SourceForge.net. 2008년 6월 25일에 확인함.
- ↑ 가 나 Steven M. Hancock (January 2001). 《Tru64 Unix File System Administration Handbook》. Digital Press. 258쪽. ISBN 978-1-55558-227-2.
- ↑ 가 나 Press release concerning the release of the AdvFS source code
- ↑ Brady, Don. 《Designing GIS for high availability and high performance》. High Performance Computing in the Asia-Pacific Region, 2000. Proceedings. The Fourth International Conference/Exhibition on. 423–431쪽. doi:10.1109/HPC.2000.846591.
AdvFS is a journaled, local file system that provides higher availability, and greater flexibility and recovery than traditional UNIX file systems. The recovery takes just a few seconds for AdvFS...
- ↑ Amir H. Majidimehr (1996). 《Optimizing UNIX for Performance》. Prentice Hall PTR. 69쪽. ISBN 978-0-13-111551-4.
Log-structured file system implementations include the AIX Journalled File System (JFS), the DEC Advanced File System (AdvFS), and the SUN UFS with Transaction Logging in Solaris DiskSuite.
- ↑ Verma, Rajat, et al. "Failure-atomic updates of application data in a Linux file system.” 13th USENIX Conference on File and Storage Technologies (FAST 15). 2015. online version
- ↑ Peter Kaiser (1997년 1월 22일). “OZIX Documents” (PDF). 《computerhistory.org》. 2025년 5월 21일에 확인함.
- ↑ Lee, Edward K., and Chandramohan A. Thekkath. "Petal: Distributed virtual disks." ACM SIGPLAN Notices. Vol. 31. No. 9. ACM, 1996. Available online
- ↑ Chandramohan A. Thekkath, Timothy Mann, and Edward K. Lee. 1997. Frangipani: a scalable distributed file system. SIGOPS Oper. Syst. Rev. 31, 5 (October 1997), 224-237. Also in: Chandramohan A. Thekkath, Timothy Mann, and Edward K. Lee. 1997. Frangipani: a scalable distributed file system. In Proceedings of the sixteenth ACM symposium on Operating systems principles (SOSP '97), William M. Waite (Ed.). ACM, New York, NY, USA, 224-237. Online version
- ↑ Shapiro, Michael, and Ethan Miller. "Managing databases with binary large objects." Mass Storage Systems, 1999. 16th IEEE Symposium on. IEEE, 1999. Available online
- ↑ Uselton, A C. The Performance of PFS, the Compaq Sierra Product’s Parallel File System. United States: N. p., 2001. Web. doi:10.2172/15006183. Available online
- ↑ Linus Torvalds (2000년 9월 8일). “Linux-2.4.0-test8”. lkml.iu.edu. 2015년 11월 21일에 확인함.
The only one of any note that I'd like to point out directly is the clarification in the COPYING file, making it clear that it's only _that_particular version of the GPL that is valid for the kernel. This should not come as any surprise, as that's the same license that has been there since 0.12 or so, but I thought I'd make that explicit
외부 링크
[편집]- Source code at Sourceforge.net