天天看點

Linux磁盤存儲

裝置檔案

在linux中一切皆檔案,在linux之上所有的操作都是通過檔案來實作的,每一個裝置都有一個檔案作為他的通路入口,此檔案我們稱為裝置檔案。

裝置也分為:

  塊裝置:block 機關為 “塊” 磁盤

  字元裝置: char 機關為 “字元” 鍵盤 裝置号碼:用來辨別裝置。每一個裝置都有不同的裝置号

  主裝置号:major numbar,辨別裝置類型

  次裝置号:minor numbar,裝置同一類型下不同的裝置。

裝置接口類型

并行:

  IDE: 133MB/s

  SCSI:640MB/s

串行:

  SATA :6Gbps

  SAS :6Gbps

  USB : 480MB/s

Linux磁盤存儲

機械硬碟和固态硬碟

  • 機械硬碟(HDD)

      即傳統的硬碟,構造一般由,盤片,軸,馬達,機械臂,磁頭組成。

  • 固态硬碟(SSD)

      用固态電子存儲晶片組成的硬碟,使用方法和普通的硬碟相同。

    相較于HDD,SSD在防震抗摔、傳輸速率、功耗、重量、噪音上有明顯優勢,SSD傳輸速率性能是HDD的2倍

    相較于SSD,HDD在價格、容量占有絕對優勢

    硬碟有價,資料無價,目前SSD不能完全取代HHD。

    磁盤裝置的裝置檔案命名:/dev/DEV_FILE

    SCSI,SATA,SAS,IDE,USB:/dev/sd

    一些虛拟磁盤: /dev/vd , /dev/xvd

    不同磁盤辨別:/dev/sda/, /dev/sdb, ...

    同一裝置上的不同分區:1. 2 .....

             /dev/sda1, /dev/sda5

    磁盤存儲術語:

      head :磁頭

      track:磁道

      cylinder :柱面

      sector :扇區 , 512baytes(位元組)

    機械磁盤結構

    Linux磁盤存儲

    固态磁盤和機械磁盤對比

    Linux磁盤存儲

硬碟存儲術語

Linux磁盤存儲

區位記錄磁盤扇區結構

ZBR(Zoned Bit Recording)

Linux磁盤存儲
  • CHS

    采用24bit位尋址

    其中前10位表示cylinder,中間8位表示head,後6位表示sector

    最大尋址空間8GB

  • LBA

    LBA是一個整數,通過轉換成CHS格式完成磁盤具體尋址

    ATA-1規範中定義了28位尋址模式,以每扇區512位組來計算,ATA-1所定義的28位LBA上限達到128 GiB。2002年ATA-6規範采用48位LBA,同樣以每扇區512位組計算容量上限可達128 Petabytes

    由于CHS尋址方式的尋址空間在大概8GB以内,是以在磁盤容量小于大概8GB時,可以使用CHS尋址方式或是LBA尋址方式;在磁盤容量大于大概8GB時,則隻能使用LBA尋址方式

分區

兩種分區方式: MBR , GPT .

MBR:1982年,使用32位表示扇區數,最大不超過2T

如何分區:按柱面

0磁道0扇區:512bytes

    446bytes: boot loader

    64bytes:分區表,其中每16bytes辨別一個分區

    2bytes: 55AA

MBR分區中一塊硬碟最多有4個主分區,也可以3個主分區加1個擴充分區。

MBR分區結構

Linux磁盤存儲

硬碟主引導記錄MBR由4個部分組成

主引導程式(偏移位址0000H--0088H),它負責從活動分區中裝載,并運作系統引導程式

出錯資訊資料區,偏移位址0089H--00E1H為出錯資訊,00E2H--01BDH全為0位元組

分區表(DPT,Disk Partition Table)含4個分區項,偏移位址01BEH--01FDH,

每個分區表項長16個位元組,共64位元組為分區項1、分區2分區項3、分區項4

結束标志字,偏移位址01FE--01FF的2個位元組值為結束标志55AA

MBR結構

Linux磁盤存儲

MBR中DPT結構

Linux磁盤存儲

GPT 分區

  • GPT:支援128個分區 ,使用64位,支援8Z 64Z 容量
  • 使用128位UUID 表示磁盤和分區GPT分區表,自動備份在頭尾兩份,并有crc校驗位
  • UEFI: 硬體支援GPT ,使作業系統啟動
    Linux磁盤存儲

BIOS+MBR與UEFI+GPT

管理分區

  • 列出塊裝置 :lsblk
  • 建立分區使用:

      fdisk :建立MBR分區

      gdisk :建立GPT分區

      parted: 進階分區操作

    重新設定記憶體中的核心分區表版本

      partprobe

    parted指令

分區工具fdisk和gdisk

同步分區表

  • 檢視核心是否已經識别新的分區

      cat/proc/partations

  • centos6通知核心重新讀取硬碟分區表

      新增分區用:

      partx -a /dev/DEVICE

      kpartx -a /dev/DEVICE

      删除分區用

      parts -d --nr M-N /dev/device

    centos5和7:使用partprobe

      partprobe /dev/device

繼續閱讀