linux disc是什麼

2023-03-15 14:01:03

在linux中,disc是指「磁碟」,是塊儲存裝置,即用於存放檔案的裝置;檔案系統實際就是磁碟空間的一種對映。為了避免在太大的空間中存放或讀取資料降低存取效率、或者需要將資料進行分類存放管理,因此就有將一個磁碟空間劃分為多個區域的需求,即所謂的磁碟分割區。

本教學操作環境:linux7.3系統、Dell G3電腦。

磁碟(disc)是一種塊儲存裝置,用於存放檔案的裝置。檔案系統實際就是磁碟空間的一種對映。

1、磁碟構造:

  在 Linux 系統中,檔案系統是建立在硬碟上的,因此,要想徹底搞清楚檔案系統的管理機制,就要從瞭解硬碟開始。硬碟可分為機械硬碟(Hard Disk Drive, HDD)和固態硬碟(Solid State Disk, SSD),機械硬碟採用磁性碟片來儲存資料,而固態硬碟通過快閃記憶體顆粒來儲存資料。

機械硬碟(HDD)

              機械磁碟外觀

              磁碟結構圖

  機械硬碟主要由磁碟、磁軌、磁區、磁頭、柱面與傳動軸等組成。

  磁碟:磁碟一般有一個或多個碟片。每個碟片可以有兩面,即第一個碟片的正面為0面,反面為 1 面;第二個碟片的正面為 2 面…依次類推。

  磁軌:每個碟片的盤面被劃分成多個狹窄的同心圓環,資料就儲存在這樣的同心圓環上面,我們將這樣的圓環稱為磁軌 (Track)。每個盤面可以劃分多個磁軌,最外圈的磁軌是0號磁軌,向圓心增長依次為1磁軌、2磁軌…磁碟的資料存放就是從最外圈開始的。

  磁區:根據硬碟的規格不同,磁軌數可以從幾百到成千上萬不等。每個磁軌可以儲存數 Kb 的資料,但是計算機不必要每次都讀寫這麼多資料。因此,再把每個磁軌劃分為若干個弧段,每個弧段就是一個磁區 (Sector),現在每個磁區可儲存 512 位元組資料已經成了業界的約定。也就是說,即使計算機只

需要某一個位元組的資料,但是也得把這個 512 個位元組的資料全部讀入記憶體,再選擇所需要的那個位元組。

  磁頭:是硬碟讀取資料的關鍵部件,它的主要作用就是將儲存在硬碟碟片上的磁資訊轉化為電訊號向外傳輸,而它的工作原理則是利用特殊材料的電阻值會隨著磁場變化的原理來讀寫磁碟上的資料,磁頭的好壞在很大程度上決定著硬碟碟片的儲存密度。比較常用的是GMR(Giant Magneto Resistive)巨磁阻磁頭。

硬碟讀寫資料的過程  

  現代硬碟尋道都是採用CHS(Cylinder Head Sector)的方式,硬碟讀取資料時,讀寫磁頭沿徑向移動,移到要讀取的磁區所在磁軌的上方,這段時間稱為尋道時間(seek time)。因讀寫磁頭的起始位置與目標位置之間的距離不同,尋道時間也不同。目前硬碟一般為2到30毫秒,平均約為9毫秒。磁頭到達指定磁軌後,然後通過碟片的旋轉,使得要讀取的磁區轉到讀寫磁頭的下方,這段時間稱為旋轉延遲時間(rotational latencytime)一個7200(轉/每分鐘)的硬碟,每旋轉一週所需時間為60×1000÷7200=8.33毫秒,則平均旋轉延遲時間為8.33÷2=4.17毫秒(平均情況下,需要旋轉半圈)。平均尋道時間和平均選裝延遲稱為平均存取時間。

固態硬碟(SSD)

  固態硬碟和傳統的機械硬碟最大的區別就是不再採用碟片進行資料儲存,而採用儲存晶片進行資料儲存。固態硬碟的儲存晶片主要分為兩種:一種是採用快閃記憶體作為儲存媒介的;另一種是採用DRAM作為儲存媒介的。目前使用較多的主要是採用快閃記憶體作為儲存媒介的固態硬碟

          固態硬碟

