鏡像檔案系統 Mirror File System : MFS

  • 1,962 views
Uploaded on

MFS presentation at Fast Usenix 2008

MFS presentation at Fast Usenix 2008

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,962
On Slideshare
0
From Embeds
0
Number of Embeds
4

Actions

Shares
Downloads
4
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • In your opening, establish the relevancy of the topic to the audience. Give a brief preview of the presentation and establish value for the listeners. Take into account your audience’s interest and expertise in the topic when choosing your vocabulary, examples, and illustrations. Focus on the importance of the topic to your audience, and you will have more attentive listeners.

Transcript

  • 1. 鏡像檔案系統 Mirror File System 多重伺服器檔案系統 Twin Peaks Software Inc.
  • 2. 多重伺服器檔案系統
    • 傳統的檔案系統 – EXT3/UFS 和 NFS
      • 管理單一伺服器的儲存設備上的檔案
    • 多重伺服器檔案系統
      • 管理多個伺服器的儲存設備上的檔案
  • 3. 問題
    • 單一資源是脆弱的
    • 多重系統提供安全網
      • 硬碟層 Disk level => RAID
      • 儲存層 Storage level => Storage Replication
      • 網路層 TCP/IP level => SNDR
      • 檔案系統層 File System level => CFS, MFS
      • 系統層 System level => Clustering system
      • 應用層 Application => Database
  • 4. 為什麼選擇 MFS?
    • 比現有的科技擁有更多的優點
  • 5. 本機檔案系統 Local File System Data EXT3 Application 1 Application 2 Kernel Space User Space Disk Driver EXT3 管理本機伺服器儲存設備上的檔案
  • 6. 網路檔案系統 Network File System Application Application NFS (Client mount) Application Application Data EXT3/UFS NFSD Client Server NFS 管理遠端伺服器儲存設備上的檔案
  • 7. EXT3 | NFS rsync, tar NFS (Client mount) Application Application Data B EXT3/UFS NFSD EXT3/UFS Data B Client Server Application 應用程式只能用在一端 , 不能同時用在兩端
  • 8. EXT3 + NFS ??
    • 結合這兩種檔案系統 , 來管理本機與遠端的伺服器儲存設備上的檔案
      • -- 在同一時間
      • -- 即時的
  • 9. MFS = EXT3 + NFS Application Application Data EXT3/UFS Application Application Data EXT3/UFS Passive MFS Server Active MFS Server MFS NFS User Space Kernel Space
  • 10. 建構方法
    • MFS 是一個系統核心可加載模組 kernel loadable module
      • - 加載在 EXT3/UFS 和 NFS 的上面
    • 標準 VFS 介面
    • 提供完全的通透性
      • - 對使用者和應用程式
      • - 對底層檔案系統 underlying file systems
  • 11. 檔案系統架構 SOLARIS Internal, Core Kernel Architecture, Jim Mauro. Richard McDougall, PRENTICE HALL Optical drive Network File System Operation calls File Operation System Calls Other System calls read () write () open () close () mkdir () rmdir () link () ioctl () creat () lseek () mount () umount () Statfs() sync () Vnode interfaces VFS interfaces UFS (2) NFS (2) VxFS HSFS QFS UFS (1) NFS (1) PCFS PCFS Data Data Data Data File System Operation calls
  • 12. MFS 架構 File Operation System Calls File System Operation calls Other System calls read () write () open () close () mkdir () rmdir () link () ioctl () creat () lseek () mount () umount () Statfs() sync () Vnode interfaces VFS interfaces UFS (2) NFS (2) VxFS HSFS QFS UFS(1) NFS (1) PCFS PCFS Network Optical drive Data Data Data Data MFS Vnode VFS interface
  • 13. 通透性
    • 對使用者和應用程式的通透性
      • - 不用重新編譯或重新連結
    • 對原來的檔案結構的通透性
      • - 同樣的存取路徑名稱
    • 對底層檔案系統 ( underlying file systems ) 的通透性
      • - UFS, NFS
  • 14. 掛載機制 Mount Mechanism
    • 傳統的掛載機制
      • 一個目錄 , 一個檔案系統
    • MFS 的掛載機制
      • 一個目錄 ,兩個或多個檔案系統
  • 15. 掛載機制
    • # mount –F mfs host:/ndir1/ndir2 /udir1/udir2
      • 首先將 NFS 掛載到一個 UFS 目錄
      • 然後將 MFS 掛載到 UFS 和 NFS 的上面
      • 現有的 UFS 樹狀結構 /udir1/udir2 變成 MFS 的 一個 本機複本
      • 新掛載的 host:/ndir1/ndir2 變成 MFS 的一個遠端複本
      • 跟 NFS 一樣的掛載選項 , 除了沒有 ‘ -o hard’ 選項
  • 16. MFS mfsck 指令
    • # /usr/lib/fs/mfs/mfsck mfs_dir
      • 在 MFS 掛載成功之後 , 本機複本的內容可能跟遠端複本不同
      • 使用 mfsck 指令 (the MFS fsck) 同步兩者
      • 這個 mfs_dir 可以是任何 MFS 掛載點下的任何目錄
      • 同一時間可以執行多個 mfsck 指令
  • 17. READ/WRITE Vnode Operation
      • 所有 VFS/vnode 的動作會被 MFS 收聽到
      • READ 相關的動作 : read, getattr,…. 等動作只需要到達本機複本 (UFS)
      • WRITE 相關的動作 : write, setattr,…. 等動作會同時到達本機端 (UFS) 與遠端 (NFS) 複本 ( 利用執行緒 )
  • 18. 鏡像粒度 Mirroring Granularity
    • 目錄層 Directory Level
      • 只需 m irror 任何一個 UFS 的目錄而不用 mirror 整個 UFS 檔案系統
      • 目錄 A 鏡像到伺服器 A
      • 目錄 B 鏡像到伺服器 B
    • 區塊層更新 Block Level Update
      • 只有變更過的區塊需要被 mirror
  • 19. MFS msync 指令
    • # /usr/lib/fs/mfs/m sync mfs _root_ dir
      • msync 指令是一個 daemon , 負責斷線續傳
      • 當一個寫入的動作失敗 , MFS 會 :
      • ․ 紀錄這個寫入失敗的檔名
      • ․ 啟動一個 heartbeat 執行緒去驗證 遠端 MFS 伺服 器是否重新上線
      • 一旦遠端 MFS 伺服器重新連線, msync 指令利用這個紀錄檔來同步這些遺缺的檔案到遠端的伺服器
  • 20. Active/Active 架構 Server Server Application Application Data A UFS Application Application Data B UFS Active MFS Server MFS MFS Active MFS Server NFS NFS
  • 21. M FS Locking Mechanism 鎖定機制 MFS 使用 UFS, NFS 檔案紀錄鎖 ( file record lock ) A ctive - A ctive 架構需要 鎖定機制 Locking enables write-related vnode operations as atomic operations. 鎖定 是預設選項 鎖定 在 A ctive - P assive 架構中是不需要的
  • 22. 即時與排程
    • 即時 Real-time
    • -- 即時的複製檔案文件
    • 排程 Scheduled
    • -- 紀錄檔案路徑 , 偏移和大小 ( file path, offset and size )
    • -- 僅複製檔案文件變更的部分
  • 23. 應用
    • 線上檔案備份
    • 伺服器檔案備份 , active  passive
    • 伺服器 /NAS 叢集 , active  Active
  • 24. MFS = NTFS + CIFS Application Application Data NTFS Application Application Data NTFS Remote Server Window Desktop/Laptop MFS CIFS
  • 25. 線上檔案備份 即時或排程 MFS User Desktop/Laptop Folder ISP Server MFS Folder MFS Folder LAN or Wan
  • 26. 伺服器複製 Secondary Mirror File System Mirror File System App Primary Email Mirror File System Mirroring Path : /home : /var/spool/mail Heartbeat
  • 27. 企業叢集 Mirror File System Mirror File System App App App App App Mirror File System Mirror File System Mirroring Path Central Mirror File System App App
  • 28. 優勢
    • 建構方法
    • - 建構在已有的 EXT3, NFS, NTFS, CIFS 的 基礎上
    • 不需要複製索引資料 ( metadata )
    • - 不需要複製 Superblock, Cylinder group, file allocation map
    • 每一個檔案的抄寫動作必須通過檔案系統的檢查
    • - 檔案 的一致性 , 完整性
    • Live file, 非原始數據 ( raw data ) 複製
    • - 主要和備份的檔案複本都是立即可讀取的
  • 29. 優勢
    • 互通性
    • -- 兩個節點可以是不相同的系統
    • -- 儲存設備可以是不相同的系統
    • 較小的粒度 Small granularity
    • -- 目錄層 ,非整個檔案系統
    • 一對多 或 多對一 複製
  • 30. 優勢
    • 快速複製
    • -- 在檔案系統層複製
    • 即時故障切換
    • -- 不需要做 fsck 和 mount 動作
    • 地理上分散的叢集
    • -- 兩個節點之間可以相隔千百哩
    • 容易部署和管理
    • -- 只有主機需要安裝 MFS
  • 31. 為什麼選擇 MFS ?
    • 更好的資料保護
    • 更好的災難復原
    • 更好的 RAS
      • ( Reliability, Availability, Serviceability 穩定性、可靠性和適用性 )
    • 更好的彈性
    • 更好的效能
    • 更好的資源利用
  • 32. Q & A Application Application Data A Application Application Data B MFS MFS