天天看點

磁盤裝置管理

        作為提供系統可靠性與資料可用性的一個重要特性,系統支援磁盤陣列技術,包括硬體和軟體實

現磁盤陣列。也支援LVM邏輯卷實作的磁盤管理。

一、劃分磁盤分區

      在使用新裝的磁盤,設定軟體磁盤陣列,建立LAM卷組或邏輯卷之前,通常需要利用fdisk劃分磁盤

分區,分區時,可以把整個磁盤劃分為一個Linux分區,如果磁盤容量較大,也可以把磁盤劃分若幹分

區,以分區為機關,建立軟體磁盤陣列、建立LVM卷組、或邏輯卷、或直接建立檔案系統。

  每個實體磁盤可以劃分為一個或多個分區。磁盤分區資訊位于磁盤扇區0的分區表中。在Linux系統

中,一個磁盤分區即可用做檔案系統,也可以做交換空間。

    在Linux系統中,所有磁盤均采用/dev/sdDN形式統計命名。其中,D可以是字母a、b....分别表示第一個

磁盤、第二個磁盤、以此類推。數字N從1開始編号,表示磁盤分區。例如/dev/sda1是系統配置的第一

個磁盤的第一個分區。

   通過,Linux系統至少需要兩個磁盤分區,分别用做"/"檔案系統和交換分區。也可以建立第三個磁盤分

區,用做/boot檔案系統,存儲系統核心的映像檔案,以及引導系統時需要的其他輔助檔案。在一個

Intel86 系列及其相容機中,用于引導系統的BIOS通常隻能通路磁盤的前1024個柱面。是以,劃分磁盤

分區時需要確定BIOS能夠通路到單獨的/boot分區,如果系統配置的磁盤容量較大,出于安全、管理、

備份或檢測等原因,也可以把磁盤裝置劃分多個分區。

(1)磁面:每一張磁盤的表面,稱為磁面(Head)

(2) 磁道:每一個磁面的空間,會邏輯地切割出許多磁道(Track)

(3) 扇區:每一個磁道可以再切割出若幹扇區(Sector)也是調用磁盤的最小機關。現今磁盤中的扇區

預設大小為512位元組(Byte)

(4) 磁柱:一個磁盤會有多個磁道,每個磁盤上同一編号的磁道就組成了磁住(Cylinder)。

1.主引導記錄(MBR)

     整個磁盤的第0号磁住的第0号磁面的第1個扇區,指的是“主引導記錄(Master Boot Record,MBR)

分為以下資訊:

初始化程式加載器(Initial Program Loader,IPL)占用446位元組的空間,用來存儲作業系統的核心

分區表(Partiton Table)占用64位元組的空間,存儲這個磁盤的分區資訊。

驗證碼:占用2個位元組的空間,用來存放初始化程式加載器的檢查碼

三、分區

     一台計算機允許同時安裝多個作業系統,不同的作業系統可能會使用不同的檔案系統來存放檔案資料;可是每一個磁面空間,隻能使用同一種檔案系統。

(1)主分區

  分區資訊如果存儲在主引導記錄扇區的分區表中,稱為主分區(primary partition)

  由于主引導記錄扇區的分區資料表大小為64位元組,而每一個分區資訊都會占用16位元組的空間,是以,

一塊磁盤最多隻能擁有4個主分區。

(2)擴充分區

     由于主機記錄扇區空間的限制,一塊磁盤最多隻能有4個主要分區;如果需要更多的分區,需要建立

擴充分區(Extended partiton)

     注意:擴充分區隻能存儲分區,無法存儲檔案的資料

     擴充分區的資訊必須存儲在主引導記錄扇區的分區資料表中。一塊磁盤隻能有一個擴充分區,是以

一次磁盤最多隻能有3個主分區+1個擴充分區 

(3)邏輯分區

      存儲在擴充分區中的分區稱為邏輯分區(Logic Partiton)。每一個邏輯分區都可以存儲一個檔案系

