簡單介紹了磁碟類型,MBR分區、gpt分區、創建文件系統、掛載、RAID、LVM一些相關的命令。本文只是筆記,沒有教學,還是怕誤人子弟,見諒。 ...
磁碟管理
懶惰的文字搬運工。
一、磁碟基礎概念
對文件操作指令
open() read() write() close()
設備號碼:
主設備號:major 標識設備類型
次設備號:minor 在同一設備類型設備下區分不同設備
如果主設備號和次設備號一致,說明兩者就是同一個設備。即使文件的INODE不一樣也是同一個設備
硬碟介面及速率
IDE 133MB/S 並口
SCSI 640MB/S 並口
STAT 6Gbps等同於768MB/S 串口
SAS 6Gbps等同於768MB/S 串口
USB 480MB/S
M.2 450MB/s
NVME 3200 MB/s
註意,速度不單單是由介面決定了。
並口介面:同一線纜可以接多個設備
串口介面:同一線纜只能接一個設備
伺服器硬碟大小:
LFF 3.5寸,早期都是這種。和普通家用電腦一樣
SFF 2.5寸,不同與2.5英寸的筆記本硬碟
機械硬碟:
生產中一般都是用機械硬碟。容量大,性價比高。由磁頭、機械臂、碟片組成
磁頭: header 磁頭數=盤面數
磁軌: cylinder 磁軌數=柱面數
扇區: secotr 512位元組
在centos7及以後版本就不在按照柱面劃分分區了,而以扇區作為劃分分區的單位,更加精細化。
centos5\6還是以柱面為單位進行劃分分區
機械硬碟轉速 5400 7200 10000 15000 RPM 每分鐘轉多少圈
定址方式:
CHS: 早先方式,已經淘汰
CHS的意思就是先確認柱面(Cylinder),再確認磁頭(Header),最後確認扇區(Sector)。先柱面再磁頭再扇區
CHS採用24位定址
其中前10位表示磁軌,中間8位表示磁頭,後6位表示扇區
2^10*2^8*2^6=1024*256*64=16,777,216
磁碟最大容量:
16,777,216*512=8,589,934,592=8,388,608K=8,192M=8G
LBA:
LBA是一個整數,通過轉換成CHS格式繼續完成磁碟具體定址
ATA-1規範採用28位LBA,同樣每個扇區512位元組。最大128GB
ATA-6規範採用48位LBA,同樣每個扇區512位元組。最大128PB
最大定址個數:2^48
磁碟最大容量:2^48*512=131,072T=128P
磁軌號越小,速度越快。磁軌號越大,速度越快。
訪問數據的時間=尋道的時間 + 碟片轉圈的時間 + 起頭讀數據的時間
也可以把碟片轉圈的時間算到尋道的時間內
硬碟的命名:
centos5中: IDE 稱為 hd## hda1 hda2 hdb1 hdc1...
STAT稱為 sd## sda1 sda2 sdb1 sdb2...
USB 稱為 sd## sda1 sda2 sdb1 sdb2...
SAS 稱為 sd## sda1 sda2 sdb1 sdb2...
SCSI稱為 sd## sda1 sda2 sdb1 sdb2...
centos6\7\8中: 無論IDE還是STAT SCSI SAS都稱為sd##
二、磁碟分區:
(一)、添加硬碟
查看硬碟的方式:
cat /proc/partitions 查看記憶體中的分區表信息
ll /dev/sd* 查看記憶體中的設備信息
lsblk 查看記憶體中的設備分區信息
fdisk -l 查看硬碟中的分區信息
在不關機重啟的下識別硬碟
echo '---' > /sys/class/scsi_host/host0/scan
其中host0可以改成host1 host2 host3 host4
其中scsi_host標識是scsi介面類型的磁碟
小技巧:可以定義成別名
alias scandisk='echo '\''- - -'\'' > /sys/class/scsi_host/host2/scan;echo '\''- - -'\'' > /sys/class/scsi_host/host0/scan' #表示數字0-n
判斷硬碟類型:
lsblk -d -o name,rota 1 表示機械硬碟 0表示固態硬碟
-f 可以顯示對應的文件系統
cat /sys/block 1 表示機械硬碟 0表示固態硬碟
(二)、分區介紹
磁碟分區格式化分為低級格式化和高級格式化。
低級格式化主要是磁碟生產廠商再磁碟出廠時進行的,主要時劃分磁軌,生成簇。
高級格式化主要是用來創建文件系統。
分區的優勢:
優化I/O性能
實現磁碟空間配額限制
提高修複速度
隔離系統和程式
安裝多個OS
採用不同文件系統
查看分區信息
cat /proc/partitions 查看記憶體中的分區表信息
ll /dev/sd* 查看記憶體中的設備信息
lsblk 查看記憶體中的設備分區信息
fdisk -l 查看硬碟中的分區信息
現在磁碟分區格式有兩種類型,一種是早期的MBR類型,一種是現在較為流行的GPT類型。
MBR類型:
MBR,又稱為主引導記錄(Master Boot Record),位於0柱面,0磁頭,0扇區當中。使用了32位二進位來表示扇區數。也就是最大隻能支持2TB大小的磁碟。
該扇區共計512位元組,分成三個部分。
第一部分:前446位元組,用來存放操作系統引導程式(bootloader),這是引導某個分區上的操作系統起來的第一段程式。
第二部分:後64位元組,用來存放分區表。每16個位元組標識一個主分區,一共可以標識4個主分區。
其中每個分區16個位元組介紹:
第1個位元組:引導標誌,十六進位80表示活動分區,00表示非活動分區。在一個硬碟上只能由一個活動分區,標識此分區上存在操作系統。
第2~4個位元組:描述了分區起始位置的磁頭號,柱面號,扇區號。其中第2個位元組的8位標識起始磁頭號,第3個位元組低6位標識起始扇區號,第3個位元組高2位和第4個位元組的8位標識起始柱面號。這3個位元組也就是分區起始位置的CHS描述方法
第5個位元組:分區類型,0標識分區未使用。83表示linux類型分區,82表示swap分區,8e表示LVM邏輯捲,05表示擴展分區
第6~8個位元組:描述了分區結束位置的磁頭好,柱面號,扇區號。其中第6個位元組的8位標識結束磁頭號,第7個位元組低6位標識結束扇區號,低7個位元組高2位和第8個位元組的8位標識結束柱面號。這3個位元組也就是分區結束位置的CHS描述方法
第9~12個位元組:使用LBA方式描述了分區的起始位置。
第13~16個位元組,使用LBA方式描述了分區的結束位置。
第三部分:最後2個位元組,有效標識位,55AA表示分區表有效。
如果4個分區不夠使用,可以拿出一個主分區來擴展使用,變成擴展分區。擴展分區的16個位元組裡面記錄了另外一段磁碟空間,利用另外一段磁碟空間的EBR(前512位元組)記錄分區信息,
其中EBR的前446位元組未使用,中間64位元組,最後2位元組的結束表示。
而中間64位元組中,
第一個16個位元組記錄了當前邏輯分區的起始位置、結束位置、磁碟類型等等,同MBR類型;
第二個16個位元組記錄了下一個邏輯分區的起始位置、結束位置、磁碟類型等,同MBR
第三個16個位元組,未使用
第四個16個位元組,未使用
這樣就可以突破只能記錄4個分區的限制了。同時也就解釋了邏輯分區不允許中間有間隔,如果刪了sda5後,後面的sda6就會自動變成sda5的原因,因為邏輯分區是靠前一個邏輯分區中的EBR記錄下一個邏輯分區的起始位置的。
MBR分區中一塊硬碟最多有4個主分區或者也可以有最多3個主分區+1個擴展分區(N個邏輯分區)
例如, 我們想劃分出6個分區,就有下麵幾種可行方案
一個主分區和五個擴展分區:1P + 5L
sda1 + sda5 + sda6 + sda7 + sda8 + sda9
兩個主分區和四個擴展分區:2P + 4L
sda1 + sda2 + sda5 + sda6 + sda7 + sda8
三個主分區和三個擴展分區:3P + 3L
sda1 + sda2 + sda3 + sda5 + sda6 + sda7
備註:所有的邏輯分區一定是從5號開始的,前1~4可以是主分區和擴展分區。