自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux NFS文件系統(tǒng)端架構(gòu)與代碼解析

系統(tǒng) Linux
本文主要從架構(gòu)上來介紹NFS文件系統(tǒng)的實現(xiàn),后續(xù)我們會結(jié)合具體的流程深入到函數(shù)實現(xiàn)的細節(jié)。更多精彩內(nèi)容還請關(guān)注本號。

我們知道NFS分布式文件系統(tǒng)是一個客戶端-服務端架構(gòu)(CS架構(gòu))。其客戶端是Linux內(nèi)核中的一個文件系統(tǒng),跟Ext4和XFS類似,差異在于其數(shù)據(jù)請求不存儲在本地磁盤,而是通過網(wǎng)絡發(fā)送到服務端進行處理。

圖片圖片

從上圖所示的整體架構(gòu)圖上可以看出,NFS也是位于VFS下的文件系統(tǒng)。因此當NFS掛載后,其與本地文件系統(tǒng)并沒有任何差異,用戶在使用的時候也是透明的。

1NFS整體架構(gòu)

作為VFS下的具體文件系統(tǒng),NFS主要需要實現(xiàn)兩套函數(shù)指針,對于文件(對于目錄來說是另外的指針)來說前端實現(xiàn)了nfs_file_operations,用于適配VFS的調(diào)用。后端的接口實現(xiàn)則是nfs_file_aops,其用于實現(xiàn)與NFS服務端的通訊。

圖片圖片

2nfs_file_operations實現(xiàn)

nfs_file_operations的實現(xiàn)如下所示,可以看出這里實現(xiàn)了文件讀寫相關(guān)的函數(shù)接口,比如打開,讀寫,尋址和鎖等等。

圖片圖片

以寫數(shù)據(jù)為例,當用戶調(diào)用write API時,首先會觸發(fā)VFS的vfs_write函數(shù),而該函數(shù)通過函數(shù)指針的方式調(diào)用nfs_file_write,具體如下所示。

圖片圖片

3nfs_file_aops實現(xiàn)

nfs_file_aops的具體實現(xiàn)如下所示,這里主要實現(xiàn)了如何將緩存頁的數(shù)據(jù)通過網(wǎng)絡發(fā)送到服務端,或者從服務端接收消息。其中nfs_writepags用于將緩存頁發(fā)送到服務端。對于本地文件系統(tǒng)來說該函數(shù)的實現(xiàn)通常是將數(shù)據(jù)寫入持久化的設(shè)備上。

圖片圖片

對于讀數(shù)據(jù)來說通常是通過nfs_readpages,該函數(shù)則用于從遠端設(shè)備讀取數(shù)據(jù)。除此之外還有很多其它函數(shù)實現(xiàn),本文不再贅述。

本文主要從架構(gòu)上來介紹NFS文件系統(tǒng)的實現(xiàn),后續(xù)我們會結(jié)合具體的流程深入到函數(shù)實現(xiàn)的細節(jié)。更多精彩內(nèi)容還請關(guān)注本號。

責任編輯:武曉燕 來源: 數(shù)據(jù)存儲張
相關(guān)推薦

2011-08-01 16:42:24

ibmdwNFS文件系統(tǒng)

2021-06-06 16:55:22

Linux文件系統(tǒng)

2009-12-02 16:16:33

linux系統(tǒng)

2011-01-13 13:18:38

Linux網(wǎng)絡文件

2009-12-25 08:50:46

NFS系統(tǒng)服務

2009-11-26 11:31:34

NFS網(wǎng)絡文件系統(tǒng)設(shè)定

2010-08-04 17:18:09

nfs文件系統(tǒng)

2010-08-06 12:42:23

NFS網(wǎng)絡文件系統(tǒng)

2010-07-27 10:15:38

NFS網(wǎng)絡文件系統(tǒng)

2011-01-13 14:10:30

Linux文件系統(tǒng)

2010-08-03 11:32:30

NFS網(wǎng)絡文件系統(tǒng)

2020-07-22 14:53:06

Linux系統(tǒng)虛擬文件

2023-08-21 08:31:40

LinuxNFSD架構(gòu)

2010-11-15 16:41:29

Oracle文件

2010-04-13 13:31:31

Unix文件

2017-04-25 15:50:02

sparse傳輸處理

2021-04-12 05:44:44

Linux文件系統(tǒng)

2023-08-05 12:58:51

RPC協(xié)議服務端

2021-11-01 13:38:55

Linux文件系統(tǒng)

2009-12-14 13:14:57

點贊
收藏

51CTO技術(shù)棧公眾號