100 likes | 261 Views
Layered File System. Sunil Venkatesh CMSC-601, Spring 2011, 05-02-2011. Introduction. User Application. Linux OS Supports more than 30 filesystems VFS subsystem Data structures – inode, file, vm_area_struct , dentry and super_block. Sys-call interface. User. Kernel. VFS Layer.
E N D
Layered File System Sunil Venkatesh CMSC-601, Spring 2011, 05-02-2011
Introduction User Application • Linux OS • Supports more than 30 filesystems • VFS subsystem • Data structures – inode, file, vm_area_struct, dentry and super_block Sys-call interface User Kernel VFS Layer Conceptual (VFS interface) Filesystem Physical Media
Motivation • Challenges in administering a Linux server • Users, Groups and Others (RWX) • Maintaining software • New features • Delegation of authority • Security through isolation (“chroot jail”) • Benefits in a Cloud • Data is secure • Easier maintenance of web- services
Related Work • Hendricks et al., Method and apparatus for translucent file system, 1991 • Works best when a team working on shared data • Shared and Private hierarchy • Erez Zadok and Ion Badulescu, A Stackable File System Interface For Linux • vnode – represents files, directories and devices. • wrapfs achieved through vnode interface • Erez Zadok and Ion Badulescu and Alex Shender, Cryptfs: A Stackable Vnode Level Encryption File System, 1998.
Depicting Layers Development Tools Office Tools Application Layer User Layer User Group 1 Graphics Toosl User Group 2 User Group 3 Active Kernels System Layer Inactive Kernels These layers in-turn can contain sublayers like: dev, test 2.6.18-128.el5 2.6.38.4 2.6.39-rc5 word delta OpenGL alpha gcc golf Layer Contents: vmlinuz initrd grub echo Glib bravo hotel Java fortron DirectFB foxtrot charlie spreadsheet
Legend: White Font: Directory Black Font: File T1M1 – Team 1, Member 1 Legend: White Font: Directory Black Font: File T1M1 – Team 1, Member 1 Legend: White Font: Directory Black Font: File T1M1 – Team 1, Member 1 Legend: White Font: Directory Black Font: File T1M1 – Team 1, Member 1 Layered Organization base / / / / Level 1 lib lib lib lib root root root root bin bin bin bin usr usr usr usr home home home home dev dev dev dev mnt mnt mnt mnt . . . . . . . . . . . . . . . . . . . . . . . . . . . . prj1 prj2 prj3 temp prjN . . . . . . . . . . . . . . bash mkdir mount netstat ping pwd tracepath traceroute … unmount bash mkdir mount netstat ping pwd tracepath traceroute … unmount bash mkdir mount netstat ping pwd tracepath traceroute … unmount bash mkdir mount netstat ping pwd tracepath traceroute … unmount T2M2 T NM2 T1M2 T1M3 TNM3 T2M3 TNMN T2MN T1MN TNM1 T1M1 T2M1 lib lib lib lib sbin sbin sbin sbin share share share share bin bin bin bin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Level 2 dev dev dev dev test test test test Level 3
Legend: White Font: Directory Black Font: File T1M1 – Team 1, Member 1 An Example of a Layer / lib root bin usr home dev mnt . . . . . . . bash mkdir mount netstat ping pwd tracepath traceroute … unmount T1M2 T1M3 T1MN T1M1 lib sbin share bin . . . . . . . . . . . . . . Test Code 1 Test Code 1 Python (v2.3) Test Code 2 Test Code 1 gcc (v3.4) Level 2 Level 3
Implementation User Application • Components to be implemented • A pseudo-filesystem • wrapfs layer • Modification • dentry operations Sys-call interface User Kernel VFS Layer wrapfs Conceptual (VFS interface) Filesystem Physical Media
Future Work • Layered hierarchy representation • Provide means for delegation of authority • Eliminate need for a user and group permission in each file