天天看點

linux 如何磁盤存儲,Linux磁盤存儲

裝置檔案

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

裝置也分為:

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

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

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

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

裝置接口類型

并行:

IDE: 133MB/s

SCSI:640MB/s

串行:

SATA :6Gbps

SAS :6Gbps

USB : 480MB/s

linux 如何磁盤存儲,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 如何磁盤存儲,Linux磁盤存儲

硬碟存儲術語

linux 如何磁盤存儲,Linux磁盤存儲

區位記錄磁盤扇區結構

ZBR(Zoned Bit Recording)

linux 如何磁盤存儲,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 如何磁盤存儲,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 如何磁盤存儲,Linux磁盤存儲

MBR中DPT結構

linux 如何磁盤存儲,Linux磁盤存儲

GPT 分區

GPT:支援128個分區 ,使用64位,支援8Z 64Z 容量

使用128位UUID 表示磁盤和分區GPT分區表,自動備份在頭尾兩份,并有crc校驗位

UEFI: 硬體支援GPT ,使作業系統啟動

linux 如何磁盤存儲,Linux磁盤存儲

BIOS+MBR與UEFI+GPT

linux 如何磁盤存儲,Linux磁盤存儲

管理分區

列出塊裝置 :lsblk

建立分區使用:

fdisk :建立MBR分區

gdisk :建立GPT分區

parted: 進階分區操作

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

partprobe

parted指令

parted指令的操作都是實時生效的,一定要小心使用

用法:

parted /dev/sdb mklabel gpt|msdos   parted /dev/sdb print

parted /dev/sdb mkpart primary 1 200(預設是M)

parted /dev/sdb rm 1

parted -l 列出分區資訊

分區工具fdisk和gdisk

gdisk /dev/sdb 類fdisk的GPT分區工具

fdisk -l :檢視分區

fdisk /dev/sdb 管理分區

子指令:

p :分區清單

t :更改分區類型

n :建立新分區

d :删除分區

v :效驗分區

u :轉換機關

w :儲存并退出

q :不儲存退出

同步分區表

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

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