注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)家庭與辦公軟件文件系統(tǒng)技術(shù)內(nèi)幕:大數(shù)據(jù)時(shí)代海量數(shù)據(jù)存儲(chǔ)之道

文件系統(tǒng)技術(shù)內(nèi)幕:大數(shù)據(jù)時(shí)代海量數(shù)據(jù)存儲(chǔ)之道

文件系統(tǒng)技術(shù)內(nèi)幕:大數(shù)據(jù)時(shí)代海量數(shù)據(jù)存儲(chǔ)之道

定 價(jià):¥102.00

作 者: 張書寧 著
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787121424786 出版時(shí)間: 2022-01-01 包裝: 平裝
開本: 16開 頁數(shù): 308 字?jǐn)?shù):  

內(nèi)容簡介

  本書通過理論與實(shí)踐相結(jié)合的方式,深入淺出地介紹了文件系統(tǒng)的概念、原理和具體實(shí)現(xiàn)。本書涵蓋本地文件系統(tǒng)、網(wǎng)絡(luò)文件系統(tǒng)、分布式文件系統(tǒng)和對象存儲(chǔ)等內(nèi)容,可以說涵蓋了數(shù)據(jù)持久化文件系統(tǒng)的主要領(lǐng)域。為了使讀者更加深入地理解文件系統(tǒng)的原理,本書不僅介紹了文件系統(tǒng)的原理和關(guān)鍵技術(shù),還結(jié)合開源項(xiàng)目介紹了文件系統(tǒng)的實(shí)現(xiàn)細(xì)節(jié)。最后,本書介紹了在互聯(lián)網(wǎng)領(lǐng)域廣泛使用的對象存儲(chǔ)、承載海量訪問請求的原理及可存儲(chǔ)海量數(shù)據(jù)的架構(gòu)。希望讀者通過閱讀本書對文件系統(tǒng)有全面、深入的認(rèn)識(shí)。 本書既可以作為文件系統(tǒng)及其他存儲(chǔ)系統(tǒng)開發(fā)人員的指導(dǎo)用書,也可以作為軟件架構(gòu)師、程序員和 Linux 運(yùn)維人員的參考用書。

作者簡介

  張書寧,戴爾科技(Dell Technologies)首席軟件開發(fā)工程師,負(fù)責(zé)公司核心存儲(chǔ)產(chǎn)品Unity和PowerStore的研發(fā)工作。 先后就職于華為、甲骨文(Oracle)、戴爾科技等世界五百強(qiáng)公司,曾負(fù)責(zé)分布式存儲(chǔ)產(chǎn)品FusionStorage及中端企業(yè)級(jí)存儲(chǔ)產(chǎn)品Unity和PowerStore等的系統(tǒng)設(shè)計(jì)和開發(fā)工作,深耕存儲(chǔ)領(lǐng)域十幾載。

圖書目錄

