[MBR GPT] [BIOS EFI] LVM [fdisk parted]

一、概念解讀

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章