固態硬碟和機械硬碟對比

  

2、磁碟介面

  目前,常見的機械硬碟介面有以下幾種:

  IDE 硬碟介面:(Integrated Drive Eectronics,並口,即電子整合驅動器)也稱作 "ATA硬碟" 或 "PATA硬碟",是早期機械硬碟的主要介面,ATA133 硬碟的理論速度可以達到 133MB/s(此速度為理論平均值)因為並口線的抗干擾性太差,且排線佔用空間較大,不利計算機內部散熱,已逐漸被SATA所取代。

  SATA介面:全稱Serial ATA,也就是使用串列埠的ATA介面,特點是抗干擾性強,對傳輸線的要求比ATA低很多,且支援熱插拔等功能。SATA-II的介面速度為300MiB/s,而新的SATA-III標準可達到600MiB/s的傳輸速度。SATA的傳輸線也比ATA的細得多,有利於機箱內的空氣流通,整理線材也比較方便。

  SCSI介面:全稱Small Computer System Interface(小型機系統介面),經歷多代的發展,從早期的SCSI-II,到當前的Ultra320 SCSI以及Fiber-Channel(光纖通道),介面型式也多種多樣。SCSI硬碟廣為工作站級個人計算機以及伺服器所使用,因此會使用較為先進的技術,如碟片轉速15000rpm的高轉速,且資料傳輸時CPU佔用率較低,但是單價也比相同容量的ATA及SATA硬碟更加昂貴。

  SAS介面:全稱Serial Attached SCSI,是新一代的SCSI技術,可相容SATA硬碟,都是採取序列式技術以獲得更高的傳輸速度,可達到12Gb/s。此外也透過縮小連線線改善系統內部空間等。

  FC介面:全稱Fibre Channel(光纖通道介面),擁有此介面的硬碟在使用光纖聯接時具有熱插拔性、高速頻寬(4Gb/s或10Gb/s)、遠端連線等特點;內部傳輸速率也比普通硬碟更高。但其價格高昂,因此FC介面通常只用於高階伺服器領域

現在,普通機械盤介面多為SATA,固態盤介面多為SAS

3、磁碟檔案系統

  檔案系統是作業系統用於明確儲存裝置(常見的是磁碟,也有基於NAND Flash的固態硬碟)或分割區上的檔案的方法和資料結構,即在儲存裝置上組織檔案的方法。作業系統中負責管理和儲存檔案資訊的軟體機構稱為檔案管理系統,簡稱檔案系統。檔案系統的介面,對物件操縱和管理的軟體集合,物件及屬性。從系統角度來看,檔案系統是對檔案儲存裝置的空間進行組織和分配,負責檔案儲存並對存入的檔案進行保護和檢索的系統。具體地說,它負責為使用者建立檔案,存入、讀出、修改、轉儲檔案,控制檔案的存取,當使用者不再使用時復原檔案等。檔案系統是軟體系統的一部分,它的存在使得應用可以方便的使用抽象命名的資料物件和大小可變的空間。管理和排程檔案的儲存空間,提供檔案的邏輯結構、物理結構和儲存方法;實現檔案從標識到實際地址的對映,實現檔案的控制操作和存取操作,實現檔案資訊的共用並提供可靠的檔案保密和保護措施,提供檔案的安全措施。

常見的檔案系統型別

FAT:
  在Win 9X下,FAT16支援的分割區最大為2GB。我們知道計算機將資訊儲存在硬碟上稱為「簇」的區域內。使用的簇越小,儲存資訊的效率就越高。在FAT16的情況下,分割區越大簇就相應的要大,儲存效率就越低,勢必造成儲存空間的浪費。並且隨著計算機硬體和應用的不斷提高,FAT16檔案系統已不能很好地適應系統的要求。在這種情況下,推出了增強的檔案系統FAT32。