目 錄
第 1 章 從文件系統(tǒng)是什么說起 . 1
1.1 什么是文件系統(tǒng) . 1
1.1.1 普通用戶角度的文件系統(tǒng) . 3
1.1.2 操作系統(tǒng)層面的文件系統(tǒng) . 9
1.1.3 文件系統(tǒng)的基本原理 . 12
1.2 常見文件系統(tǒng)及分類 . 13
1.2.1 本地文件系統(tǒng) . 14
1.2.2 偽文件系統(tǒng) . 14
1.2.3 網(wǎng)絡(luò)文件系統(tǒng) . 15
1.2.4 集群文件系統(tǒng) . 16
1.2.5 分布式文件系統(tǒng) . 16
第 2 章 知其然——如何使用文件系統(tǒng). 17
2.1 巧婦之炊——準(zhǔn)備開發(fā)環(huán)境 . 17
2.2 文件內(nèi)容的訪問——讀/寫文件 . 18
2.2.1 文件系統(tǒng)的 API . 18
2.2.2 文件訪問的一般流程 . 19
2.2.3 文件內(nèi)容的讀/寫實(shí)例 . 20
2.2.4 關(guān)于 API 函數(shù)的進(jìn)一步解釋 . 22
2.3 如何遍歷目錄中的文件 . 24
2.4 格式化文件系統(tǒng)與掛載 . 27
2.5 文件系統(tǒng)與權(quán)限管理 . 29
2.5.1 Linux 權(quán)限管理簡介 . 30
2.5.2 設(shè)置文件的 RWX 權(quán)限 . 31
2.5.3 設(shè)置文件的 ACL 權(quán)限 . 34
2.6 文件系統(tǒng)的鎖機(jī)制 . 37
2.6.1 文件鎖的分類與模式 . 37
2.6.2 Linux 文件鎖的使用 . 38
2.7 文件系統(tǒng)的擴(kuò)展屬性 . 41
2.8 文件的零拷貝 . 42
2.8.1 零拷貝的基本原理 . 42
2.8.2 零拷貝的系統(tǒng) API . 44
第 3 章 知其所以然——本地文件系統(tǒng)原理及核心技術(shù) . 46
3.1 Linux 文件系統(tǒng)整體架構(gòu)簡介 . 46
3.1.1 從 VFS 到具體文件系統(tǒng) . 48
3.1.2 關(guān)鍵處理流程舉例 . 50
3.2 本地文件系統(tǒng)的關(guān)鍵技術(shù)與特性 . 61
3.2.1 磁盤空間布局(Layout) . 61
3.2.2 文件的數(shù)據(jù)管理 . 69
3.2.3 緩存技術(shù) . 77
3.2.4 快照與克隆技術(shù) . 82
3.2.5 日志技術(shù) . 84
3.2.6 權(quán)限管理 . 85
3.2.7 配額管理 . 89
3.2.8 文件鎖的原理 . 91
3.2.9 擴(kuò)展屬性與 ADS . 92
3.2.10 其他技術(shù)簡介 . 94
3.3 常見本地文件系統(tǒng)簡介 . 95
3.3.1 ExtX 文件系統(tǒng) . 95
3.3.2 XFS 文件系統(tǒng) . 95
3.3.3 ZFS 文件系統(tǒng) . 96
3.3.4 Btrfs 文件系統(tǒng) . 97
3.3.5 FAT 文件系統(tǒng) . 98
3.3.6 NTFS 文件系統(tǒng) . 98
第 4 章 從理論到實(shí)戰(zhàn)——Ext2 文件系統(tǒng)代碼詳解 . 99
4.1 本地文件系統(tǒng)的分析方法與工具 . 99
4.1.1 基于文件構(gòu)建文件系統(tǒng) . 100
4.1.2 了解函數(shù)調(diào)用流程的利器 . 100
4.2 從 Ext2 文件系統(tǒng)磁盤布局說起 . 102
4.2.1 Ext2 文件系統(tǒng)整體布局概述 . 102
4.2.2 超級(jí)塊(SuperBlock) . 103
4.2.3 塊組描述符(Block Group Descriptor) . 106
4.2.4 塊位圖(Block Bitmap) . 108
4.2.5 inode 位圖(inode Bitmap) . 109
4.2.6 inode 與 inode 表 . 109
4.3 Ext2 文件系統(tǒng)的根目錄與目錄數(shù)據(jù)布局 . 113
4.4 Ext2 文件系統(tǒng)的掛載 . 116
4.5 如何創(chuàng)建一個(gè)文件 . 117
4.5.1 創(chuàng)建普通文件 . 118
4.5.2 創(chuàng)建軟硬鏈接 . 121
4.5.3 創(chuàng)建目錄 . 125
4.6 Ext2 文件系統(tǒng)刪除文件的流程 . 125
4.7 Ext2 文件系統(tǒng)中文件的數(shù)據(jù)管理與寫數(shù)據(jù)流程 . 129
4.7.1 Ext2 文件系統(tǒng)中的文件數(shù)據(jù)是如何管理的 . 129
4.7.2 從 VFS 到 Ext2 文件系統(tǒng)的寫流程. 130
4.7.3 不同寫模式的流程分析 . 134
4.7.4 緩存數(shù)據(jù)刷寫及流程 . 138
4.8 讀數(shù)據(jù)的流程分析 . 140
4.8.1 緩存命中場景 . 141
4.8.2 非緩存命中場景 . 142
4.8.3 數(shù)據(jù)預(yù)讀邏輯 . 143
4.9 如何分配磁盤空間 . 148
4.9.1 計(jì)算存儲(chǔ)路徑 . 150
4.9.2 獲取存儲(chǔ)路徑 . 152
4.9.3 分配磁盤空間 . 153
4.10 Ext2 文件系統(tǒng)的擴(kuò)展屬性 . 154
4.10.1 Ext2 文件系統(tǒng)擴(kuò)展屬性是怎么在磁盤存儲(chǔ)的 . 154
4.10.2 設(shè)置擴(kuò)展屬性的 VFS 流程 . 157
4.10.3 Ext2 文件系統(tǒng)擴(kuò)展屬性接口實(shí)現(xiàn) . 159
4.11 權(quán)限管理代碼解析 . 163
4.11.1 ACL 的設(shè)置與獲取 . 163
4.11.2 ACL 權(quán)限檢查 . 164
4.12 文件鎖代碼解析 . 165
4.12.1 flock()函數(shù)的內(nèi)核實(shí)現(xiàn) . 165
4.12.2 fcntl()函數(shù)的內(nèi)核實(shí)現(xiàn) . 167
第 5 章 基于網(wǎng)絡(luò)共享的網(wǎng)絡(luò)文件系統(tǒng) . 172
5.1 什么是網(wǎng)絡(luò)文件系統(tǒng) . 172
5.2 網(wǎng)絡(luò)文件系統(tǒng)與本地文件系統(tǒng)的異同 . 174
5.3 常見的網(wǎng)絡(luò)文件系統(tǒng)簡析 . 174
5.3.1 NFS 文件系統(tǒng) . 174
5.3.2 SMB 協(xié)議與 CIFS 協(xié)議 . 175
5.4 網(wǎng)絡(luò)文件系統(tǒng)關(guān)鍵技術(shù) . 175
5.4.1 遠(yuǎn)程過程調(diào)用(RPC 協(xié)議) . 176
5.4.2 客戶端與服務(wù)端的語言——文件系統(tǒng)協(xié)議 . 177
5.4.3 文件鎖的網(wǎng)絡(luò)實(shí)現(xiàn) . 178
5.5 準(zhǔn)備學(xué)習(xí)環(huán)境與工具 . 179
5.5.1 搭建一個(gè) NFS 服務(wù) . 179
5.5.2 學(xué)習(xí)網(wǎng)絡(luò)文件系統(tǒng)的利器 . 180
5.6 網(wǎng)絡(luò)文件系統(tǒng)實(shí)例 . 181
5.6.1 NFS 文件系統(tǒng)架構(gòu)及流程簡析 . 181
5.6.2 RPC 協(xié)議簡析 . 185
5.6.3 NFS 協(xié)議簡析 . 186
5.6.4 NFS 協(xié)議的具體實(shí)現(xiàn) . 191
5.7 NFS 服務(wù)端及實(shí)例解析 . 203
5.7.1 NFSD . 203
5.7.2 NFS-Ganesha . 210
第 6 章 提供橫向擴(kuò)展的分布式文件系統(tǒng) . 216
6.1 什么是分布式文件系統(tǒng) . 216
6.2 分布式文件系統(tǒng)與網(wǎng)絡(luò)文件系統(tǒng)的異同 . 217
6.3 常見分布式文件系統(tǒng) . 217
6.3.1 GFS . 218
6.3.2 CephFS . 219
6.3.3 GlusterFS . 219
6.4 分布式文件系統(tǒng)的橫向擴(kuò)展架構(gòu) . 220
6.4.1 中心架構(gòu) . 220
6.4.2 對等架構(gòu) . 221
6.5 分布式文件系統(tǒng)的關(guān)鍵技術(shù) . 222
6.5.1 分布式數(shù)據(jù)布局 . 222
6.5.2 分布式數(shù)據(jù)可靠性(Reliability). 224
6.5.3 分布式數(shù)據(jù)一致性(Consistency) . 228
6.5.4 設(shè)備故障與容錯(cuò)(Fault Tolerance) . 229
6.6 分布式文件系統(tǒng)實(shí)例之 CephFS . 230
6.6.1 搭建一個(gè) CephFS 分布式文件系統(tǒng) . 230
6.6.2 CephFS 分布式文件系統(tǒng)架構(gòu)簡析 . 231
6.6.3 CephFS 客戶端架構(gòu) . 234
6.6.4 CephFS 集群端架構(gòu) . 236
6.6.5 CephFS 數(shù)據(jù)組織簡析 . 239
6.6.6 CephFS 文件創(chuàng)建流程解析 . 244
6.6.7 CephFS 寫數(shù)據(jù)流程解析 . 251
6.7 分布式系統(tǒng)實(shí)例之 GlusterFS . 253
6.7.1 GlusterFS 的安裝與使用 . 253
6.7.2 GlusterFS 整體架構(gòu)簡析 . 257
6.7.3 轉(zhuǎn)換器與轉(zhuǎn)換器樹 . 259
6.7.4 GlusterFS 數(shù)據(jù)分布與可靠性 . 263
6.7.5 GlusterFS 客戶端架構(gòu)與 I/O 流程 . 268
6.7.6 GlusterFS 服務(wù)端架構(gòu)與 I/O 流程 . 270
第 7 章 百花爭艷——文件系統(tǒng)的其他形態(tài) . 272
7.1 用戶態(tài)文件系統(tǒng)框架 . 272
7.1.1 Linux 中的用戶態(tài)文件系統(tǒng)框架 Fuse . 272
7.1.2 Windows 中的用戶態(tài)文件系統(tǒng)框架 Dokany . 279
7.2 對象存儲(chǔ)與常見實(shí)現(xiàn)簡析 . 282
7.2.1 從文件系統(tǒng)到對象存儲(chǔ) . 282
7.2.2 S3 對象存儲(chǔ)簡析 . 287
7.2.3 Haystack 對象存儲(chǔ)簡析 . 288
參考文獻(xiàn) . 295

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)