統。

   系統辨別符位5-Extended的擴充分區:最多隻能存儲12個邏輯分區的資訊

   系統辨別符位85-Linux Extended的擴充分區:因磁盤種類的不同會有不同的數量。

   IDE磁盤:最多60個邏輯分區。

   SCSI磁盤:最多12個邏輯分區

   主分區與擴充分區:使用1-4的識别号碼

   邏輯分區:使用5-63的識别号碼

     fdisk是常見的指令,用于劃分磁盤裝置,顯示磁盤分區的資訊。在劃分磁盤分區時。通常均采用交

互方式。運作fdisk指令

fdisk [-u] [-b sectorsize] [-C cyls] [-H heads] [-S sects] device

fdisk -l [-u] [device]

fdisk -s partition

選項

-l 獲得機器中所有磁盤的個數,也能列出所有磁盤分區情況

-c 禁用舊的DOS相容模式

-u 以扇區(而不是柱面)的格式顯示輸出

磁盤裝置管理

fdisk子指令 簡單說明

n  建立一個新的磁盤分區

d  删除一個磁盤分區

p  顯示目前劃分的磁盤分區表

t  設定或修改磁盤分區類型辨別

l  顯示可用的磁盤分區類型辨別清單

w  運作fdisk指令期間設定的分區資訊寫入磁盤分區表

m  顯示可用的fdisk子指令

q  退出fdisk指令

四、磁盤陣列

磁盤陣列(RAID)基本思路是,把多個小型廉價的磁盤組合成一個陣列,以達到擴大存儲容量、提供I/0性能及提高資料容錯功能的目的,提供資料的可用性。從系統管理的角度,可以磁盤陣列看做一個邏輯存儲機關或磁盤裝置。利用磁盤陣列,可以把資料分布到若幹個磁盤中,按照RAID定義,磁盤陣列支援資料的均勻分布(RAID 0)、資料鏡像(RAID 1)及增加奇偶校驗的資料均勻分布(RAID 5)已達到資料,增加I/0帶寬的目的。

  磁盤陣列可以分為硬體實作的磁盤陣列和軟體實作的磁盤陣列。

  硬體磁盤陣列的特點是:速度快、穩定性好,可以有效地提供硬碟的可用性。但需要額外的硬體裝置

支援。

   軟體磁盤陣列的特點是:有作業系統的軟體子產品實作,不需要額外的硬體支援,故成本較低,但由于

需要占用較多的CPU和記憶體資源,因而性能相對較低。

(1)磁盤陣列的類型及定義

  包括RAID 0、RAID 1、RAID 4、RAID 6、RAID10

   RAID 0 :是一種“磁盤均勻分布”技術,主要目的是提供資料的I/O性能。寫入磁盤陣列的資料經過

拆分後均勻寫入每個成員磁盤或分區,能夠以較低的成本提供資料的I/O性能。

   RAID 1: RAID 1 也稱作“磁盤鏡像”為了確定資料的可用性,RAID 1是最常用的磁盤陣列類型之

一。RAID 1磁盤陣列采用"一式兩份"的方式,吧同一資料分别寫入磁盤陣列中的一個成員裝置及其“鏡

像”裝置,是每個資料均保留一個副本。

   RAID 4  采用專用的磁盤存儲奇偶校驗資料,其他磁盤均勻存儲資料,以實作資料的保護。對于所有

的資料寫操作,采用專用的奇偶校驗磁盤意味着存在潛在的瓶頸。

   RAID 5  是最常用的一種RAID技術。與RAID 4不同的是,RAID 5磁盤陣列采用交錯的方式,把奇偶校

驗資料均勻寫入每一個成員裝置中,進而減小RAID 4磁盤陣列固有的寫資料瓶頸問題。RAID 5磁盤陣

列最少需要3個磁盤或分區

   RAID 6   采用複雜的奇偶校驗方案,針對每一組資料,均生成兩個奇偶交驗資料,確定能夠恢複磁盤

陣列中任何兩個磁盤損壞而丢失資料。

配置磁盤陣列

  mdadm是一個磁盤陣列維護工具,具有豐富的功能,可用于組建、維護以及監控軟體實作的磁盤陣