NTFS:
  NTFS檔案系統是一個基於安全性的檔案系統,是Windows NT所採用的獨特的檔案系統結構,它是建立在保護檔案和目錄資料基礎上,同時照顧節省儲存資源、減少磁碟佔用量的一種先進的檔案系統。使用非常廣泛的Windows NT 4.0採用的就是NTFS 4.0檔案系統,相信它所帶來的強大的系統安全性一定給廣大使用者留下了深刻的印象。Win 2000採用了更新版本的NTFS檔案系統NTFS 5.0,它的推出使得使用者不但可以像Win 9X那樣方便快捷地操作和管理計算機,同時也可享受到NTFS所帶來的系統安全性。

exFAT:
  全稱Extended File Allocation Table File System,擴充套件FAT,即擴充套件檔案分配表,是Microsoft在Windows Embeded 5.0以上(包括Windows CE 5.0、6.0、Windows Mobile5、6、6.1)中引入的一種適合於快閃記憶體的檔案系統,為了解決FAT32等不支援4G及其更大的檔案而推出。

RAW:
  RAW檔案系統是一種磁碟未經處理或者未經格式化產生的檔案系統,一般來說有這幾種可能造成正常檔案系統變成RAW檔案系統:沒有格式化、格式化中途取消操作、硬碟出現壞軌、硬碟出現不可預知的錯誤、毒所致。解決RAW檔案系統的最快的方法是立即格式化,並且使用防毒軟體全盤防毒

Ext:
  Ext2:Ext是GNU/Linux 系統中標準的檔案系統,其特點為存取檔案的效能極好,對於中小型的檔案更顯示出優勢,這主要得利於其簇快取層的優良設計。
  Ext3:是一種紀錄檔式檔案系統,是對ext2系統的擴充套件,它相容ext2。紀錄檔式檔案系統的優越性在於:由於檔案系統都有快取層參與運作,如不使用時必須將檔案系統卸下,以便將快取層的資料寫回磁碟中。因此每當系統要關機時,必須將其所有的檔案系統全部shutdown後才能進行關機
  Ext4:Linux kernel 自 2.6.28 開始正式支援新的檔案系統 Ext4。Ext4 是 Ext3 的改進版,修改了 Ext3 中部分重要的資料結構,而不僅僅像 Ext3 對 Ext2 那樣,只是增加了一個紀錄檔功能而已。Ext4 可以提供更佳的效能和可靠性,還有更為豐富的功能。

XFS:

  是一種高效能的紀錄檔檔案系統,而且是 RHEL 7 中預設的檔案管理系統,它的 優勢在發生意外宕機後尤其明顯,即可以快速地恢復可能被破壞的檔案,而且強大的 紀錄檔功能只用花費極低的計算和儲存效能。並且它最大可支援的儲存容量為 18EB, 這幾乎滿足了所有需求。

HFS:
  分層檔案系統(Hierarchical File System,HFS)是一種由蘋果電腦開發,並使用在Mac OS上的檔案系統。最初被設計用於軟碟和硬碟,同時也可以在在唯讀媒體如CD-ROM上見到。

4、RAID獨立磁碟冗餘陣列

基本原理:

  RAID是由多個獨立的高效能磁碟驅動器組成的磁碟子系統,從而提供比單個磁碟更高的儲存效能和資料冗餘的技術。RAID是一類多磁碟管理技術,其向主機環境提供了成本適中、資料可靠性高的高效能儲存。RAID的兩個關鍵目標是提高資料可靠性和I/O效能。磁碟陣列中,資料分散在多個磁碟中,然而對於計算機系統來說,就像一個單獨的磁碟。通過把相同資料同時寫入到多塊磁碟(典型地如映象),或者將計算的校驗資料寫入陣列中來獲得冗餘能力,當單塊磁碟出現故障時可以保證不會導致資料丟失。

  RAID中主要有三個關鍵概念和技術:映象(Mirroring)、資料條帶(DataStripping)和資料校驗(Dataparity):

  映象,將資料複製到多個磁碟,一方面可以提高可靠性,另一方面可並行從兩個或多個副本讀取資料來提高讀效能。顯而易見,映象的寫效能要稍低,確保資料正確地寫到多個磁碟需要更多的時間消耗。
