一、概念解讀
1. MBR
傳統的BIOS只支持從MBR(主引導記錄(Master Boot Record))分區的硬盤啓動。MBR分區的分區表保存在硬盤的第一個扇區,而且只有64字節,所以最多只能有四個表項。也就是說,我們只能把硬盤分爲4主分區,或者分成小於等於3個主分區再加一個擴展分區。擴展分區又可以分爲多個邏輯分區。MBR分區的優點就是簡單,很多操作系統都可以從MBR分區的硬盤啓動,缺點就是MBR分區不能識別大於2TiB(2.2TB)的硬盤空間,也不能有大於2T的分區。
2. GPT
GPT(GUID Partition Table,GUID(Globally Unique Identifier)全局唯一標識磁盤分區表)分區的硬盤可以解決以上MBR分區的所有缺點,它沒有4個主分區的限制(128個),支持大於2T的硬盤空間,每個分區的大小也可以超過2T。要從GPT分區的硬盤啓動,主板使用EFI、硬盤使用GPT分區、操作系統支持GPT和EFI這三個條件缺一不可。當今主流系統包括64位的Win7、Win8,以及Mac OS X等Linux系統幾乎都支持GPT,如果主板沒有EFI的支持的話,以上系統也只能將GPT分區的硬盤當成數據盤,不能從GPT分區的硬盤啓動。
3. 注意上面的MBR(msdos)和GPT(gpt)是硬盤分區格式,和位於分區之中的文件系統是兩碼事,還有更多的分區格式"aix","amiga","bsd","dvh","loop","mac","pc98","sun"。另外還有分區類型是指主分區,擴展分區或者邏輯分區。安裝創建順序來理解:分區格式-->分區類型-->文件系統-->存放文件。
4. fdisk是老牌的硬盤分區工具,但是不支持大於2T的硬盤,所以爲了使用大於2T以上空間的硬盤,需要使用parted工具。
5. 不管是MBR還是GPT格式的分區,對LVM邏輯卷組來說是透明的,照樣執行pvcreate vgcreate vgextend lvcreate lvextend之類的命令。
二、parted命令給一個盤分區
#fdisk /dev/sdb /*fdisk來分>2T的硬盤時,會提示*/
WARNING: The size of this disk is 2.2 TB (2199023255552 bytes).
DOS partition table format can not be used on drives for volumes
larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID
partition table format (GPT).
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help):
# parted /dev/sdb /*開始給一個盤sdb分區*/
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) help /*help給出幫助說明*/
align-check TYPE N check partition N for TYPE(min|opt) alignment
help [COMMAND] print general help, or help on COMMAND
mklabel,mktable LABEL-TYPE create a new disklabel (partition table)
mkpart PART-TYPE [FS-TYPE] START END make a partition
name NUMBER NAME name partition NUMBER as NAME
print [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partition
quit exit program
rescue START END rescue a lost partition near START and END
rm NUMBER delete partition NUMBER
select DEVICE choose the device to edit
disk_set FLAG STATE change the FLAG on selected device
disk_toggle [FLAG] toggle the state of FLAG on selected device
set NUMBER FLAG STATE change the FLAG on partition NUMBER
toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER
unit UNIT set the default unit to UNIT
version display the version number and copyright information of GNU Parted
(parted) mktable /*標明分區格式*/New disk label type? help /*到底有哪些類型,help不會幫忙顯示,參照上面的格式類型*/
parted: invalid token: help
New disk label type? gpt /*這裏就選定爲gpt格式*/
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes /*要注意的是,這裏會破壞性的來創建gpt*/
(parted) p /*打印顯示當前的硬盤情況,這裏能查看到硬盤大小*/
Model: DELL PERC H330 Mini (scsi)
Disk /dev/sdb: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
(parted) mkpart /*創建分區*/Partition name? []? /*直接回車,保持默認*/
File system type? [ext2]? /*指定文件系統類型,可選,後面我們會直接擴展到邏輯卷組,所以直接回車不輸入文件系統*/
Start? /*直接回車不會自動選擇從頭開始,需要輸入開始位置*/
Start? 0g /*0g表示從頭開始;或0表示開始*/
End? /*同樣,直接回車不會默認直到硬盤扇區結束位置*/
End? 2199g /*從上面p出來的硬盤具體大小,選擇所有空間;或-1表示結束位置*/
(parted) p
Model: DELL PERC H330 Mini (scsi)
Disk /dev/sdb: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 2199GB 2199GB
(parted) toggle 1 lvm /*標記下這個分區爲lvm*/(parted) p
Model: DELL PERC H330 Mini (scsi)
Disk /dev/sdb: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 2199GB 2199GB lvm
(parted) quit /*退出parted,保存更改;因爲要用邏輯卷組,所以忽略下面的提示*/Information: You may need to update /etc/fstab.
最後呢,就可以用lvm的相關命令來創建物理卷,卷組等東西了。當然也可以直接mkfs來創建文件系統。
# pvcreate /dev/sdb /*這裏我換用了另一臺電腦來實例,sdb大小爲5T+,實例如何擴展到系統已有的卷組中*/
# pvdisplay
--- Physical volume ---
PV Name /dev/sda3
VG Name centos
PV Size 2.00 TiB / not usable 2.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 524112
Free PE 22652
Allocated PE 501460
PV UUID YBZJY8-BCbL-tNhI-sJsR-W2N9-cabg-iXJS2P
"/dev/sdb1" is a new physical volume of "5.28 TiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size 5.28 TiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID w1yaW0-SOgn-JQw4-zgvi-kBam-3acy-cIAShY
這裏注意,Allocatable NO及後面幾個參數,都是不可用的。vgextend到vg之後默認變爲Allocatable,然後通過pvchange可以來更改它的狀態。
下面附錄幾個文件系統和他們支持的最大卷和最大文件大小
文件系統 | 最大卷大小 | 最大文件大小 |
---|---|---|
第二擴展文件系統 (ext2) 和第三擴展文件系統 (ext3) | 16TiB | 2TiB |
第四擴展文件系統 (ext4) | 1EiB | 16TiB |
ReiserFS | 16TiB | 8TiB |
日誌文件系統 (JFS) | 32PiB | 4PiB |
XFS | 16EiB | 8EiB |
B-tree 文件系統(Btrfs 尚在開發) | 16EiB | 16EiB |