ventatesh

advertisement
LAYERED FILE SYSTEM
Sunil Venkatesh
CMSC-601, Spring 2011, 05-02-2011
INTRODUCTION

Linux OS
Supports more than 30 filesystems
 VFS subsystem


Data structures – inode, file,
vm_area_struct, dentry and
super_block
User Application
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
System Layer
Active Kernels
Inactive
Kernels
2.6.18-128.el5
2.6.38.4
Layer Contents:
vmlinuz
initrd
grub
2.6.39-rc5
User Layer
User Group 1
alpha
User Group 2
bravo
charlie
delta
User Group 3
echo
foxtrot
These layers inturn can contain
sublayers like: dev,
test
golf
hotel
Application Layer
Graphics Toosl
OpenGL
Development Tools
Glib
DirectF
B
gcc
Java
Office Tools
fortro
n
word
spreadsheet
LAYERED ORGANIZATION
Level 1
Legend:
White Font: Directory
Black Font: File
/
T1M1 – Team 1, Member 1
bin
dev
base
lib
home
mnt
.......
bash
mkdir
mount
netstat
ping
pwd
tracepath
traceroute
…
unmount
bin
root
usr
lib
sbin
share
.......
Level 2
Legend:
White Font: Directory
Black Font: File
prj1
/
T1M1 – Team
1, Member 1
Legend:
White Font: Directory
Black Font: File
dev
lib
home
Legend:
White Font: Directory
Black Font: File
bin
bash
mkdir
mount
netstat bash
T1M1
ping
mkdir
pwd mount
tracepath netstat
traceroute ping
…
pwd
unmounttracepath
traceroute
…
unmount
dev
mnt
lib
home
T1M1 – Team 1, Member 1
T1M2
T1M3
.......
T2M2
bash
mkdir
mount
netstat
ping
pwd
tracepath
traceroute
…
unmount
mnt
.......
T NM2
lib
home
T2MN
TNM3
.......
TNMN
root
/ .......
bin
dev
T2M3
TNM1
.......
T1MN
bin
T2M1
prj3
.......
temp
prjN
/
T1M1 – Team 1, Member 1
bin
prj2
lib
mnt
bin
usr
root
sbin
usr
share
.......
root
.......
lib
sbin
bin
usr
share
.......
lib
sbin
share
.......
dev
dev
Level 3
test
dev
test
dev
test
test
AN EXAMPLE OF A LAYER
Legend:
White Font: Directory
Black Font: File
/
T1M1 – Team 1, Member 1
bin
bash
mkdir
mount
netstat
ping
pwd
tracepath
traceroute
…
unmount
T1M1
Test Code 1
dev
T1M2
T1M3
Level 2. . . . . . .
Test Code 1
lib
home
mnt
. . . . . . . root
bin
T1MN
Test Code 1
Test Code
Level
32
Python (v2.3)
lib
gcc (v3.4)
usr
sbin
. . . . . . . share
IMPLEMENTATION

Components to be implemented
A pseudo-filesystem
 wrapfs layer


Modification

User Application
Sys-call interface
dentry operations
User
Kernel
VFS Layer
Conceptual (VFS interface)
Filesystem
Physical Media
wrapfs
FUTURE WORK
Layered hierarchy representation
 Provide means for delegation of authority
 Eliminate need for a user and group permission
in each file

QUESTIONS/SUGGESTIONS
Download