Erlang으로 구현한 9p2000 파일 시스템, 시스템 관리의 새로운 가능성을 열다!
Erlang으로 구현된 9p2000 파일 시스템(File System)은 네트워크 파일 시스템 프로토콜을 활용하여 시스템 정보를 노출한다.
Erlang 프로세스 트리(Process Tree)를 procfs와 유사하게 접근할 수 있도록 하는 ErlProcFS 구현을 목표로 한다.
NIF(Native Implemented Function)를 사용하지 않고 순수 Erlang으로 구현하여 이식성(Portability)과 원격 접근성(Remote Access)을 확보했다.
9p2000 프로토콜(Protocol) 구현의 기술적 특징
본 구현은 9p2000 프로토콜(Protocol)을 순수 Erlang으로 구현하여 NIF(Native Implemented Function) 사용의 제약에서 벗어났다. 이는 이식성(Portability)을 높이고, 원격 접근을 용이하게 한다. 특히, Linux의 `v9fs` 드라이버와의 호환성을 위해 `mode` 필드에 추가 정보를 저장하는 방식을 채택했다. 이러한 설계는 시스템 관리 및 모니터링 도구와의 통합을 가능하게 한다.
Erlang 프로세스 트리(Process Tree) 노출을 위한 ErlProcFS
ErlProcFS는 Erlang 프로세스 트리 및 내부 데이터를 procfs와 유사한 API로 노출하는 것을 목표로 한다. 현재는 읽기 전용으로 구현되어 있으며, 향후에는 프로세스 종료 기능과 같은 추가 기능을 제공할 예정이다. 이러한 접근 방식은 Erlang에 익숙하지 않은 운영자도 시스템 정보를 쉽게 탐색할 수 있도록 돕는다. 데이터 격리 아키텍처(Data Isolation Architecture)를 통해 안전성을 확보할 수 있다.
UnixFs 및 사용자 정의 파일 시스템(Custom FS) 구현
e9p는 UnixFs와 같은 사용자 정의 파일 시스템(Custom FS) 구현을 지원한다. UnixFs는 시스템의 실제 디렉토리에 접근할 수 있도록 하며, 파일 읽기/쓰기/삭제 기능을 제공한다. 이러한 유연성은 다양한 환경에서 e9p를 활용할 수 있게 한다. 멀티모달 분석(Multimodal Analysis)을 통해 파일 시스템의 기능을 확장할 수 있다.