1. 程式人生 > >linux的存儲管理

linux的存儲管理

linux中內存管理


linux存儲管理
磁盤接口的類型:
IDE:並行接口,來源於ATA,133Mbps,266Mbps
SCSI:小型計算機系統接口,
SATA:Serial ATA 串行接口;


SAS:串行接口

USB:


衡量磁盤IO能力的另一個指標:IOPS
IDE:機械磁盤 50-100 IOPS
SCSI:機械磁盤 100-200 IOPS
固態磁盤,400 IOPS

SATA:機械磁盤 100 IOPS
固態磁盤 400 IOPS

SAS:機械磁盤 200 IOPS
固態硬盤 800 IOPS

PCI-E接口的固態硬盤:
讀的IOPS:400000-800000
寫的IOPS:50000-100000

普通的X86的主板上的磁盤控制器的接口:
IDE:2個接口,每個接口一個主盤和一個從盤,共4塊磁盤;如果有光驅的話,可能會減少至3個磁盤+1個光驅;

SATA:4-6個接口;

SCSI:7個接口或15個接口;

SAS:1023-16384個接口;

CPU:控制總線,數據總線,地址總線;



linux存儲管理(2)
機械磁盤:
術語:
track:磁道,磁頭在磁盤表面的運行軌跡的投影;
sector:扇區,512Byte,現在所說的扇區,實際上是平均值;最小管理單元;
cylinder:柱面,從某個磁道向所有盤片做投影,所形成的圓柱表面;實際上是由所有盤片上相同位置的磁道組成;
partition:分區,從某個柱面到另一個柱面之間所有的柱面存儲空間;
head:磁頭,每個盤片每個磁面都有哦一個磁頭,用於數據的讀寫操作;

磁盤性能的指標:
主軸轉速:磁盤每分鐘旋轉的圈數;
平均尋道時間:
緩存:

/dev用於存放硬件設備被映射出的文件,磁盤的設備文件也存放於此;
設備文件:關聯到硬件設備的驅動程序和設備的訪問入口;

設備號:
major,minor

major:主設備號,區分不同設備的設備類型,用於標明設備所需的驅動程序;
minor:次設備號,在同種類型的設備中的不同設備,用於對設備提供訪問入口;

設備類型:
塊設備:
以塊為基本單位進行隨機訪問的設備,通常為存儲數據的設備;
字符設備:
以字節為基本單位進行線性訪問的設備,通常為處理數據的設備;

設備文件名:
IANA --> ICANN

/dev
IDE:hd[a-d]
SCSI|SATA|SAS|USB:sd[a-z]+

Redhat Enterprise linux 從RHEL6開始,將IDE接口的磁盤也命名sd*,自此以後所有的磁盤設備統一命名為sd[a-z]+

設備的引用方式:
1.設備文件名
2.卷標(Volume lable)
3.UUID:全局唯一標識符; Universal Unique IDentifier

mknod
mknod - 建立塊專用或字符專用文件

格式:
mknod [options]... name TYPE [major minor]


如何使用新的磁盤設備?
1.讓linux系統內核識別設備,對設備進行分區;
2.格式化
低級格式化:磁盤初始化,磁道劃分;
高級格式化:創建或重建文件系統;
3.使用文件系統:
掛載
卸載

為何分區?
1.優化磁盤IO性能;
2.可以實現對某個存儲空間的配額限制;
3.進行高速的磁盤問題修復;
4.隔離系統文件和其他應用程序文件;
5.安裝多個操作系統;

如何分區?
MBR:整個磁盤空間小於2TB容量,建議使用MBR分區格式;
MBR:MAster Boot Record,主引導記錄,始於1982年;
MBR其實也是一段數據,默認保存在磁道的0磁道0扇區中;
分為三部分:
446Bytes:boot loader,引導加載程序;
Windows:BTLDR
linux的系統管理:LILO,GRUB(默認)
64Bytes:Partition table,分區表;每16Bytes為一段,表明一歌分容區的內,因此,默認最多只有四個分區;
1.最多有4個主分區
分區編號依次為:1,2,3,4
2.想要劃分更多的分區數量時,可以將任意一個主分區改為擴展分區,在擴展分區中建議邏輯分區;
邏輯分區的編號默認從5開始,不管前面的四個數字是否被占用;


註意:擴展分區可以沒有,最多只能有一個

2Bytes:MBR結束標記,55AA

GPT:整個磁盤空間超過2TB容量,建議使用GPT分區格式;
GUID Partition table,支持128個主分區;

linux常用的分區工具:
fdisk
用於創建和管理MBR分區,對同一塊磁盤,最多只能管理15個分區

gdisk: GUN disk
用於創建和管理GPT分區;

註意:
如果使用fdisk或者gdisk命令對於一個已經有分區被掛載的磁盤的剩余空間再次進行分區,即便將分區的結果保存下來,也不會被內核立即識別;

想要讓內核識別出此類新建分區,可以采用下列方法;
1.重啟計算機;
2.強制內核重讀分區表:
partprobe命令
partx命令

在RHEL系或Centos系5|7:
partprobe [device]
註意:如果省略了設備名,則表示重讀所有磁盤設備的分區表;強烈建議,直接給出指定的磁盤設備名稱;

在RHEL系或Centos系6|7:
partx -a [device]
kpartx -ax [device]



fdisk 分區
fdisk - Linux分區表操作工具軟件
格式:
fdisk device
fdisk -l [device..]

選項:
-l:表示查看之意,如果給出設備名稱,則查看指定設備的分區表;否則查看所有磁盤的設備文件的分區表;

fdisk device:
對於指定設備進行操作:
命令(輸入 m 獲取幫助):m
命令操作
d delete a partition
l list known partition types
m print this menu
n add a new partition
p print the partition table
q quit without saving changes
t change a partition's system id
w write table to disk and exit


在fdisk交互式菜單模式中創建分區的過程:
n --> p|e|l --> 分區的其實扇區(柱面),直接回車使用默認值設置 --> 分區的結束扇區(柱面),也可以使用+#UNIT 直接指定分區大小

parted命令:高級分區工具,其操作結果實時生效
parted - a partition manipulation program
格式:
parted [options] [device [command [options...]...]]

示例:
~]# parted /dev/sda mkpart logical 103GB 105GB
~]# parted /dev/sda rm 8

在通電開機狀態下添加SCSI接口的磁盤至本服務器,要想使設備被內識別並創建出相應的設備文件,有下列方法:
1.重啟計算機;
2.~]# echo "- - -" > /sys/class/scsi_host/host2/scan
強制內核識別在通電狀態下熱插接的新SCSI接口的磁盤設備;

linux的存儲管理