資料條帶,將資料分片儲存在多個不同的磁碟,多個資料分片共同組成一個完整資料副本,這與映象的多個副本是不同的,它通常用於效能考慮。資料條帶具有更高的並行粒度,當存取資料時,可以同時對位於不同磁碟上資料進行讀寫操作,從而獲得非常可觀的I/O效能提升。
資料校驗,利用冗餘資料進行資料錯誤檢測和修復,冗餘資料通常採用海明碼、互斥或操作等演演算法來計算獲得。利用校驗功能,可以很大程度上提高磁碟陣列的可靠性、魯棒性和容錯能力。不過,資料校驗需要從多處讀取資料並進行計算和對比,會影響系統效能。
不同等級的RAID採用一個或多個以上的三種技術,來獲得不同的資料可靠性、可用性和I/O效能。至於設計何種RAID(甚至新的等級或型別)或採用何種模式的RAID,需要在深入理解系統需求的前提下進行合理選擇,綜合評估可靠性、效能和成本來進行折中的選擇。

RAID 主要優勢有如下幾點:

(1) 大容量

  這是 RAID 的一個顯然優勢,它擴大了磁碟的容量,由多個磁碟組成的 RAID 系統具有海量的儲存空間。現在單個磁碟的容量就可以到 1TB 以上,這樣 RAID 的儲存容量就可以達到 PB 級,大多數的儲存需求都可以滿足。一般來說, RAID 可用容量要小於所有成員磁碟的總容量。不同等級的 RAID 演演算法需要一定的冗餘開銷,具體容量開銷與採用演演算法相關。如果已知 RAID 演演算法和容量,可以計算出 RAID 的可用容量。通常, RAID 容量利用率在 50% ~ 90% 之間。

(2) 高效能

  RAID 的高效能受益於資料條帶化技術。單個磁碟的 I/O 效能受到介面、頻寬等計算機技術的限制,效能往往很有 限,容易成為系統效能的瓶頸。通過資料條帶化, RAID 將資料 I/O 分散到各個成員磁碟上,從而獲得比單個磁碟成倍增長的聚合 I/O 效能。

(3) 可靠性

  可用性和可靠性是 RAID 的另一個重要特徵。從理論上講,由多個磁碟組成的 RAID 系統在可靠性方面應該比單個磁碟要差。這裡有個隱含假定:單個磁碟故障將導致整個 RAID 不可用。 RAID 採用映象和資料校驗等資料冗餘技術,打破了這個假定。 映象是最為原始的冗餘技術,把某組磁碟驅動器上的資料完全複製到另一組磁碟驅動器上,保證總有資料副本可用。 比起映象 50% 的冗餘開銷 ,資料校驗要小很多,它利用校驗冗餘資訊對資料進行校驗和糾錯。 RAID 冗餘技術大幅提升資料可用性和可靠性,保證了若干磁碟出錯時,不 會導致資料的丟失,不影響系統的連續執行。

(4) 可管理性

  實際上, RAID 是一種虛擬化技術,它對多個物理磁碟驅動器虛擬成一個大容量的邏輯驅動器。對於外部主機系統來說, RAID 是一個單一的、快速可靠的大容量磁碟驅動器。這樣,使用者就可以在這個虛擬驅動器上來組織和儲存應用系統資料。 從使用者應用角度看,可使儲存系統簡單易用,管理也很便利。 由於 RAID 內部完成了大量的儲存管理工作,管理員只需要管理單個虛擬驅動器,可以節省大量的管理工作。 RAID 可以動態增減磁碟驅動器,可自動進行資料校驗和資料重建,這些都可以 大大簡化管理工作。

常用的RA ID方案有:

RAID0

  • 資料在從記憶體緩衝區寫入磁碟時,根據磁碟數量將資料分成N份,這些資料同時並行寫入N塊磁碟,使得資料整體寫入速度是一塊磁碟的N倍。讀取的時候也一樣,因此RAID0具有極快的資料讀寫速度,但是RAID0不做資料備份,N塊磁碟中只要有一塊損壞,資料完整性就被破壞,所有磁碟的資料都會損壞。

RAID1

  • 資料在寫入磁碟時,將一份資料同時寫入兩塊磁碟,這樣任何一塊磁碟損壞都不會導致資料丟失,插入一塊新磁碟就可以通過複製資料的方式自動修復,具有極高的可靠性。

