【轉(zhuǎn)】Linux下的磁盤分區(qū)方法
轉(zhuǎn)自:http://www.rzrgm.cn/lbole/p/8904298.html
一、硬盤接口類型
硬盤的接口主要有IDE、SATA、SCSI 、SAS和光纖通道等五種類型。其中IDE和SATA接口硬盤多用于家用產(chǎn)品中,也有部分應(yīng)用于服務(wù)器,SATA是一種新生的硬盤接口類型,已經(jīng)取代了大部分IDE接口應(yīng)用。SCSI 、SAS主要應(yīng)用于服務(wù)器上,普通家用設(shè)備一般不支持SCSI和SAS接口。SAS也是是一種新生的硬盤接口類型,可以和SATA以及部分SCSI設(shè)備無縫結(jié)合。光纖通道最初設(shè)計也不是為了硬盤設(shè)計開發(fā)的接口,是專門為網(wǎng)絡(luò)系統(tǒng)設(shè)計的,但隨著存儲系統(tǒng)對速度的需求,才逐漸應(yīng)用到硬盤系統(tǒng)中,并且其只應(yīng)用在高端服務(wù)器上價格昂貴。
二、硬盤和分區(qū)
Linux中主要有兩種分區(qū)類型,分別為MBR(Master Boot Record)和GPT(GUID Partition Table),是在磁盤上存儲分區(qū)信息的兩種不同方式。這些分區(qū)信息包含了分區(qū)從哪里開始的信息,這樣操作系統(tǒng)才知道哪個扇區(qū)是屬于哪個分區(qū)的,以及哪個分區(qū)是可以啟動的。在磁盤上創(chuàng)建分區(qū)時,你必須在MBR和GPT之間做出選擇。
在Linux中會把設(shè)備映射成為一個/dev目錄下的系統(tǒng)文件,IDE接口類型的硬盤設(shè)備映射的文件名稱前綴為“hd”,SCSI、SATA、SAS等接口的硬盤設(shè)備映射的文件名稱前綴為“sd”(部分虛擬機(jī)或者云主機(jī)的名稱可能是其他的,比如“vd”),后面拼接從“a”開始一直到“z”用來區(qū)分不同的硬盤設(shè)備,在硬盤名稱后面拼接數(shù)字形式的分區(qū)號用來區(qū)分不同的分區(qū)。
1、MBR分區(qū)
MBR的意思是“主引導(dǎo)記錄”,它是存在于驅(qū)動器開始部分的一個特殊的啟動扇區(qū)。這個扇區(qū)包含了已安裝的操作系統(tǒng)的啟動加載器和驅(qū)動器的邏輯分區(qū)信息。MBR支持最大2TB磁盤,它無法處理大于2TB容量的磁盤。MBR格式的磁盤分區(qū)主要分為基本分區(qū)(primary partion)和擴(kuò)展分區(qū)(extension partion)兩種主分區(qū)和擴(kuò)展分區(qū)下的邏輯分區(qū)。主分區(qū)總數(shù)不能大于4個,其中最多只能有一個擴(kuò)展分區(qū)。且基本分區(qū)可以馬上被掛載使用但不能再分區(qū),擴(kuò)展分區(qū)必須再進(jìn)行二次分區(qū)后才能掛載。擴(kuò)展分區(qū)下的二次分區(qū)被稱之為邏輯分區(qū),邏輯分區(qū)數(shù)量限制視磁盤類型而定。
MBR的主分區(qū)號為1-4,邏輯分區(qū)號為從5開始累加的數(shù)字。比如設(shè)備主板上裝了4塊硬盤,分別為2塊IDE接口硬盤,1塊SCSI接口硬盤和一塊SATA接口硬盤。其中2塊IDE接口硬盤的分區(qū)策略為2個主分區(qū)和2個邏輯分區(qū),SCSI分區(qū)策略為3個主分區(qū)和3個邏輯分區(qū),SATA分區(qū)策略為4個主分區(qū)。硬盤文件和分區(qū)名稱如下:
| 硬盤 | 主分區(qū)1 | 主分區(qū)2 | 主分區(qū)3 | 主分區(qū)4 | 邏輯分區(qū)1 | 邏輯分區(qū)2 | 邏輯分區(qū)3 | ...... | 邏輯分區(qū)n | |
| IDE1 | /dev/hda | /dev/hda1(p) | /dev/hda2(p) | /dev/hda3(e) | / | /dev/hda5(l) | /dev/hda6(l) | / | ...... | / |
| IDE2 | /dev/hdb | /dev/hdb1(p) | /dev/hdb2(p) | /dev/hdb3(e) | / | /dev/hdb5(l) | /dev/hdb6(l) | / | ...... | / |
| SCSI | /dev/sda | /dev/sda1(p) | /dev/sda2(p) | /dev/sda3(p) | /dev/sda4(e) | /dev/sda5(l) | /dev/sda6(l) | /dev/sda7(l) | ...... | / |
| SATA | /dev/sdb | /dev/sdb1(p) | /dev/sdb2(p) | /dev/sdb3(p) | /dev/sdb4(p) | / | / | / | ...... | / |
其中分區(qū)名稱后面的(p)代表基本分區(qū),(e)代表擴(kuò)展分區(qū),(l)代表邏輯分區(qū)。需要注意的是,如果分區(qū)策略中存在邏輯分區(qū),則說明一定會有擴(kuò)展分區(qū),那么基本分區(qū)數(shù)則最多只能有3個,擴(kuò)展分區(qū)數(shù)最多只能是1個,如果沒有擴(kuò)展分區(qū)則可以創(chuàng)建4個基本分區(qū)。想要創(chuàng)建邏輯分區(qū),則必須先將唯一的擴(kuò)展分區(qū)創(chuàng)建出來,并且如果刪除了擴(kuò)展分區(qū),那么它下面的所有邏輯分區(qū)也會被自動刪除。
如果是SCSI接口硬盤則最多只能有15(其中擴(kuò)展分區(qū)不能直接使用所以不計算)個分區(qū),其中主分區(qū)最多4個,邏輯分區(qū)最多12個。IDE接口硬盤最多只能有63(其中擴(kuò)展分區(qū)不能直接使用所以不計算)個分區(qū),其中主分區(qū)最多4個,邏輯分區(qū)最多60個。
2、GPT分區(qū)
GPT意為GUID分區(qū)表,驅(qū)動器上的每個分區(qū)都有一個全局唯一的標(biāo)識符(globally unique identifier,GUID)。支持的最大磁盤可達(dá)18EB,它沒有主分區(qū)和邏輯分區(qū)之分,每個硬盤最多可以有128個分區(qū),具有更強(qiáng)的健壯性與更大的兼容性,并且將逐步取代MBR分區(qū)方式。GPT分區(qū)的命名和MBR類似,只不過沒有主分區(qū)、擴(kuò)展分區(qū)和邏輯分區(qū)之分,分區(qū)號直接從1開始累加一直到128。
三、邏輯卷
LVM(邏輯卷)的產(chǎn)生是因?yàn)閭鹘y(tǒng)的分區(qū)一旦分區(qū)好后就無法在線擴(kuò)充空間,也存在一些工具能實(shí)現(xiàn)在線擴(kuò)充空間但是還是會面臨數(shù)據(jù)損壞的風(fēng)險;傳統(tǒng)的分區(qū)當(dāng)分區(qū)空間不足時,一般的解決辦法是再創(chuàng)建一個更大的分區(qū)將原分區(qū)卸載然后將數(shù)據(jù)拷貝到新分區(qū),但是在企業(yè)的生產(chǎn)系統(tǒng)往往不允許停機(jī)或者允許停機(jī)的時間很短,LVM就能很好的解決在線擴(kuò)充空間的問題,而且不會對數(shù)據(jù)造成影響,LVM還能通過快照在備份的過程中保證日志文件和表空間文件在同一時間點(diǎn)的一致性。
在LVM中PE(Physical Extend)是卷的最小單位,默認(rèn)4M大小,就像我們的數(shù)據(jù)是以頁的形式存儲一樣,卷就是以PE的形式存儲。PV(Physical Volume)是物理卷,如果要使用邏輯卷,首先第一步操作就是將物理磁盤或者物理分區(qū)格式化成PV,格式化之后PV就可以為邏輯卷提供PE了。VG(Volume Group)是卷組,VG就是將很多PE組合在一起生成一個卷組,當(dāng)然這里的PE是可以跨磁盤的,如果當(dāng)前服務(wù)器磁盤空間不足就可以增加一個新磁盤對當(dāng)前系統(tǒng)不會產(chǎn)生任何影響。LV(Logical Volume)是邏輯卷,邏輯卷最終是給用戶使用的,前面幾個都是為創(chuàng)建邏輯卷做的準(zhǔn)備,創(chuàng)建邏輯卷的大小只要不超過VG剩余空間就可以。
四、文件系統(tǒng)
當(dāng)硬盤分區(qū)被創(chuàng)建完成之后,還并不能直接掛載到目錄上存儲文件,需要選擇合適的文件系統(tǒng)進(jìn)行格式化。常見的分區(qū)類型有FAT32、FAT16、NTFS、HP-UX等,而專供Linux使用的主流的一些分區(qū)有ext2/3/4、physical volume (LVM) 、softwareRAID、swap、vfat、xfs等。其中:
1、ext2/3/4:是適合Linux的文件系統(tǒng)類型,由于ext3文件系統(tǒng)多了日志記錄功能,因此系統(tǒng)恢復(fù)起來更加快速,ext4是ext3的升級,效率更加高,因此建議使用默認(rèn)類型ext4類型,而不要使用ext2/3;
2、physical volume (LVM):這是一種彈性調(diào)整文件系統(tǒng)大小的機(jī)制,即可以讓文件系統(tǒng)變大或變小,而不改變原文件數(shù)據(jù)的內(nèi)容,功能不錯,但性能不佳。
3、softwareRAID:利用Linux系統(tǒng)的特性,用軟件仿真出磁盤陣列功能。
4、swap:就是內(nèi)存交換空間。由于swap并不會使用到目錄樹的掛載,因此用swap就不需要指定掛載點(diǎn)。
5、vfat:同時被Linux與windows所支持的文件系統(tǒng)類型。如果主機(jī)硬盤同事存在windows和linux兩種操作系統(tǒng),為了進(jìn)行數(shù)據(jù)交換,可以使用該文件系統(tǒng)。
6、xfs:也是一個文件系統(tǒng)類型,在centos7中將被作為默認(rèn)的文件系統(tǒng)類型,替換ext4。
五、使用fdisk操作分區(qū)
本文主要以CentOS 7發(fā)行版的Linux作為實(shí)驗(yàn),我們使用Fdisk工具來操作分區(qū),F(xiàn)disk 是各種 Linux 發(fā)行版本中最常用的分區(qū)工具。
首先輸入 fdisk -h 命令查看幫助信息:
[root@localnat201 ~]# fdisk -h 用法: fdisk [選項(xiàng)] <磁盤> 更改分區(qū)表 fdisk [選項(xiàng)] -l <磁盤> 列出分區(qū)表 fdisk -s <分區(qū)> 給出分區(qū)大小(塊數(shù)) 選項(xiàng): -b <大小> 扇區(qū)大小(512、1024、2048或4096) -c[=<模式>] 兼容模式:“dos”或“nondos”(默認(rèn)) -h 打印此幫助文本 -u[=<單位>] 顯示單位:“cylinders”(柱面)或“sectors”(扇區(qū),默認(rèn)) -v 打印程序版本 -C <數(shù)字> 指定柱面數(shù) -H <數(shù)字> 指定磁頭數(shù) -S <數(shù)字> 指定每個磁道的扇區(qū)數(shù)
從中我們可以看出,使用 fdisk -l 命令可查看分區(qū)表信息:
[root@localnat201 ~]# fdisk -l 磁盤 /dev/sda:32.2 GB, 32212254720 字節(jié),62914560 個扇區(qū) Units = 扇區(qū) of 1 * 512 = 512 bytes 扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié) I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié) 磁盤標(biāo)簽類型:dos 磁盤標(biāo)識符:0x000b1bc3 設(shè)備 Boot Start End Blocks Id System /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 62914559 30407680 8e Linux LVM 磁盤 /dev/sdb:53.7 GB, 53687091200 字節(jié),104857600 個扇區(qū) Units = 扇區(qū) of 1 * 512 = 512 bytes 扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié) I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié) 磁盤 /dev/mapper/cl-root:29.0 GB, 28982640640 字節(jié),56606720 個扇區(qū) Units = 扇區(qū) of 1 * 512 = 512 bytes 扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié) I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié) 磁盤 /dev/mapper/cl-swap:2147 MB, 2147483648 字節(jié),4194304 個扇區(qū) Units = 扇區(qū) of 1 * 512 = 512 bytes 扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié) I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
從中我們可以看出,有4個設(shè)備,分別為/dev/sda、/dev/sdb、/dev/mapper/cl-root、/dev/mapper/cl-swap。其中/dev/sda硬盤已經(jīng)有2個分區(qū)分區(qū)為:/dev/sda1和/dev/sda2。/dev/mapper/cl-root和/dev/mapper/cl-swap兩個設(shè)備是/dev/sda2分區(qū)創(chuàng)建的邏輯卷。這里的/dev/sdb硬盤設(shè)備并沒有被分區(qū),我們則是需要來操作這個硬盤,至于如何操作邏輯卷后面會講到。
輸入 fdisk /dev/sdb 命令,對/dev/sda硬盤的分區(qū)表進(jìn)行操作:
[root@localnat201 ~]# fdisk /dev/sdb 歡迎使用 fdisk (util-linux 2.23.2)。 更改將停留在內(nèi)存中,直到您決定將更改寫入磁盤。 使用寫入命令前請三思。 Device does not contain a recognized partition table 使用磁盤標(biāo)識符 0xc72a6f6a 創(chuàng)建新的 DOS 磁盤標(biāo)簽。
我們輸入"m"選項(xiàng)可以查看到幫助信息:
命令(輸入 m 獲取幫助):m 命令操作 a toggle a bootable flag 切換可引導(dǎo)標(biāo)志 b edit bsd disklabel 編輯BSD磁盤標(biāo)簽 c toggle the dos compatibility flag 切換DOS兼容性標(biāo)志 d delete a partition 刪除分區(qū) g create a new empty GPT partition table 創(chuàng)建一個新的空GPT分區(qū)表 G create an IRIX (SGI) partition table 創(chuàng)建一個ILIX(SGI)分區(qū)表 l list known partition types 列出已知分區(qū)類型 m print this menu 打印此菜單 n add a new partition 添加新分區(qū) o create a new empty DOS partition table 創(chuàng)建一個新的空DOS分區(qū)表 p print the partition table 打印分區(qū)表 q quit without saving changes 不保存更改退出 s create a new empty Sun disklabel 創(chuàng)建一個新的空太陽標(biāo)簽 t change a partition's system id 更改分區(qū)的系統(tǒng)ID u change display/entry units 更改顯示/輸入單元 v verify the partition table 驗(yàn)證分區(qū)表 w write table to disk and exit 將表寫入磁盤并退出 x extra functionality (experts only) 額外功能(僅專家)
命令(輸入 m 獲取幫助):
從上面的幫助信息中,可以得知一些選項(xiàng)的用途。這里主要注意"d"、"n"、"q"、"g"、"w"等選項(xiàng)。首先要明確分區(qū)格式,fdisk默認(rèn)的分區(qū)格式是msdos(mbr),在此可輸入"g"選項(xiàng),將分區(qū)格式修改為GPT,不過在修改完保存退出之后,在輸入 fdisk /dev/sdb 命令進(jìn)入分區(qū)模式,會出現(xiàn) WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion. 信息,提示fdisk gpt分區(qū)是新的功能,目前還在實(shí)驗(yàn)階段。所以如果要進(jìn)行GPT分區(qū),那么推薦使用 parted 命令,后面會介紹到。
那么首先輸入"n"選項(xiàng)來開始創(chuàng)建分區(qū):
命令(輸入 m 獲取幫助):n Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p):
可以看到交互界面打印的信息,提示需要選擇一個分區(qū)類型,"p":為基本分區(qū)(默認(rèn));"e":為擴(kuò)展分區(qū)。在此我們選擇"p",創(chuàng)建一個基本分區(qū):
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p 分區(qū)號 (2-4,默認(rèn) 2):
交互界面提示需要選擇一個分區(qū)號,范圍為2-4。由于已經(jīng)存在了一個基本分區(qū),所以只可選擇2、3、4(默認(rèn)2,順序累加)。在此我們輸入2:
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
分區(qū)號 (2-4,默認(rèn) 2):2
起始 扇區(qū) (2099200-314572799,默認(rèn)為 2099200):
可以看到交互界面提示序號選擇其實(shí)扇區(qū),默認(rèn)為剩余未被分配的最小扇區(qū),推薦選擇默認(rèn)(直接點(diǎn)擊回車);
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
分區(qū)號 (2-4,默認(rèn) 2):2
起始 扇區(qū) (2099200-314572799,默認(rèn)為 2099200):
將使用默認(rèn)值 2099200
Last 扇區(qū), +扇區(qū) or +size{K,M,G} (2099200-314572799,默認(rèn)為 314572799):
交互界面提示,要輸入需要分配的截止扇區(qū),默認(rèn)為未被分配的最小扇區(qū),此處推薦默認(rèn)(直接點(diǎn)擊回車):
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
分區(qū)號 (2-4,默認(rèn) 2):2
起始 扇區(qū) (2099200-314572799,默認(rèn)為 2099200):
將使用默認(rèn)值 2099200
Last 扇區(qū), +扇區(qū) or +size{K,M,G} (2099200-314572799,默認(rèn)為 314572799):
將使用默認(rèn)值 314572799
分區(qū) 2 已設(shè)置為 Linux 類型,大小設(shè)為 149 GiB
命令(輸入 m 獲取幫助):
可以看到又回到了最初的交互界面,這表示分區(qū)表已經(jīng)設(shè)置成功,輸入選項(xiàng)q表示要放棄本次分區(qū)表的修改并退出,w選項(xiàng)表示保存本次分區(qū)表的修改并退出,此處選擇w表示將分區(qū)信息寫入到磁盤,此次分區(qū)完成;
回到最初操作分區(qū)表的地方,選擇"d"選項(xiàng),刪除分區(qū)的功能:
命令(輸入 m 獲取幫助):d 分區(qū)號 (1,2,默認(rèn) 2):
交互界面提示輸入要刪除的分區(qū)的分區(qū)號,此處選擇2:
命令(輸入 m 獲取幫助):d 分區(qū)號 (1,2,默認(rèn) 2):2 分區(qū) 2 已刪除 命令(輸入 m 獲取幫助):
交互界面提示本次分區(qū)表操作成功,輸入選項(xiàng)"w",表示將分區(qū)信息寫入到磁盤,此次刪除分區(qū)完成?;氐阶畛踹x擇分區(qū)類型的地方,選擇"e",創(chuàng)建擴(kuò)展分區(qū):
Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): e 分區(qū)號 (2-4,默認(rèn) 2):
交互界面提示要輸入擴(kuò)展分區(qū)的分區(qū)號,可選范圍為2-4,此處選擇2:
Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): e 分區(qū)號 (2-4,默認(rèn) 2):2 起始 扇區(qū) (2099200-314572799,默認(rèn)為 2099200):
交互界面提示輸入要分配給擴(kuò)展分區(qū)的起始扇區(qū),此處選擇默認(rèn):
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): e
分區(qū)號 (2-4,默認(rèn) 2):2
起始 扇區(qū) (2099200-314572799,默認(rèn)為 2099200):
將使用默認(rèn)值 2099200
Last 扇區(qū), +扇區(qū) or +size{K,M,G} (2099200-314572799,默認(rèn)為 314572799):
交互界面提示輸入要分配給擴(kuò)展分區(qū)的截止扇區(qū),此處選擇默認(rèn):
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): e
分區(qū)號 (2-4,默認(rèn) 2):2
起始 扇區(qū) (2099200-314572799,默認(rèn)為 2099200):
將使用默認(rèn)值 2099200
Last 扇區(qū), +扇區(qū) or +size{K,M,G} (2099200-314572799,默認(rèn)為 314572799):
將使用默認(rèn)值 314572799
分區(qū) 2 已設(shè)置為 Extended 類型,大小設(shè)為 149 GiB
命令(輸入 m 獲取幫助):
交互界面提示本次對分區(qū)表的操作已完成,輸入"w"選項(xiàng),保存本次對分區(qū)表的操作;當(dāng)再次創(chuàng)建分區(qū)的時候,交互界面就會將擴(kuò)展分區(qū)的選項(xiàng)"e"替換成為邏輯分區(qū)的選項(xiàng)"l":
Partition type: p primary (1 primary, 1 extended, 2 free) l logical (numbered from 5) Select (default p):
之后再要創(chuàng)建邏輯分區(qū)和之前創(chuàng)建分區(qū)的步驟一致,分區(qū)完成。至此CentOS中的分區(qū)操作已完成

浙公網(wǎng)安備 33010602011771號