列,增加、删除以及更換失靈的成員裝置等。

格式:mdadm [mode] raid-device [options] devices

  -l raid-level  --level=raid-level 設定磁盤裝置的RAID類型。當與“--create”選項一起使用時“--leve l”選項

的參數

  例如 以使用兩個磁盤分區/dev/sdb1和/sdb2 組建RAID 1 磁盤陣列為例,為了確定資料的可靠性,最好

使用不同磁盤裝置的分區建立RAID 1磁盤陣列

  (1)使用fdisk指令,在/dev/sdb磁盤上劃分兩個大小基本相同的分區,把分區辨別為fd,儲存分區表。

  (2)使用下列mdadm指令,組建RAID 1磁盤陣列/dev/md0 (0表示第一個磁盤陣列)

磁盤裝置管理

   (3)使用下列mkfs指令,在建立的磁盤陣列上建立一個ext4檔案系統

磁盤裝置管理

   (4)使用mount指令,把建立的檔案系統安裝到任何一個安裝點即可通路磁盤陣列了

磁盤裝置管理

(5)在磁盤陣列工作期間,可以使用下列mdadm指令查詢磁盤陣列的基本資訊

磁盤裝置管理

(6) 也可以使用下列mdadm指令查詢磁盤陣列的詳細資訊

磁盤裝置管理

在磁盤陣列的運作過程中,如果某個成員裝置出現故障,需要及時更換損壞的裝置,以保證磁盤陣列

能繼續有效工作。

  首先需要使用mdadm指令的“-f"選項标記出現故障的裝置,然後使用mdadm指令的”-r“選項移除故障

裝置。

磁盤裝置管理
磁盤裝置管理

接着更換磁盤裝置,在新的磁盤上劃分RAID分區,在使用下列mdadm指令,添加磁盤陣列的成員裝置

(這裡仍使用原來的磁盤分區/dev/sdb6)

磁盤裝置管理

  如果不想在使用,首選需要使用umount指令解除安裝磁盤陣列的檔案系統。然後使用mdadm指令,停止并

删除磁盤 陣列

磁盤裝置管理

邏輯卷 (LVM)

   實體卷(Physical Volume)實體卷指的磁盤、磁盤分區或磁盤陣列等儲存設備。實體卷是LVM的基本存儲

單元。

  卷組(Logical Volume Group)卷組相當傳統的磁盤裝置,可由一個或多個實體卷組成。在卷組上可以創

建一個或多個邏輯卷。

  邏輯卷(Logical Volume)邏輯卷相當于傳統的磁盤分區,可以在邏輯卷想建立檔案系統。必要時,邏輯

卷可以動态地伸縮。

實體擴充單元(Physical Extent)實體卷可以進一步細分為實體擴充單元,每個實體擴充單元具有唯一的編

号,也是LVM能夠尋址的最小單元。實體擴充單元的大小可以配置預設值為4MB。

邏輯擴充單元(Logical Extent)邏輯卷也可以為可尋址的邏輯擴充單元。在同一個卷組中,實體擴充單元

與邏輯擴充單元的大小相同,且一一對應。LVM(Logical Volume Management)是一個邏輯卷管理工具,

可用于配置設定磁盤,分布與鏡像資料。以及重新設定邏輯卷的大小。利用LVM,可以提供裝置管理的靈

活性、把磁盤、磁盤分區或磁盤陣列等儲存設備配置設定到一個或多個實體卷中。但是,實體卷不能跨盤組

建。為了實作跨盤組合,可以先在每個磁盤上建立一個或多個實體卷,然後把若幹實體卷組合成一個

卷組。是以,卷組可以包含多個磁盤、磁盤分區或磁盤陣列。卷組又可以分若幹邏輯卷,在每個邏輯

卷上,可以建立Ext4等檔案系統。

LVM邏輯卷的優勢:

  1.在系統運作期間,可以動态擴充或雖小邏輯卷,重新設定邏輯卷的存儲空間大小,而不影響檔案系