RAID3

  • 一般情況下,一臺伺服器上不會出現同時損壞兩塊磁碟的情況,在只損壞一塊磁碟的情況下,如果能利用其他磁碟的資料恢復損壞磁碟的資料,這樣在保證可靠性和效能的同時,磁碟利用率也得到大幅提升。
  • 在資料寫入磁碟的時候,將資料分成N-1份,並行寫入N-1塊磁碟,並在第N塊磁碟記錄校驗資料,任何一塊磁碟損壞(包括校驗資料磁碟),都可以利用其他N-1塊磁碟的資料修復。
  • 但是在資料修改較多的場景中,任何磁碟修改資料都會導致第N塊磁碟重寫校驗資料,頻繁寫入的後果是第N塊磁碟比其他磁碟容易損壞,需要頻繁更換,所以RAID3很少在實踐中使用。

RAID5

  • 相比RAID3,更多被使用的方案是RAID5。
  • RAID5和RAID3很相似,但是校驗資料不是寫入第N塊磁碟,而是螺旋式地寫入所有磁碟中。這樣校驗資料的修改也被平均到所有磁碟上,避免RAID3頻繁寫壞一塊磁碟的情況。

RAID6

  • 如果資料需要很高的可靠性,在出現同時損壞兩塊磁碟的情況下(或者運維管理水平比較落後,壞了一塊磁碟但是遲遲沒有更換,導致又壞了一塊磁碟),仍然需要修復資料,這時候可以使用RAID6。
  • RAID6和RAID5類似,但是資料只寫入N-2塊磁碟,並螺旋式地在兩塊磁碟中寫入校驗資訊(使用不同演演算法生成)。

RAID10

  • 結合RAID0和RAID1兩種方案,將所有磁碟平均分成兩份,資料同時在兩份磁碟寫入,相當於RAID1,但是在每一份磁碟裡面的N/2塊磁碟上,利用RAID0技術並行讀寫,既提高可靠性又改善效能,不過RAID10的磁碟利用率較低,有一半的磁碟用來寫備份資料

5、磁碟分割區

為了避免在太大的空間中存放或讀取資料降低存取效率、或者需要將資料進行分類存放管理,因此就有將一個磁碟空間劃分為多個區域的需求。即所謂的磁碟分割區。

1.png

MBR分割區(也稱為msdos分割區,傳統)

2.png

  • 0柱面0磁頭1磁區的第1個物理磁區裡存放MBR。
  • 最大支援2TB的硬碟
  • 最多支援4個主分割區,或3個主分割區1個擴充套件分割區
  • 擴充套件分割區可以劃分多個邏輯分割區,數量不限
  • 支援傳統BIOS的引導

GPT分割區管理

3.png

  • GPT以邏輯塊(LB)為基本單位管理磁碟空間。
  • 硬碟第1個邏輯塊存放MBR,保證對msdos分割區的相容
  • 接下來33個邏輯塊,1塊儲存EFI資訊及32塊儲存分割區表(每塊4條分割區記錄)
  • 磁碟最後33個邏輯塊,用於備份。
  • 可以支援大於2TB的硬碟
  • 沒有主分割區和擴充套件分割區之分
  • 支援UEFI(Unified Extensible Firmware Interface)和傳統BIOS方式引導

6、分割區格式化

格式化是資料儲存裝置為儲存資料做初始化準備的過程,即在一個分割區生成新檔案系統的過程。每個分割區在能夠儲存資料之前必須被格式化為某種檔案系統。

磁區(sector)| 物理塊(physical block)

  • 在硬碟儲存裝置上,磁區是最小儲存單位。傳統一個磁區的大小為512B,而在新式硬
    盤出廠時可能一個磁區被設定為4KB。
  • 通常磁區或物理塊被用作劃分磁碟分割區時的基本單位。
  • 磁區是一個物理概念。

簇(cluster)| 邏輯塊(logical block)

4.png

  • 一個簇或邏輯塊是可以對應一個磁區或一組磁區,是檔案系統中用於空間分配的邏輯單
    位。
  • 簇是一個邏輯概念。

相關推薦:《Linux視訊教學

以上就是linux disc是什麼的詳細內容,更多請關注TW511.COM其它相關文章!