新聞中心
近年來,Linux系統(tǒng)在機(jī)房、工控、服務(wù)器等領(lǐng)域得到廣泛使用,它被認(rèn)為是一個高效、安全的操作系統(tǒng),特別是在服務(wù)器領(lǐng)域中應(yīng)用得非常廣泛。然而,隨著應(yīng)用范圍的擴(kuò)大,Linux系統(tǒng)的電源供應(yīng)問題也越來越成為企業(yè)和個人的關(guān)注焦點(diǎn)。在Linux系統(tǒng)的應(yīng)用中,電源供應(yīng)的穩(wěn)定性和質(zhì)量對系統(tǒng)的穩(wěn)定性和可靠性產(chǎn)生重要影響。本文將為讀者介紹電源供應(yīng)在Linux系統(tǒng)應(yīng)用中扮演的重要角色,并提供優(yōu)質(zhì)和穩(wěn)定的選擇方案。

10年積累的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有吉陽免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
Linux系統(tǒng)的特點(diǎn)
在運(yùn)行Linux系統(tǒng)的服務(wù)器或機(jī)房中,電源供應(yīng)的選購是至關(guān)重要的。這是因?yàn)長inux系統(tǒng)的特點(diǎn)不允許在操作暫停期間進(jìn)行數(shù)據(jù)轉(zhuǎn)移或操作中斷。如果發(fā)生停電或機(jī)器崩潰,操作數(shù)據(jù)很可能會丟失或損壞。此外,Linux系統(tǒng)運(yùn)行時會占用更多的CPU、內(nèi)存和網(wǎng)絡(luò)帶寬,并承載的任務(wù)可能更復(fù)雜和繁重。
因此,在選購電源供應(yīng)時,應(yīng)考慮如下因素:
1. 電源的功率和效率
對于一個Linux服務(wù)器,功率和功率密度都是考慮的因素。大多數(shù)Linux服務(wù)器的功率要求在300瓦到1000瓦之間,同時,由于機(jī)架空間是有限的,服務(wù)器的物理尺寸也相當(dāng)重要。
2. 電源的可靠穩(wěn)定性
Linux服務(wù)器通常需要長時間運(yùn)行,因此它需要一個穩(wěn)定的電源供應(yīng)。有些電源供應(yīng)在長時間高負(fù)載運(yùn)行下可能出現(xiàn)穩(wěn)定性問題,如一些家用電源供應(yīng)。但是,經(jīng)過質(zhì)量保證的商用電源供應(yīng)能夠長時間運(yùn)行穩(wěn)定可靠。
3. 電源的安全保障
Linux服務(wù)器存儲了很多重要的和敏感的數(shù)據(jù)和文件,如用戶信息、業(yè)務(wù)數(shù)據(jù)和源代碼等。為了保護(hù)這些信息免受損失和失竊,電源供應(yīng)需要提供經(jīng)過測試的安全特性。
4. 電源供應(yīng)的價格
在市場上尋找Linux服務(wù)器的電源供應(yīng)時,如果價格過低,可能會有質(zhì)量問題。雖然一些供應(yīng)商會標(biāo)榜低價的電源供應(yīng),但如果出現(xiàn)負(fù)載錯誤或過負(fù)載等問題,開銷很可能比購買高質(zhì)量而保證可靠性的電源供應(yīng)要更大。
為滿足Linux服務(wù)器的復(fù)雜性和重要性,我們可以從以下三個方面著手選擇適用于Linux系統(tǒng)的電源供應(yīng):
1. 制式化設(shè)計(jì)
Linux服務(wù)器的機(jī)箱、主板等系統(tǒng)部件可以通過制式化的設(shè)計(jì)而擁有一致的電源需求,因此,購買最適合的電源供應(yīng)將確保穩(wěn)定的和崩潰免費(fèi)的運(yùn)行。
2. 長壽命電源
對于Linux系統(tǒng)的高負(fù)載運(yùn)行,電源的壽命和質(zhì)量至關(guān)重要。由于大多數(shù)Linux服務(wù)器通常要在極長的時間內(nèi)穩(wěn)定運(yùn)行,商用高品質(zhì)的電源供應(yīng)可以從電源設(shè)計(jì)和工藝等方面確保電源性能的長期穩(wěn)定性。
3. 功率和效率
成本在選擇適用于Linux系統(tǒng)的電源供應(yīng)時,要權(quán)衡成本和效率。因此,電源的功率和效率將成為其中的一個重要考慮因素。大多數(shù)Linux服務(wù)器的功率需求在300瓦到1千瓦之間。
在運(yùn)行Linux系統(tǒng)的服務(wù)器或機(jī)房中,電源供應(yīng)的選購是至關(guān)重要的中的重要一環(huán)。選擇適用于Linux系統(tǒng)的電源供應(yīng)的關(guān)鍵因素之一是穩(wěn)定性和可靠性。除了實(shí)施制式化設(shè)計(jì)、購買備有電源、選擇具有高度可靠性的商用電源供應(yīng)之外,監(jiān)視服務(wù)器和各種組件以確保它們的運(yùn)作是否正常也是非常必要的。
選購Linux系統(tǒng)所需的適合電源供應(yīng)需要考慮更多的因素,比如功率、效率、可靠性、穩(wěn)定性和質(zhì)量等等,因此,需要特別注意各種不同的使用環(huán)境和不同的要求,以確保電源供應(yīng)具有優(yōu)質(zhì)的穩(wěn)定性和可靠性。
相關(guān)問題拓展閱讀:
- Linux文件系統(tǒng)特點(diǎn)?
Linux文件系統(tǒng)特點(diǎn)?
Linux之所以能在嵌人式系統(tǒng)領(lǐng)域取得如此輝煌的成績,與其自身的優(yōu)良特性是分不開的。與其他操作系統(tǒng)相比,Linux具有以下一系列顯著的特點(diǎn)。
1.模塊化程度高
Linux的內(nèi)核設(shè)計(jì)非常精巧,分成進(jìn)程調(diào)度、內(nèi)存管理、進(jìn)程間通信、虛擬
文件系統(tǒng)
和網(wǎng)絡(luò)接口五大部分;其獨(dú)特的模塊機(jī)制可根據(jù)用戶的需要,實(shí)時地將某些模塊插入或從內(nèi)核中移走,使得Linux系統(tǒng)內(nèi)核可以裁剪得非常小巧,很適合于
嵌入式系統(tǒng)
的需要。
2.源碼公開
由于Linux系統(tǒng)的開發(fā)從一開始就與GNU項(xiàng)目緊密地結(jié)合起來,所納歷以它的大多數(shù)組成部分都直接來自GNU項(xiàng)目。任何人、任何組織只要遵守GPL條款,就可以自由使用Linux
源代碼
,為用戶提供了更大限度的
自由度
。這一點(diǎn)也正投嵌入式系統(tǒng)所好,因?yàn)榍度胧较到y(tǒng)應(yīng)用千差萬別,設(shè)計(jì)者往往需要針對具體的應(yīng)用對源碼進(jìn)行修改和優(yōu)化,所以是否能獲得源代碼 對于嵌入式系統(tǒng)的開發(fā)是至關(guān)重要的。加之Linux的軟件資源十分豐富,每種通用程序在Linux上幾乎都可以找到,并且數(shù)量還在不斷增加。這一切就使設(shè)計(jì)者在其基礎(chǔ)之上進(jìn)行二次開發(fā)變得非常容易。另外,由于Linux源代碼公開,也使用戶不用擔(dān)心有“后閘”等
安全隱患
。
同時,源碼開放給各教育機(jī)構(gòu)提供極大的方便,從而也促進(jìn)了Linux的學(xué)習(xí)、推廣和應(yīng)用。
3.廣泛的硬件支持
Linux能支持x86、ARM、MIPS、ALPHA和PowerPC等多種體系結(jié)構(gòu)的洞備搜
微處理器
。目前已成功地移植到數(shù)十種硬件平臺,幾乎能運(yùn)行在所有流行的處理器上。
由于世界范圍內(nèi)有眾多開發(fā)者在為Linux的擴(kuò)充貢獻(xiàn)力量,所以Linux有著異常豐富的
驅(qū)動程序
資源,支持各種主流硬件設(shè)各和最新的硬件技術(shù),甚至可在沒有存儲管理單元MMU 的處理器上運(yùn)行,這滾讓些都進(jìn)一步促進(jìn)了Linux在嵌入式系統(tǒng)中的應(yīng)用。
4.安全性及可靠性好
內(nèi)核高效穩(wěn)定。
Linux內(nèi)核
的高效和穩(wěn)定已在各個領(lǐng)域內(nèi)得到了大量事實(shí)的驗(yàn)證。
Linux中大量網(wǎng)絡(luò)管理、網(wǎng)絡(luò)服務(wù)等方面的功能,可使用戶很方便地建立高效穩(wěn)定的防火墻、路由器、工作站、服務(wù)器等。為提高安全性,它還提供了大量的網(wǎng)絡(luò)管理軟件、網(wǎng)絡(luò)分析軟件和網(wǎng)絡(luò)安全軟件等。
5.具有優(yōu)秀的開發(fā)工具
開發(fā)嵌入式系統(tǒng)的關(guān)鍵是需要有一套完善的開發(fā)和調(diào)試工具。傳統(tǒng)的
嵌入式開發(fā)
調(diào)試工具是在線仿真器(In Circuit Emulator,ICE),它通過取代目標(biāo)板的微處理器,給目標(biāo)程序提供一個完整的仿真環(huán)境,從而使開發(fā)者能非常清楚地了解到程序在目標(biāo)板上的工作狀態(tài),便于監(jiān)視和調(diào)試程序。在線仿真器的價格非常高,而且只適合做非常底層的調(diào)試。如果使用的是嵌人式Linux,一旦軟硬件能支持正常的串口功能,即使不用在線仿真器,也可以很好地進(jìn)行開發(fā)和調(diào)試工作,從而節(jié)省了一筆不小的開發(fā)費(fèi)用。嵌入式Linux為開發(fā)者提供了一套完整的工具鏈(Tool Chain),能夠很方便地實(shí)現(xiàn)從操作系統(tǒng)到應(yīng)用軟件各個級別的調(diào)試。
6.有很好的網(wǎng)絡(luò)支持利文件系統(tǒng)支持
Linux從誕生之日起就與Internet密不可分,支持各種標(biāo)準(zhǔn)的Internet
網(wǎng)絡(luò)協(xié)議
,并且很容易移植到嵌入式系統(tǒng)當(dāng)中。目前,Linux幾乎支持所有主流的網(wǎng)絡(luò)硬件、網(wǎng)絡(luò)協(xié)議和文件系統(tǒng),因此它是NFS的一個很好的平臺。
另一方面,由于Linux有很好的文件系統(tǒng)支持(例如,它支持Ext2、FAT32、romfs等文件系統(tǒng)),是數(shù)據(jù)各份、同步和復(fù)制的良好平臺,這些都為開發(fā)嵌入式系統(tǒng)應(yīng)用打下了堅(jiān)實(shí)的基礎(chǔ)。
7.與UNIX完全兼容
目前,在Linux中所包含的工具和實(shí)用程序,可以完成UNIX的所有主要功能。
但由于Linux不是為實(shí)時而設(shè)計(jì)的,因而這就成了Linux在實(shí)時系統(tǒng)中應(yīng)用的更大遺憾。不過,目前有眾多的自由軟件愛好者正在為此進(jìn)行不懈的努力,也取得了諸多成果
類似于 Windows下的C、D、E等各個盤,Linux系統(tǒng)也可以將磁盤、Flash等存儲設(shè)備劃分為若干個分區(qū),在不同分區(qū)存放不同類別的文件。與Windows的C盤類似,Linux一樣要在一個分區(qū)上存放系統(tǒng)啟動所必需的文件,比如內(nèi)核映象文件(在嵌入式系統(tǒng)中,內(nèi)核一般單獨(dú)存放在一個分區(qū)中)內(nèi)核啟動后運(yùn)行的之一-個程序( init)給用戶提供操作界面的 shell程序、應(yīng)用程序所依賴的庫等。這些必需、基本的文件早氏合稱為根文件系統(tǒng),它們存放在一個分區(qū)中。Linux 系統(tǒng)啟動后首先掛接這個分區(qū),稱為掛接( mount)根文件系統(tǒng)。其他分梁睜數(shù)區(qū)上所有目錄、文件的,也稱為文件系統(tǒng)。Linux 中并沒有C、D、E等盤符的概念,它以樹狀結(jié)構(gòu)管理所有目錄、文件,其他分區(qū)掛接在某個目錄上,這個目錄被稱為掛接點(diǎn)或安裝點(diǎn)(mount point),然后就可以通過這個目錄來訪問這個分區(qū)上的文件了。比如根文件系統(tǒng)被掛接在根目錄“I”上后,在根目錄下就有根文件系統(tǒng)的各個目錄、文件:/bin、/in、/mnt等;再將其他分區(qū)掛接到/mnt目錄上,/mnt目錄下就有這個分區(qū).的各個目錄、文件。在一個分區(qū)上存儲文件時,需要遵循一定的格式,這種格式稱為文橡首件系統(tǒng)類型,比如fat16、fat32、ntfs、ext2、ext3、jffs2、yaffs 等。除這些擁有實(shí)實(shí)在在的存儲分區(qū)的文件系統(tǒng)類型外,Linux還有幾種虛擬的文件系統(tǒng)類型,比如proc、sysfs 等,它們的文件并不存儲在實(shí)際的設(shè)備上,而是在訪問它們時由內(nèi)核臨時生成。比如 proc文件系統(tǒng)下的uptime文件,讀取它時可以得到兩個時間值(用來表示系統(tǒng)啟動后運(yùn)行的秒數(shù)、空閑的秒數(shù)),每次讀取時都由內(nèi)核即刻生成,每次讀取結(jié)果都不一樣?!拔募到y(tǒng)類型”常被簡稱為“文件系統(tǒng)”,比如“硬盤第二個分區(qū)上的文件系統(tǒng)是EXT2”指的就是文件系統(tǒng)類型。所以“文件系統(tǒng)”這個術(shù)語,有時候指的是分區(qū)上的文件,有時候指的是文件系統(tǒng)類型,需要根據(jù)語境分辨,在閱讀各類文獻(xiàn)時需要注意這點(diǎn)。
第9章 Linux文件系統(tǒng)知識與格式化應(yīng)用實(shí)踐… 1
9.1 Linux文件系統(tǒng)介紹… 2
9.1.1文件系統(tǒng)知識預(yù)備… 2
9.1.2什么是文件系統(tǒng)?… 3
9.1.3文件系統(tǒng)有什么用?… 3
9.1.4 常見文件系統(tǒng)類型介紹… 3
9.1.5文件系統(tǒng)的深入體系結(jié)構(gòu)介紹… 9
9.1.6操作系統(tǒng)默認(rèn)文件系統(tǒng)及簡單對比… 11
9.1.7文件系統(tǒng)選型簡單介紹… 12
9.2 mkfs:創(chuàng)建Linux文件系統(tǒng)核心命令… 13
9.2.1 命令詳解… 13
9.2.2 使用范例… 14
9.3 Ext2文件系統(tǒng)介紹… 16
9.3.1 ext2文件系統(tǒng)介紹… 16
9.3.2 ext2文件系統(tǒng)知識回顧… 16
9.3.3什么是inode?… 18
9.3.4什么是邏輯塊(Block)?… 21
9.4文件系統(tǒng)的磁盤布局… 22
9.4.1磁盤文件系統(tǒng)概述… 22
9.4.2 ext2文件系統(tǒng)總體存儲布局… 23
9.3.1文件系統(tǒng)新增文件操作流程… 36
9.3.2文件系統(tǒng)刪除原理… 37
9.1 Linux文件系統(tǒng)介紹
9.1.1文件系統(tǒng)知識預(yù)備
分區(qū)與文件系統(tǒng)的關(guān)系比喻:分區(qū)就是給房子打隔斷,創(chuàng)建文件系統(tǒng)就是給房子裝修!
根據(jù)前面課程的講解,以及大家日常對Linux系統(tǒng)的操作,我們很容易理解,當(dāng)通過fdisk命令對一個磁盤進(jìn)行分區(qū)后,并不能直接掛載目錄存放數(shù)據(jù)實(shí)體,還需要格式化操作,才可以進(jìn)行掛載并存放數(shù)據(jù)。這談轎里實(shí)踐下,將一個未進(jìn)行格式化的分區(qū)sdb1直接掛載。
# mount /dev/sdb1 /mnt
mount: you must specify the filesystem type #
# mount /dev/sdb1 /mnt
mount: /dev/sdb3 is write-protected, mounting read-only #
mount: unknown filesystem type ‘(null)’
為什么磁盤分區(qū)后需要格式化呢?這是因?yàn)榇疟P分區(qū)在沒有格式化前,操作系統(tǒng)是無法識別系統(tǒng)上磁盤分區(qū)格式的,也就無法存取文件目錄屬性和權(quán)限等內(nèi)容,把分區(qū)格式化成操作系統(tǒng)支持的某個文件系統(tǒng)后,再存放數(shù)據(jù),系統(tǒng)就會根據(jù)這個文件系統(tǒng)的格式進(jìn)行存取文件了。
9.1.2什么是文件系統(tǒng)?
簡單地說,文件系統(tǒng)就是一種存儲和組織計(jì)算機(jī)中數(shù)據(jù)文件的機(jī)制或方法,它使得對計(jì)算機(jī)內(nèi)的數(shù)據(jù)的存儲、訪問和查找變得更容易、簡單含慎肆。如ext2、ext3(CentOS5.x)、ext4(CentOS6.x)、xfs(CentOS7.x)、zfs和Reiserfs或FAT、NTFS等都是常見文件系統(tǒng)。
文件系統(tǒng)也可能是一種訪問數(shù)據(jù)的服務(wù)形式,實(shí)際的數(shù)據(jù)是通過網(wǎng)絡(luò)協(xié)議(如NFS、MFS等)提供的或者系統(tǒng)內(nèi)存里,甚至可能根本沒有對應(yīng)的文件(如proc文件系統(tǒng))。
因此,如果嚴(yán)格地說,文件系統(tǒng)是一套實(shí)現(xiàn)了數(shù)據(jù)的存儲、分級組織、訪問和獲取等操作的抽象數(shù)據(jù)類型,而文件系統(tǒng)落到計(jì)算機(jī)里其實(shí)就是一個應(yīng)用軟件。
9.1.3文件系統(tǒng)有什么用?
文件系統(tǒng)使用文件和樹形目錄的抽象邏輯概念代替了磁盤等物理設(shè)備使用數(shù)據(jù)塊的概念,用戶使用文件系統(tǒng)來存放數(shù)據(jù),而不必關(guān)心數(shù)據(jù)實(shí)際保存在硬盤(或者光盤)的地址為多少的inode和block上,只需要記住這個文件的所屬目錄和文件名就好了。
在向磁盤分區(qū)寫入新數(shù)據(jù)之前,用戶不必關(guān)心硬盤上的哪個索引節(jié)點(diǎn)和塊地址有沒有被使用,硬盤上的存儲空間管理(分配和釋放)功能都是由文件系統(tǒng)自動幫用戶完成的,用戶只需要記住數(shù)據(jù)被寫入到了哪個文件中或文件放于哪個目錄中即可。
在磁盤實(shí)際工作場景,即使給磁盤分區(qū)了,但如果沒有在磁盤格式化創(chuàng)建文件系統(tǒng),那么磁盤是無法存儲數(shù)據(jù)的。因此,在磁盤分區(qū)后能夠使用之前必須要格孝悄式化成相應(yīng)的文件系統(tǒng)才行。
9.1.4 常見文件系統(tǒng)類型介紹
隨著Linux系統(tǒng)的不斷發(fā)展,它所支持的文件系統(tǒng)格式也在迅速增多,當(dāng)今的Linux系統(tǒng)核心可以支持多種文件系統(tǒng)類型:如Btrfs、JFS、ReiserFS、ext、ext2、ext3、ext4、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、B、SysV、PROC等還有一種文件系統(tǒng)是Filesystem in Userspace(FUSE)。它可以將文件系統(tǒng)的請求通過VFS虛擬文件系統(tǒng)發(fā)送回用戶空間。很多分布式文件系統(tǒng)例如:MFS就支持FUSE掛載的方式。。下表是一些常見文件類型的全稱、簡稱和基本用途對應(yīng):
Linux支持的每個文件系統(tǒng)都有自己的優(yōu)缺點(diǎn)和性能特征。文件系統(tǒng)的一個重要屬性是日志功能,它允許系統(tǒng)在崩潰后更快地恢復(fù)。通常,日志文件系統(tǒng)比非日志文件系統(tǒng)在數(shù)據(jù)保護(hù)方面會更好一些。
1.ext2 文件系統(tǒng)
也稱為第二擴(kuò)展文件系統(tǒng)(英語:second extended filesystem,縮寫為 ext2),目的是克服早期 Linux 版本中使用的Minix文件系統(tǒng)的缺點(diǎn)。多年來,該文件系統(tǒng)一直廣泛應(yīng)用于Linux。但 ext2 中沒有日志,現(xiàn)在基本上已被ext3(Centos5.x默認(rèn)的文件系統(tǒng))取代,ext3文件系統(tǒng)也正逐漸被ext4取代(Centos6.x默認(rèn)的文件系統(tǒng))。
ext2開始由Rémy Card設(shè)計(jì),用以代替ext,于1993年1月加入linux核心支持之中。ext2的經(jīng)典實(shí)現(xiàn)為LINUX內(nèi)核中的ext2fs文件系統(tǒng)驅(qū)動,更大可支持2TB的文件系統(tǒng),至linux核心2.6版時,擴(kuò)展到可支持32TB。其他的實(shí)現(xiàn)包括GNU Hurd, Mac OS X (第3方), Darwin (第3方), BSD。ext2為數(shù)個LINUX發(fā)行版的默認(rèn)文件系統(tǒng),如Debian、Red Hat Linux、Centos等。
2.ext3 文件系統(tǒng)
為了避免上述提到的ext2文件系統(tǒng)不一致的情況發(fā)生,人們想到了一個方式, 在filesystem當(dāng)中規(guī)劃出一個區(qū)塊,該區(qū)塊專門記錄寫入或修訂文件時的步驟, 就可以簡化一致性檢查的步驟了。也就是說:
1)預(yù)備:當(dāng)系統(tǒng)要寫入一個文件時,會先在日志記錄區(qū)塊中記錄某個文件準(zhǔn)備要寫入的信息;
2) 實(shí)際寫入:開始寫入檔案的權(quán)限與數(shù)據(jù);開始更新metadata的數(shù)據(jù);
3)結(jié)束:完成數(shù)據(jù)與metadata的更新后,在日志記錄區(qū)塊當(dāng)中完成該檔案的記錄。
在這樣的程序當(dāng)中,萬一數(shù)據(jù)的記錄過程當(dāng)中収發(fā)生了問題,那么我們的系統(tǒng)只要去檢查日志記錄區(qū)塊, 就可以知道那個文件發(fā)生了問題,針對該問題來做一致性的檢查即可,而不必針對整塊 filesystem 去檢查, 這樣就可以達(dá)到快速修復(fù)filesystem的能力了!這就是日志式文件系統(tǒng)最基礎(chǔ)的功能。
Ext3就是日志文件系統(tǒng),Ext3是Ext2的升級版本,并且可以向下兼容Ext2。目前建議大家直接使用Ext3這個文件系統(tǒng)。
ext3文件系統(tǒng)向標(biāo)準(zhǔn)ext2文件系統(tǒng)添加了日志功能,因此是一個非常穩(wěn)定的文件系統(tǒng)的一個演化發(fā)展。它在大多數(shù)情況下提供合理的性能并且仍舊在改進(jìn)。由于它在可靠的 ext2文件系統(tǒng)之上添加了日志功能,因此可以將現(xiàn)有ext2文件系統(tǒng)轉(zhuǎn)換為ext3文件系統(tǒng),并且在必要時還可以轉(zhuǎn)換回來。ext3 文件系統(tǒng)是一個成熟的文件系統(tǒng),用作Redhat/Centos發(fā)行版上的默認(rèn)文件系統(tǒng)。
3.ext4文件系統(tǒng)
Linux kernel 自 2.6.28 開始正式支持新的文件系統(tǒng) Ext4。 Ext4 是 Ext3 的改進(jìn)版,修改了 Ext3 中部分重要的數(shù)據(jù)結(jié)構(gòu),而不僅僅像 Ext3 對 Ext2 那樣,只是增加了一個日志功能而已。Ext4 可以提供更佳的性能和可靠性,還有更為豐富的功能:
1)與 Ext3 兼容。 執(zhí)行若干條命令,就能從 Ext3 在線遷移到 Ext4,而無須重新格式化磁盤或重新安裝系統(tǒng)。原有Ext3數(shù)據(jù)結(jié)構(gòu)照樣保留,Ext4 作用于新數(shù)據(jù),當(dāng)然,整個文件系統(tǒng)因此也就獲得了Ext4所支持的更大容量。
2) 更大的文件系統(tǒng)和更大的文件。 較之Ext3目前所支持的更大16TB文件系統(tǒng)和更大2TB文件,Ext4 分別支持1EB(1,048,576TB, 1EB=1024PB, 1PB=1024TB)的文件系統(tǒng),以及16TB的文件。
3) 無限數(shù)量的子目錄。 Ext3 目前只支持 32,000 個子目錄,而 Ext4 支持無限數(shù)量的子目錄。
4) Extents。 Ext3 采用間接塊映射,當(dāng)操作大文件時,效率低下。比如一個100MB 大小的文件,在 Ext3 中要建立 25,600 個數(shù)據(jù)塊(每個數(shù)據(jù)塊大小為4KB)的映射表。而 Ext4 引入了現(xiàn)代文件系統(tǒng)中流行的extents概念,每個extent 為一組連續(xù)的數(shù)據(jù)塊,上述文件則表示為“該文件數(shù)據(jù)保存在接下來的25,600個數(shù)據(jù)塊中”,提高了不少效率。
5) 多塊分配。 當(dāng)寫入數(shù)據(jù)到Ext3文件系統(tǒng)中時,Ext3的數(shù)據(jù)塊分配器每次只能分配一個 4KB的塊,寫一個100MB 文件就要調(diào)用25,600次數(shù)據(jù)塊分配器,而Ext4的多塊分配器“multiblock allocator”(mballoc) 支持一次調(diào)用分配多個數(shù)據(jù)塊。
6) 延遲分配。 Ext3的數(shù)據(jù)塊分配策略是盡快分配,而Ext4和其它現(xiàn)代文件操作系統(tǒng)的策略是盡可能地延遲分配,直到文件在cache中寫完才開始分配數(shù)據(jù)塊并寫入磁盤,這樣就能優(yōu)化整個文件的數(shù)據(jù)塊分配,與前兩種特性搭配起來可以顯著提升性能。
7) 快速fsck。 以前執(zhí)行fsck之一步就會很慢,因?yàn)樗獧z查所有的inode,現(xiàn)在Ext4給每個組的inode表中都添加了一份未使用inode的列表,今后fsck Ext4 文件系統(tǒng)就可以跳過它們而只去檢查那些在用的inode了。
8) 日志校驗(yàn)。 日志是最常用的部分,也極易導(dǎo)致磁盤硬件故障,而從損壞的日志中恢復(fù)數(shù)據(jù)會導(dǎo)致更多的數(shù)據(jù)損壞。Ext4 的日志校驗(yàn)功能可以很方便地判斷日志數(shù)據(jù)是否損壞,而且它將Ext3的兩階段日志機(jī)制合并成一個階段,在增加安全性的同時提高了性能。
9) “無日志”(No Journaling)模式。 日志總歸有一些開銷,Ext4允許關(guān)閉日志,以便某些有特殊需求的用戶可以借此提升性能。
10) 在線碎片整理。 盡管延遲分配、多塊分配和extents能有效減少文件系統(tǒng)碎片,但碎片還是不可避免會產(chǎn)生。Ext4支持在線碎片整理,并將提供e4defrag工具進(jìn)行個別文件或整個文件系統(tǒng)的碎片整理。
inode相關(guān)特性。 Ext4支持更大的inode,較之Ext3 默認(rèn)的inode 大小 128 字節(jié),Ext4 為了在inode中容納更多的擴(kuò)展屬性(如納秒時間戳或inode版本),默認(rèn)inode大小為256字節(jié)。Ext4 還支持快速擴(kuò)展屬性(fast extended attributes)和inode保留(inodes reservation)。
12) 持久預(yù)分配(Persistent preallocation)。 P2P 軟件為了保證下載文件有足夠的空間存放,常常會預(yù)先創(chuàng)建一個與所下載文件大小相同的空文件,以免未來的數(shù)小時或數(shù)天之內(nèi)磁盤空間不足導(dǎo)致下載失敗。 Ext4在文件系統(tǒng)層面實(shí)現(xiàn)了持久預(yù)分配并提供相應(yīng)的API(libc 中的 posix_fallocate()),比應(yīng)用軟件自己實(shí)現(xiàn)更有效率。
13) 默認(rèn)啟用barrier。 磁盤上配有內(nèi)部緩存,以便重新調(diào)整批量數(shù)據(jù)的寫操作順序,優(yōu)化寫入性能,因此文件系統(tǒng)必須在日志數(shù)據(jù)寫入磁盤之后才能寫commit記錄,若commit記錄寫入在先,而日志有可能損壞,那么就會影響數(shù)據(jù)完整性。Ext4 默認(rèn)啟用barrier,只有當(dāng)barrier之前的數(shù)據(jù)全部寫入磁盤,才能寫barrier之后的數(shù)據(jù)。(可通過 “mount -o barrier=0” 命令禁用該特性。)
4.ReiserFS 文件系統(tǒng)
ReiserFS是一個基于B狀樹的文件系統(tǒng),擁有非常好的總體性能,特別是對于大量小文件。ReiserFS 擁有良好的伸縮性并具有日志功能。但該文件系統(tǒng)不再受到積極開發(fā),不支持SELinux,基本上已被 Reiser4 取代。ReiserFS文件系統(tǒng)多年來一直用作一些發(fā)行版(包括SUSE)的默認(rèn)文件系統(tǒng),但現(xiàn)在用得少了。
5.XFS文件系統(tǒng)
XFS文件系統(tǒng)擁有日志功能,包含一些健壯的特性,并針對可伸縮性進(jìn)行了優(yōu)化。XFS在RAM中強(qiáng)制緩存中轉(zhuǎn)數(shù)據(jù),因此如果使用 XFS,建議采用不間斷電源供應(yīng)。淘寶的數(shù)據(jù)庫在使用此文件系統(tǒng)。
XFS 最初是由 Silicon Graphics,Inc. 于90年代初開發(fā)的。那時,SGI發(fā)現(xiàn)他們的現(xiàn)有文件系統(tǒng)(existing filesystem,EFS)正在迅速變得不適應(yīng)當(dāng)時激烈的計(jì)算競爭。為解決這個問題,SGI 決定設(shè)計(jì)一種全新的高性能64位文件系統(tǒng),而不是試圖調(diào)整EFS在先天設(shè)計(jì)上的某些缺陷。因此,XFS 誕生了,并于 1994 年隨 IRIX 5.3 的發(fā)布而應(yīng)用于計(jì)算。它至今仍作為 SGI 基于 IRIX 的產(chǎn)品(從工作站到超級計(jì)算機(jī))的底層文件系統(tǒng)來使用。現(xiàn)在,XFS 也可以用于 Linux。XFS的Linux 版的到來是激動人心的,首先因?yàn)樗鼮?Linux 社區(qū)提供了一種健壯的、優(yōu)秀的以及功能豐富的文件系統(tǒng),并且這種文件系統(tǒng)所具有的可伸縮性能夠滿足最苛刻的存儲需求。
6.vfat 文件系統(tǒng)
vfat 文件系統(tǒng)(也稱為 FAT32)沒有日志功能,且缺乏完整的 Linux 文件系統(tǒng)實(shí)現(xiàn)所需的許多特性。它可用于在 Windows 和 Linux 系統(tǒng)之間交換數(shù)據(jù),因?yàn)?Windows 和 Linux 都能讀取它。不要將這個文件系統(tǒng)用于 Linux,除非要在 Windows 和 Linux 之間共享數(shù)據(jù)。如果您在一個 vfat 磁盤上解壓縮一個 Linux 歸檔文件,那么您將丟失權(quán)限(比如執(zhí)行權(quán)限),還會丟失該歸檔文件中可能存儲的符號鏈接。
7.VFS虛擬文件系統(tǒng)
虛擬文件系統(tǒng)VFS也稱為虛擬文件系統(tǒng)開關(guān)(Virtual filesystem Switch),它是內(nèi)核的一個子系統(tǒng),提供了一個通用文件系統(tǒng)模型,該模型囊括了所能見到的文件系統(tǒng)常用功能和行為,并為應(yīng)用程序提供一致性的文件系統(tǒng)接口,安裝的所有物理文件系統(tǒng)不但依賴于VFS共存,而且也依靠VFS協(xié)同工作。它的主要設(shè)計(jì)思想有以下3點(diǎn):
(1)應(yīng)用層:VFS模型源于UNIX文件系統(tǒng),使得用戶可以直接使用標(biāo)準(zhǔn)UNIX文件系統(tǒng)調(diào)用來操作文件,無需考慮具體文件系統(tǒng)特性和物理存儲介質(zhì),通過VFS訪問文件系統(tǒng),才使得不同文件系統(tǒng)之間的協(xié)作性和通用性成為可能。
(2)虛擬層:在對所有具體文件系統(tǒng)的共同特性進(jìn)行抽象的基礎(chǔ)上,形成一個與具體文件系統(tǒng)實(shí)現(xiàn)無關(guān)的虛擬層,并在此層次上定義與用戶的一致性接口;
(3)實(shí)現(xiàn)層:該層使用類似開關(guān)表技術(shù)進(jìn)行具體文件系統(tǒng)轉(zhuǎn)接,實(shí)現(xiàn)各種文件系統(tǒng)的物理操作細(xì)節(jié),每個文件系統(tǒng)是自包含的,包含文件系統(tǒng)實(shí)現(xiàn)的各種設(shè)施,如超級塊、節(jié)點(diǎn)區(qū)、數(shù)據(jù)區(qū)以及各種數(shù)據(jù)結(jié)構(gòu)和文件類的操作函數(shù)。
一般地說,VFS提供以下功能:
?記錄可用的文件系統(tǒng)類型;
?把文件系統(tǒng)與對應(yīng)的存儲設(shè)備聯(lián)系起來;
?處理面向文件的通用操作;
?涉及具體文件系統(tǒng)的操作時,把它們映射到相關(guān)的具體文件系統(tǒng)。
VFS抽象層之所以能銜接各種不同的文件系統(tǒng),是因?yàn)樗x了所有文件系統(tǒng)都支持的基本抽象接口和數(shù)據(jù)結(jié)構(gòu),同時具體的文件系統(tǒng)也將自己的諸如“文件如何打開”、“目錄如何定義”等概念在形式上與VFS的定義保持一致。對于像FAT和NTFS這類非UNIX風(fēng)格文件系統(tǒng),必須經(jīng)過封裝,提供符合VFS概念的接口。比如,一個文件系統(tǒng)不支持inode概念,它也必須在內(nèi)存中裝配inode結(jié)構(gòu)體,就像它本身包含inode一樣。這些裝配和轉(zhuǎn)換需要在使用現(xiàn)場引入特別處理,使得非UNIX文件系統(tǒng)能夠兼容UNIX文件系統(tǒng)的使用規(guī)則和滿足VFS的需求,這樣一來,非UNIX文件系統(tǒng)便可與VFS一道工作,只是性能上會有少許影響。
下面看一個文件操作的例子,假如應(yīng)用程序執(zhí)行如下文件操作:write(fd,&buf,len);要求將buf指針指向的、長度為len字節(jié)的數(shù)據(jù)寫入文件描述符fd對應(yīng)的文件的當(dāng)前位置。
用戶執(zhí)行的系統(tǒng)調(diào)用首先被VFS的sys_write( )處理,該函數(shù)首先處理一些與設(shè)備無關(guān)的操作,并找到f所在的文件系統(tǒng),再根據(jù)VFS結(jié)構(gòu)及它的inode數(shù)據(jù)結(jié)構(gòu)提供的信息,重定向到具體文件系統(tǒng)中相對應(yīng)的寫函數(shù),由它來處理與特定設(shè)備相關(guān)的操作,并把數(shù)據(jù)寫到物理介質(zhì)。
類似于 Windows下的C、D、E等各個盤,Linux系統(tǒng)也可以將磁盤、Flash等存儲設(shè)備劃分為若干個分區(qū),在不同分區(qū)存放不同類別的文件。與Windows的C盤類似,Linux一樣要在一個分區(qū)上存放系統(tǒng)啟動所必需的文件,比如內(nèi)核映象文件(在嵌入式系統(tǒng)中,內(nèi)核一般單獨(dú)存放在一個分區(qū)中)內(nèi)核啟動后運(yùn)行的之一-個程序( init)給用戶提供操作界面的 shell程序、應(yīng)用程序所依賴的庫等。這些必需、基本的文件早氏合稱為根文件系統(tǒng),它們存放在一個分區(qū)中。Linux 系統(tǒng)啟動后首先掛接這個分區(qū),稱為掛接( mount)根文件系統(tǒng)。其他分梁睜數(shù)區(qū)上所有目錄、文件的,也稱為文件系統(tǒng)。Linux 中并沒有C、D、E等盤符的概念,它以樹狀結(jié)構(gòu)管理所有目錄、文件,其他分區(qū)掛接在某個目錄上,這個目錄被稱為掛接點(diǎn)或安裝點(diǎn)(mount point),然后就可以通過這個目錄來訪問這個分區(qū)上的文件了。比如根文件系統(tǒng)被掛接在根目錄“I”上后,在根目錄下就有根文件系統(tǒng)的各個目錄、文件:/bin、/in、/mnt等;再將其他分區(qū)掛接到/mnt目錄上,/mnt目錄下就有這個分區(qū).的各個目錄、文件。在一個分區(qū)上存儲文件時,需要遵循一定的格式,這種格式稱為文橡首件系統(tǒng)類型,比如fat16、fat32、ntfs、ext2、ext3、jffs2、yaffs 等。除這些擁有實(shí)實(shí)在在的存儲分區(qū)的文件系統(tǒng)類型外,Linux還有幾種虛擬的文件系統(tǒng)類型,比如proc、sysfs 等,它們的文件并不存儲在實(shí)際的設(shè)備上,而是在訪問它們時由內(nèi)核臨時生成。比如 proc文件系統(tǒng)下的uptime文件,讀取它時可以得到兩個時間值(用來表示系統(tǒng)啟動后運(yùn)行的秒數(shù)、空閑的秒數(shù)),每次讀取時都由內(nèi)核即刻生成,每次讀取結(jié)果都不一樣?!拔募到y(tǒng)類型”常被簡稱為“文件系統(tǒng)”,比如“硬盤第二個分區(qū)上的文件系統(tǒng)是EXT2”指的就是文件系統(tǒng)類型。所以“文件系統(tǒng)”這個術(shù)語,有時候指的是分區(qū)上的文件,有時候指的是文件系統(tǒng)類型,需要根據(jù)語境分辨,在閱讀各類文獻(xiàn)時需要注意這點(diǎn)。
linux power supply的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux power supply,Linux電源供應(yīng):優(yōu)質(zhì)與穩(wěn)定的選擇,Linux文件系統(tǒng)特點(diǎn)?的信息別忘了在本站進(jìn)行查找喔。
成都網(wǎng)站推廣找創(chuàng)新互聯(lián),老牌網(wǎng)站營銷公司
成都網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)(www.cdcxhl.com)專注高端網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì)制作,網(wǎng)站維護(hù),網(wǎng)絡(luò)營銷,SEO優(yōu)化推廣,快速提升企業(yè)網(wǎng)站排名等一站式服務(wù)。IDC基礎(chǔ)服務(wù):云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)、服務(wù)器租用、服務(wù)器托管提供四川、成都、綿陽、雅安、重慶、貴州、昆明、鄭州、湖北十堰機(jī)房互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)。
網(wǎng)站欄目:Linux電源供應(yīng):優(yōu)質(zhì)與穩(wěn)定的選擇 (linux power supply)
網(wǎng)頁鏈接:http://www.dlmjj.cn/article/cdohoso.html


咨詢
建站咨詢
