page 1 of john wong cto [email protected] twin peaks software inc. mirror file system a...
TRANSCRIPT
![Page 1: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/1.jpg)
Page 1 of
John WongCTO
Twin Peaks Software Inc.
Mirror File System
A Multiple Server File System
![Page 2: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/2.jpg)
Page 2 of
Multiple Server File System
• Conventional File System – UFS, EXT3 and NFS– Manage and store files on a single server and
its storage devices
• Multiple Server File system– Manage and store files on multiple servers and
their storage devices
![Page 3: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/3.jpg)
Page 3 of
Problems
• Single resource is vulnerable
• Redundancy provides a safety net– Disk level => RAID– Storage level => Storage Replication– TCP/IP level => SNDR– File System level => CFS, MFS– System level => Clustering system– Application => Database
![Page 4: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/4.jpg)
Page 4 of
Why MFS?
• Many advantages over existing technologies
![Page 5: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/5.jpg)
Page 5 of
Unix/Linux File System
Data
UFS/EXT3
Application 1
Application 2
Kernel Space
User Space
Disk Driver
![Page 6: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/6.jpg)
Page 6 of
Application Application
NFS (Client mount)
Application Application
Data
UFS/EXT3
NFSD
Network File System
![Page 7: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/7.jpg)
Page 7 of
Application
NFS (Client mount)
Application Application
Data B
UFS/EXT3
NFSD
UFS | NFS
UFS/EXT3
Data B
![Page 8: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/8.jpg)
Page 8 of
• UFS manages data on the local server’s storage devices
• NFS manages data on remote server’s storage devices
• Combine these two file systems to manage data on both local and remote servers storage devices
UFS + NFS
![Page 9: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/9.jpg)
Page 9 of
Application Application
Data
UFS/EXT3
Application Application
Data
UFS/EXT3
Passive MFS Server
MFS = UFS + NFSActive MFS Server
MFS
NFS
![Page 10: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/10.jpg)
Page 10 of
• MFS is a kernel loadable module
• MFS is loaded on top of UFS and NFS
• Standard VFS interface
• No change to UFS and NFS
Building Block Approach
![Page 11: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/11.jpg)
Page 11 of
File System Framework
SOLARIS Internal, Core Kernel Architecture, Jim Mauro. Richard McDougall, PRENTICE HALL
Optical drive
Network
File System Operation calls
User Applications
System Call Interface
File Operation System Calls Other System calls
read
()
wri
te (
)
op
en (
)
clo
se (
)
mkd
ir (
)
rmd
ir (
)
link
()
ioct
l ()
crea
t ()
lsee
k ()
mo
un
t ()
um
ou
nt
()
Sta
tfs(
)
syn
c ()
Vnode interfaces VFS interfaces
UF
S (
2)
NF
S (
2)
VxF
S
HS
FS
QF
S
UF
S (
1)
NF
S (
1)
PC
FS P
CF
S
Data Data Data Data
File System Operation calls
![Page 12: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/12.jpg)
Page 12 of
MFS FrameworkUser Applications
System Call Interface
File Operation System Calls File System Operation callsOther System calls
read
()
wri
te (
)
op
en (
)
clo
se (
)
mkd
ir (
)
rmd
ir (
)
link
()
ioct
l ()
crea
t ()
lsee
k ()
mo
un
t ()
um
ou
nt
()
Sta
tfs(
)
syn
c ()
Vnode interfaces VFS interfaces
UF
S
(2)
NF
S
(2)V
xFS
HS
FS
QF
S
UF
S(1
)
NF
S (
1)
PC
FS
PC
FS
Network Optical driveData Data Data Data
MFS
Vnode VFS interface
![Page 13: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/13.jpg)
Page 13 of
• Transparent to users and applications
- No re-compilation or re-link needed
• Transparent to existing file structures
- Same pathname access
• Transparent to underlying file systems
- UFS, NFS
Transparency
![Page 14: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/14.jpg)
Page 14 of
• Conventional Mount
- One directory, one file system
• MFS Mount
- One directory, two or more file systems
Mount Mechanism
![Page 15: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/15.jpg)
Page 15 of
# mount –F mfs host:/ndir1/ndir2 /udir1/udir2
- First mount the NFS on a UFS directory
- Then mount the MFS on top of UFS and NFS
- Existing UFS tree structure /udir1/udir2 becomes a local copy of MFS
- Newly mounted host:/ndir1/ndir2 becomes a remote copy of MFS
- Same mount options as NFS except no ‘-o hard’ option
Mount Mechanism
![Page 16: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/16.jpg)
Page 16 of
# /usr/lib/fs/mfs/mfsck mfs_dir
- After MFS mount succeeds, the local copy may not be identical to the remote copy.
- Use mfsck (the MFS fsck) to synchronize them.
- The mfs_dir can be any directory under MFS mount point.
- Multiple mfsck commands can be invoked at the same time.
MFS mfsck Command
![Page 17: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/17.jpg)
Page 17 of
READ/WRITE Vnode Operation
• All VFS/vnode operations received by MFS
• READ related operation: read, getattr,…. those operations only need to go to local copy
(UFS).
• WRITE related operation: write, setattr,…..those operations go to both local (UFS) and remote (NFS) copy simultaneously (using threads)
![Page 18: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/18.jpg)
Page 18 of
• Directory Level
- Mirror any UFS directory instead of entire UFS file system
- Directory A mirrored to Server A
- Directory B mirrored to Server B
• Block Level Update
- Only changed block is mirrored
Mirroring Granularity
![Page 19: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/19.jpg)
Page 19 of
# /usr/lib/fs/mfs/msync mfs_root_dir
- A daemon that synchronizes MFS pair after a remote MFS partner fails.
- Upon a write failure, MFS:
- Logs name of file to which the write operation failed
- Starts a heartbeat thread to verify the remote MFS server is back online
- Once the remote MFS server is back online, msync uses the log to sync missing files to remote server.
MFS msync Command
![Page 20: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/20.jpg)
Page 20 of
Active/Active ConfigurationServer Server
Application Application
Data A
UFS
Application Application
Data B
UFS
Active MFS Server
MFS MFS
Active MFS Server
NFS NFS
![Page 21: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/21.jpg)
Page 21 of
MFS uses UFS, NFS file record lock.
Locking is required for the active-active configuration.
Locking enables write-related vnode operations as atomic operations.
Locking is enabled by default.
Locking is not necessary in active-passive configuration.
MFS Locking Mechanism
![Page 22: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/22.jpg)
Page 22 of
• Real-time
-- Replicate file in real-time
• Scheduled
-- Log file path, offset and size
-- Replicate only changed portion of a file
Real -Time and Scheduled
![Page 23: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/23.jpg)
Page 23 of
• Online File Backup
• Server File Backup, active passive
• Server/NAS Clustering, active Active
Applications
![Page 24: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/24.jpg)
Page 24 of
Application Application
Data
NTFS
Application Application
Data
NTFS
Remote Server
MFS = NTFS + CIFS
Window Desktop/Laptop
MFS
CIFS
![Page 25: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/25.jpg)
Page 25 of
MFS
User Desktop/Laptop
Online File BackupReal-time or Scheduled time
Folder
ISP Server
MFS
Folder
MFS
Folder
LAN or WanLAN or Wan
![Page 26: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/26.jpg)
Page 26 of
Secondary
Server Replication
Mirror FileSystem
Mirror FileSystem
App
Primary
Mirror FileSystem
Mirroring Path : /home
: /var/spool/mail
Heartbeat
![Page 27: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/27.jpg)
Page 27 of
Enterprise Clusters
Mirror FileSystem
Mirror FileSystem
Mirroring PathAppApp App App App
Mirror FileSystem
Mirror FileSystem
Central
Mirror File System
App App
![Page 28: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/28.jpg)
Page 28 of
• Building block approach
-- Building upon existing UFS, EXT3 , NFS, CIFS infrastructures
• No metadata is replicated
-- Superblock, Cylinder group, file allocation map are not replicated.
• Every file write operation is checked by file system
-- file consistency, integrity
• Live file, not raw data replication
-- The primary and backup copy both are live files
Advantages
![Page 29: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/29.jpg)
Page 29 of
• Interoperability
-- Two nodes can be different systems
-- Storage systems can be different
• Small granularity
-- Directory level, not entire file system
• One to many or many to one replication
Advantages
![Page 30: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/30.jpg)
Page 30 of
• Fast replication-- Replication in Kernel file system module
• Immediate failover-- No need to fsck and mount operation
• Geographically dispersed clustering
-- Two nodes can be separated by hundreds of miles
• Easy to deploy and manage-- Only one copy of MFS running on primary server is needed for replication
Advantages
![Page 31: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/31.jpg)
Page 31 of
Why MFS?
• Better Data Protection
• Better Disaster Recovery
• Better RAS
• Better Scalability
• Better Performance
• Better Resources Utilization
![Page 32: Page 1 of John Wong CTO John.Wong@TwinPeakSoft.com Twin Peaks Software Inc. Mirror File System A Multiple Server File System](https://reader038.vdocuments.net/reader038/viewer/2022103101/56649ea75503460f94ba99df/html5/thumbnails/32.jpg)
Page 32 of
Q & A
Application Application
Data A
Application Application
Data B
MFS MFS