日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

Linux文件系统基础(1)

發(fā)布時(shí)間:2023/12/9 linux 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux文件系统基础(1) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文首發(fā)于http://oliveryang.net,轉(zhuǎn)載時(shí)請(qǐng)包含原文或者作者網(wǎng)站鏈接。

1. 什么是文件系統(tǒng)

直接引用來(lái)自維基百科文件系統(tǒng)的定義,

A file system is a set of abstract data types that are implemented for the storage, hierarchical organization, manipulation, navigation, access, and retrieval of data.

文件系統(tǒng)就是一套抽象的數(shù)據(jù)類型,實(shí)現(xiàn)了數(shù)據(jù)的存儲(chǔ),層級(jí)組織,操作,瀏覽,訪問(wèn)和取回。

2. 文件系統(tǒng)分類

Linux恐怕是內(nèi)置支持文件系統(tǒng)最多的操作系統(tǒng)了。Linux v4.4源代碼里fs路徑下的文件系統(tǒng)目錄多達(dá)71個(gè),

$ pwd /ws/linux/fs $ ls -dl */ | wc -l 71

2.1 文件系統(tǒng)的架構(gòu)

按照文件系統(tǒng)的架構(gòu),文件系統(tǒng)大致上可以分為以下幾類,

2.1.1 Local file systems

即本地文件系統(tǒng)。典型的例子有Ext4, Btrfs, XFS, ZFS等。

通常是在主機(jī)本地可見(jiàn)的存儲(chǔ)介質(zhì)上才能工作的文件系統(tǒng)。此類文件系統(tǒng)本身沒(méi)有網(wǎng)絡(luò)訪問(wèn)的能力。因此,如需訪問(wèn)遠(yuǎn)程
介質(zhì),需要接觸底層協(xié)議(如iSCSI, Fiber Channel)才能管理和訪問(wèn)數(shù)據(jù)。

Linux上的本地文件系統(tǒng)很容易支持POSIX語(yǔ)義的文件API。

2.1.2 Special purpose file systems

即特殊目的文件系統(tǒng)。

  • Pseudo and virtual file systems

    實(shí)現(xiàn)操作系統(tǒng)內(nèi)核的狀態(tài)查詢,管理控制,和文件抽象功能。例如,procfs, sysfs,tmpfs, debugfs, devfs。實(shí)現(xiàn)某種開(kāi)發(fā)框架。例如FUSE(Filesystem in Userspace)提供了一種在用戶空間開(kāi)發(fā)文件系統(tǒng)的通用機(jī)制。此外,由于近來(lái)Docker為代表的容器技術(shù)的興起,使verlayFS,Aufs這類支持對(duì)底層多個(gè)本地文件系統(tǒng)做union mount的文件系統(tǒng)技術(shù)得以廣泛應(yīng)用。

  • Cryptographic file systems

    專門(mén)用于文件系統(tǒng)級(jí)別的數(shù)據(jù)安全加密用途。例如,eCryptfs, SSHFS。

2.1.3 Network file systems

即網(wǎng)絡(luò)文件系統(tǒng)。例如,NFS,CIFS(SMB)。

此類文件系統(tǒng)被設(shè)計(jì)為client-server結(jié)構(gòu)??蛻舳说奈募到y(tǒng)通過(guò)提供遠(yuǎn)程文件的訪問(wèn)協(xié)議,來(lái)訪問(wèn)服務(wù)端的文件系統(tǒng)。

網(wǎng)絡(luò)文件系統(tǒng)一般很難支持完整的POSIX語(yǔ)義的文件訪問(wèn)。例如NFS文件的客戶端可能緩存文件,導(dǎo)致數(shù)據(jù)在其它客戶端或者服務(wù)端不同步的問(wèn)題。另外,NFSv3及以前版本是無(wú)狀態(tài)的協(xié)議,并不支持POSIX fcntl locks。NFS的文件鎖是通過(guò)Network Lock Manager (lockd后臺(tái)進(jìn)程) 這個(gè)獨(dú)立程序?qū)崿F(xiàn)的。直到NFSv4改為有狀態(tài)協(xié)議,才實(shí)現(xiàn)了文件鎖,不需要NLM協(xié)同工作了。

針對(duì)本地文件系統(tǒng)開(kāi)發(fā)和測(cè)試的應(yīng)用,在網(wǎng)絡(luò)文件系統(tǒng)上運(yùn)行可能會(huì)有不同的行為,需要特別的處理。

