Linux系統管理(1)
Linux存儲管理主要有磁盤控制器、總線、磁盤的接口;磁盤控制器一般有兩種,IDE以及SCSI;而總線有主要分為數據總線,地址總線,控制總線,當然了,總線是不會單獨工作,一般都是集成在主板上的;磁盤接口可以衡量一個磁盤的IO能力,磁盤接口的類型:如今主要用的有IDE的並行接口,來源於更早的ATA;以及SCSI的小型計算機系統接口;ATA的將並行數據傳輸改為串行接口;SAS的串行接口;USB接口。那衡量磁盤IO能力的指標除了接口以外還有另外一個指標:IOPS(一秒鐘完成讀寫操作的次數)。其中IDE的機械磁盤,讀寫速率平均處在50-100IOPS;SCSI的機械磁盤,讀寫速率平均處在100-200IOPS,固態磁盤的讀寫速率平均處在在400IOPS;SATA的機械磁盤,讀寫速率平均處在100IOPS左右,固態磁盤處在400IOPS左右;SAS的機械磁盤,讀寫速率平均處在200IOPS左右,固態磁盤讀寫速率平均處在800IOPS左右;PCI-E固態磁盤讀的IOPS大概在400000-800000,而寫的IOPS大概在50000-100000。
如今普遍的X86主板上的磁盤控制器的接口:
IDE:2個接口,每個接口接一個主盤和一個從盤,共四塊硬盤;如果有光驅的話,可能會減少至三個磁盤加一個光驅;
SATA:4-6個接口:
SCSI:7或者15個接口;
SAS:至少能夠提供1023個接口,最多16384個接口;
機械磁盤:
術語:
track:磁道,磁頭在磁盤表面的運行軌跡的投影;
sector:扇區,512Byte,現在所說的扇區實際上是平均值;最小的管理單元;
cylinder:柱面,從某個磁道向所有盤片做投影,所形成的圓柱表面;實際上是由所有盤片上相同位置的磁道組成;
partition:分區,從某個柱面到另一個柱面之間所有的柱面存儲空間;
head:磁頭,每個盤片每個磁面都有一個磁頭,用於數據的讀寫操作;
磁盤性能的指標:
主軸轉速:盤片每分鐘旋轉的圈數;
平均尋道時間:磁頭從開始位置到指定位置之間經過的時間;
緩存:
/dev用於存放硬件設備被映射出的文件,磁盤的設備文件也存放於此;
設備文件:是關聯到硬件設備的驅動程序和設備的訪問入口;
設備號:
major:主設備號,區分不同設備的設備類型,用於表明設備所需的驅動程序;
minor:次設備號,在同種類型的設備中的不同設備,用於對設備提供訪問入口;
設備類型:
塊設備:
以塊為基本單位進行隨機訪問的設備,通常為存儲數據的設備;
字符設備:
以字節為基本單位進行線性訪問的設備,通常為處理數據的設備;
設備文件名:
IANA --> ICANN
命名必須保存在/dev目錄下
IDE:hd[a-d]
SCSI|SATA|SAS|USB:sd[a-z]+ 例如:sdaa
RedHat Enterprise Linux:從RHEL6開始將IDE接口的磁盤也命名為sd*,自此以後,所有的磁盤設備被統一命名為sd[a-z]+;
設備的引用方式:
1.設備文件名直接引用
存在問題是:比如將數據添加到sdd磁盤,重啟以後文件名可能不再是sdd;
2.卷標(Volume Lable):
存在問題:如果引入外來設備,兩個設備中如果卷標沖突,那麽只會有一個設備可以正常啟動,另一個設備不會正常啟動;
3.UUID:全局唯一標識符,Universal Unique IDentifier
mknod命令:
mknod - make block or character special files
格式:
mknod [OPTION]... NAME TYPE [MAJOR MINOR]
如何使用新的磁盤設備?
1.讓Linux系統內核識別設備,對設備進行分區;
2.格式化
低級格式化:磁盤初始化,磁道劃分;
高級格式化:創建或重建文件系統;
3.使用文件系統:
掛載
卸載
為何分區?
1.優化磁盤的IO性能;
2.可以實現對某個存儲空間的配額限制;
3.進行高速的磁盤問題修復;
4.隔離系統文件和其他應用程序文件;
5.在一臺設備上,可以安裝多個操作系統;
如何分區?
MBR:整個磁盤空間小於2TB容量,建議使用MBR分區格式;
MBR:Master(Main) Boot Record,主引導記錄,始於1982年;
MBR其實也是一段數據,默認保存在磁盤的零磁道零扇區中;
分為三部分:
446Bytes:boot loader,引導加載程序;
Windows:NTLDR
Linux:7.4以前LILO,GRUB(默認)
64Bytes:Partition table,分區表;每16字節為一段,表明一個分區的內容,因此,默認最多只有四個分區;
1.最多有四個主分區;
分區編號依次為:1,2,3,4
2.想要劃分更多的分區數量時,可以將任意一個主分區改為擴展分區,在擴展分區中建立邏輯分區;
邏輯分區的編號默認從5開始,不管前面的四個數字是否都被占用;
註意:擴展分區可以沒有,最多只能有一個;
2Byte:MBR結束標記,55AA;
GPT:整個磁盤空間大於2TB容量,建議使用GPT分區格式;
GUID Partition table,支持128個主分區;
Linux下常用的分區工具:
fdisk:
用於創建和管理MBR分區,對於同一塊磁盤最多只能管理15個分區;
gdisk:GNU disk
用於創建和管理GPT分區;
註意:如果使用fdisk或gdisk命令,對於一個已經有分區被掛載的磁盤的剩余空間再次進行分區,即便將分區的結果保存下來,也不會被內核立即識別;
想要讓內核識別出此類新建分區,可以采用下列方法:
1.重啟計算機;
2.強制內核重讀分區表;
partprobe命令
partx命令
在RHEL或者CenOS系5|7版本中:
partprobe [device]
註意:如果省略了設備名,則表示重讀所有磁盤設備的分區表;強烈建議,直接給出指定的磁盤設備名稱;
在RHEL或者CenOS系6|7版本中:
partx -a [device]
kpartx -af [device]
fdisk分區工具:
fdisk - manipulate disk partition table
格式:
fdisk device
fdisk -l [device...]
選項:
-l:表示查看之意;如果給出設備名稱,則查看指定設備的分區表;否則查看所有磁盤設備文件的分區表;
fdisk device
對於指定設備進行分區管理和操作;
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系統管理(1)