統的通路,即使在增加或更換儲存設備時也無需停機,提供了系統的可用性。

  2.當卷組中儲存設備出現故障或損壞時,其中的資料可以動态遷移到另外一個新的實體卷裝置上,而

原先的實體卷裝置仍可保持聯機工作狀态。

 3.邏輯卷可以彙聚多個實體裝置,均衡分布資料,提高儲存設備的I/0性能,增加資料能力。

 4.可以建立邏輯卷快照,以反映邏輯卷在特定時刻的實時狀态,并且能夠在正常的系統運作期間進行

精确的備份。

1.建立實體卷

  在使用LVM之前,首選需要使用pvcreate指令,把磁盤或分區轉換成實體卷。

 格式:pvcreate [options] PVPaths

其中,PVPaths是實體卷的裝置檔案名。

例如,如果想把磁盤分區/dev/sdb1轉換成實體卷,可以使用fdisk指令劃分磁盤分區,確定分區類型是8e。

磁盤裝置管理

  建立完實體卷之後,使用pvdisplay指令檢視實體卷的屬性資訊

磁盤裝置管理

2.建立卷組

格式:vgcreate  vgname pvdevices......

   其中vgname是塊裝置的名稱,PvPDevices是利用pvcreate指令建立的實體卷的裝置檔案名。

  -l  設定卷組允許的最大邏輯卷數量,對于LVM1而言,預設的數量限制是255,LVM2的預設值是0,

表示沒有限制。

   -p  設定卷組允許的最大實體卷數量。同樣,預設的數量限制是255,LVM2的預設值是0,表示沒有限

制。

  -s  用于設定卷組中實體卷的實體擴充單元的大小。數字後面的字母是選用的,分别表示以KB、MB、

GB或TB為機關,預設機關是MB,實體擴充單元的預設大小是4MB。

例如建立/dev/sdb5實體卷建立出vg0這個卷組,PE塊的大小是8MB

磁盤裝置管理

檢視卷組的屬性資訊

磁盤裝置管理

3.建立邏輯卷

在建立檔案系統之前,首選需要使用lvcreate指令和卷組中的空閑實體擴充單元,建立邏輯卷。lvcreate

指令的主要功能是利用卷組建立新的邏輯卷,格式:

  lvcreate [-L size] -n LAVNAME VGNAME

  其中的size是邏輯卷的大小,如果沒有指定size,lvcreate将以卷組剩餘的所有可用空間作為該邏輯卷的大

小,lvname則是邏輯卷的識别名稱,vgname則是卷組的識别名稱。

 選項

  -i 用于指定資料條塊的數量,這個數量應等于實體卷的數量,表示有多少實體卷交錯分布,以構成邏

輯卷。

-I 用于指定資料條塊的大小,在LVM1中,指定的數值必須等于2^n(n=2-9)在LVM2中,資料條塊可以

更大,不能超過實體擴充單元的大小。

-L 用于指定配置設定給建立邏輯卷的存儲容量。指定的數值後面可以附加K、M、G或T等字尾。分别表示

以KB\MB\GB\TB為機關。

-n 用于指定建立邏輯卷的名稱

使用卷組vg1(其中包括/dev/sdb1 與/dev/sdb2兩個磁盤分區,37G)作為例子,可以利用下列指令,把整

個卷組的所有空間均配置設定給一個邏輯卷,建立一個37G的邏輯卷lv1

磁盤裝置管理

利用vgdisplay指令确定卷組vg0中擁有多少實體擴充單元

磁盤裝置管理

建立邏輯卷之後,檢視建立的邏輯卷的屬性資訊

磁盤裝置管理

建立邏輯卷之後,可建立檔案系統,例如,下列指令将會在邏輯卷lv0建立一個ext4的檔案系統

磁盤裝置管理

建立檔案系統之後,即可安裝檔案系統,例如,下列指令将會把檔案系統安裝到/lvm目錄中

磁盤裝置管理

如果希望在系統啟動自動安裝檔案,需要修改/etc/fstab檔案

磁盤裝置管理

繼續閱讀