NAS(Network Attach Storage)存儲(chǔ)是外置存儲(chǔ)設(shè)備的一大類,其中NFS和CIFS是支持的主要訪問(wèn)協(xié)議。

2.1.4 Clustered file systemas

即集群文件系統(tǒng)。引用集群文件系統(tǒng)在維基百科的定義如下,

A clustered file system is a file system which is shared by being simultaneously mounted on multiple servers.

同一文件系統(tǒng)能否在多個(gè)主機(jī)上被同時(shí)掛載使用是集群文件系統(tǒng)的本質(zhì)。根據(jù)架構(gòu)上的差異,集群文件系統(tǒng)又被分為以下兩大類,

  • Shared-disk file systems

    即共享磁盤(pán)的文件系統(tǒng)。這架構(gòu)的Block級(jí)別的訪問(wèn)是集中共享式的。所有文件系統(tǒng)的主機(jī)通過(guò)同步和鎖原語(yǔ)訪問(wèn)同一個(gè)Block Storage。

    通常,塊存儲(chǔ)的共享是通過(guò)SAN(Storage Area Network)來(lái)實(shí)現(xiàn)共享的。

    這一領(lǐng)域代表性的實(shí)現(xiàn)有,IBM的GPFS,Oracle的OCFS,中科藍(lán)鯨的BWFS,Red Hat的GFS(Global File System)。

  • Distributed file systems

    即分布式文件系統(tǒng)。名字有些混淆。但和Share-disk類型的最大區(qū)別的,分布式文件系統(tǒng)的Block Storage不需要共享。每個(gè)節(jié)點(diǎn)都擁有自己私有的Block Storage。但文件系統(tǒng)集群對(duì)使用者依舊提供統(tǒng)一的視圖,即全局的命名空間(Global Name Space)。

    分布式文件系統(tǒng)可以利用廉價(jià)的DAS(Direct Attach Storage)來(lái)架構(gòu)一個(gè)高性能的文件集群。特別是當(dāng)萬(wàn)兆以太網(wǎng)和Flash/SSD技術(shù)在數(shù)據(jù)中心變得越來(lái)越普及,DAS做分布式文件系統(tǒng)的優(yōu)勢(shì)越來(lái)越明顯。

    典型的分布式文件系統(tǒng)有Apache HDFS,Google的GFS(Google File System), Redhat的Ceph和Glusterfs,Lustre,微軟的DFS, EMC Isilon的OneFS。

2.2 存儲(chǔ)介質(zhì)和使用場(chǎng)景

按照存儲(chǔ)介質(zhì)和使用場(chǎng)景的不同,文件系統(tǒng)也可以劃分為以下類型,

  • Disk file systems

    基于磁盤(pán)(HDD)特性設(shè)計(jì)的文件系統(tǒng)。例如,Ext4, UFS, XFS

  • Optical discs file systems

    基于光盤(pán)特性設(shè)計(jì)的文件系統(tǒng)。例如,ISO 9660, UDF(Universal Disk Format)。

  • Flash file systems

    基于Flash/SSD特性的文件系統(tǒng)。例如,JFFS2, YAFFS, F2FS. 傳統(tǒng)的磁盤(pán)文件系統(tǒng)也可用于SSD,但是由于SSD的一些獨(dú)有特性,并不能發(fā)揮出SSD的性能優(yōu)勢(shì)。因此,這類文件系統(tǒng)一般針對(duì)SSD的硬件特性,GC,Wear Leveling等做了特別的優(yōu)化和設(shè)計(jì)上的考慮。

  • Tape file systems

    基于磁帶特性設(shè)計(jì)的文件系統(tǒng)。例如,LTFS(Linear Tape File System)。

  • Database file systems

    為數(shù)據(jù)庫(kù)使用場(chǎng)景特別優(yōu)化的文件系統(tǒng)。例如,DBFS(Oracle Database file system)。

  • Transactional file systems

    為支持多個(gè)文件操作的原子性設(shè)計(jì)的文件系統(tǒng)。例如, Transactional NTFS,目前多為研究實(shí)驗(yàn)性質(zhì)。

以上內(nèi)容在互聯(lián)網(wǎng)上已有不少論述,在此不一一贅述

轉(zhuǎn)載于:https://www.cnblogs.com/ainima/p/6330780.html

總結(jié)

以上是生活随笔為你收集整理的Linux文件系统基础(1)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。