1、硬盤接口類型node
硬盤的接口主要有IDE、SATA、SCSI 、SAS和光纖通道等五種類型。其中IDE和SATA接口硬盤多用於家用產品中,也有部分應用於服務器,SATA是一種新生的硬盤接口類型,已經取代了大部分IDE接口應用。SCSI 、SAS主要應用於服務器上,普通家用設備通常不支持SCSI和SAS接口。SAS也是是一種新生的硬盤接口類型,能夠和SATA以及部分SCSI設備無縫結合。光纖通道最初設計也不是爲了硬盤設計開發的接口,是專門爲網絡系統設計的,但隨着存儲系統對速度的需求,才逐漸應用到硬盤系統中,而且其只應用在高端服務器上價格昂貴。linux
2、硬盤和分區
vim
Linux中主要有兩種分區類型,分別爲MBR(Master Boot Record)和GPT(GUID Partition Table),是在磁盤上存儲分區信息的兩種不一樣方式。這些分區信息包含了分區從哪裏開始的信息,這樣操做系統才知道哪一個扇區是屬於哪一個分區的,以及哪一個分區是能夠啓動的。在磁盤上建立分區時,你必須在MBR和GPT之間作出選擇。windows
在Linux中會把設備映射成爲一個/dev目錄下的系統文件,IDE接口類型的硬盤設備映射的文件名稱前綴爲「hd」,SCSI、SATA、SAS等接口的硬盤設備映射的文件名稱前綴爲「sd」(部分虛擬機或者雲主機的名稱多是其餘的,好比「vd」),後面拼接從「a」開始一直到「z」用來區分不一樣的硬盤設備,在硬盤名稱後面拼接數字形式的分區號用來區分不一樣的分區。centos
一、MBR分區
MBR的意思是「主引導記錄」,它是存在於驅動器開始部分的一個特殊的啓動扇區。這個扇區包含了已安裝的操做系統的啓動加載器和驅動器的邏輯分區信息。MBR支持最大2TB磁盤,它沒法處理大於2TB容量的磁盤。MBR格式的磁盤分區主要分爲基本分區(primary partion)和擴展分區(extension partion)兩種主分區和擴展分區下的邏輯分區。主分區總數不能大於4個,其中最多隻能有一個擴展分區。且基本分區能夠立刻被掛載使用但不能再分區,擴展分區必須再進行二次分區後才能掛載。擴展分區下的二次分區被稱之爲邏輯分區,邏輯分區數量限制視磁盤類型而定。服務器
MBR的主分區號爲1-4,邏輯分區號爲從5開始累加的數字。好比設備主板上裝了4塊硬盤,分別爲2塊IDE接口硬盤,1塊SCSI接口硬盤和一塊SATA接口硬盤。其中2塊IDE接口硬盤的分區策略爲2個主分區和2個邏輯分區,SCSI分區策略爲3個主分區和3個邏輯分區,SATA分區策略爲4個主分區。硬盤文件和分區名稱以下:網絡
硬盤 | 主分區1 | 主分區2 | 主分區3 | 主分區4 | 邏輯分區1 | 邏輯分區2 | 邏輯分區3 | ...... | 邏輯分區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) | / | / | / | ...... | / |
其中分區名稱後面的(p)表明基本分區,(e)表明擴展分區,(l)表明邏輯分區。須要注意的是,若是分區策略中存在邏輯分區,則說明必定會有擴展分區,那麼基本分區數則最多隻能有3個,擴展分區數最多隻能是1個,若是沒有擴展分區則能夠建立4個基本分區。想要建立邏輯分區,則必須先將惟一的擴展分區建立出來,而且若是刪除了擴展分區,那麼它下面的全部邏輯分區也會被自動刪除。app
若是是SCSI接口硬盤則最多隻能有15(其中擴展分區不能直接使用因此不計算)個分區,其中主分區最多4個,邏輯分區最多12個。IDE接口硬盤最多隻能有63(其中擴展分區不能直接使用因此不計算)個分區,其中主分區最多4個,邏輯分區最多60個。dom
二、GPT分區ide
GPT意爲GUID分區表,驅動器上的每一個分區都有一個全局惟一的標識符(globally unique identifier,GUID)。支持的最大磁盤可達18EB,它沒有主分區和邏輯分區之分,每一個硬盤最多能夠有128個分區,具備更強的健壯性與更大的兼容性,而且將逐步取代MBR分區方式。GPT分區的命名和MBR相似,只不過沒有主分區、擴展分區和邏輯分區之分,分區號直接從1開始累加一直到128。
3、邏輯卷
LVM(邏輯卷)的產生是由於傳統的分區一旦分區好後就沒法在線擴充空間,也存在一些工具能實如今線擴充空間可是仍是會面臨數據損壞的風險;傳統的分區當分區空間不足時,通常的解決辦法是再建立一個更大的分區將原分區卸載而後將數據拷貝到新分區,可是在企業的生產系統每每不容許停機或者容許停機的時間很短,LVM就能很好的解決在線擴充空間的問題,並且不會對數據形成影響,LVM還能經過快照在備份的過程當中保證日誌文件和表空間文件在同一時間點的一致性。
在LVM中PE(Physical Extend)是卷的最小單位,默認4M大小,就像咱們的數據是以頁的形式存儲同樣,卷就是以PE的形式存儲。PV(Physical Volume)是物理卷,若是要使用邏輯卷,首先第一步操做就是將物理磁盤或者物理分區格式化成PV,格式化以後PV就能夠爲邏輯卷提供PE了。VG(Volume Group)是卷組,VG就是將不少PE組合在一塊兒生成一個卷組,固然這裏的PE是能夠跨磁盤的,若是當前服務器磁盤空間不足就能夠增長一個新磁盤對當前系統不會產生任何影響。LV(Logical Volume)是邏輯卷,邏輯卷最終是給用戶使用的,前面幾個都是爲建立邏輯卷作的準備,建立邏輯卷的大小隻要不超過VG剩餘空間就能夠。
4、文件系統
當硬盤分區被建立完成以後,還並不能直接掛載到目錄上存儲文件,須要選擇合適的文件系統進行格式化。常見的分區類型有FAT3二、FAT1六、NTFS、HP-UX等,而專供Linux使用的主流的一些分區有ext2/3/四、physical volume (LVM) 、softwareRAID、swap、vfat、xfs等。其中:
一、ext2/3/4:是適合Linux的文件系統類型,因爲ext3文件系統多了日誌記錄功能,所以系統恢復起來更加快速,ext4是ext3的升級,效率更加高,所以建議使用默認類型ext4類型,而不要使用ext2/3;
二、physical volume (LVM):這是一種彈性調整文件系統大小的機制,便可以讓文件系統變大或變小,而不改變原文件數據的內容,功能不錯,但性能不佳。
三、softwareRAID:利用Linux系統的特性,用軟件仿真出磁盤陣列功能。
四、swap:就是內存交換空間。因爲swap並不會使用到目錄樹的掛載,所以用swap就不須要指定掛載點。
五、vfat:同時被Linux與windows所支持的文件系統類型。若是主機硬盤同事存在windows和linux兩種操做系統,爲了進行數據交換,可使用該文件系統。
六、xfs:也是一個文件系統類型,在centos7中將被做爲默認的文件系統類型,替換ext4。
5、使用fdisk操做分區
本文主要以CentOS 7發行版的Linux做爲實驗,咱們使用Fdisk工具來操做分區,Fdisk 是各類 Linux 發行版本中最經常使用的分區工具。
首先輸入 fdisk -h 命令查看幫助信息:
[root@localnat201 ~]# fdisk -h 用法: fdisk [選項] <磁盤> 更改分區表 fdisk [選項] -l <磁盤> 列出分區表 fdisk -s <分區> 給出分區大小(塊數) 選項: -b <大小> 扇區大小(512、1024、2048或4096) -c[=<模式>] 兼容模式:「dos」或「nondos」(默認) -h 打印此幫助文本 -u[=<單位>] 顯示單位:「cylinders」(柱面)或「sectors」(扇區,默認) -v 打印程序版本 -C <數字> 指定柱面數 -H <數字> 指定磁頭數 -S <數字> 指定每一個磁道的扇區數
從中咱們能夠看出,使用 fdisk -l 命令可查看分區表信息:
[root@localnat201 ~]# fdisk -l 磁盤 /dev/sda:32.2 GB, 32212254720 字節,62914560 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤標籤類型:dos 磁盤標識符:0x000b1bc3 設備 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 字節,104857600 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤 /dev/mapper/cl-root:29.0 GB, 28982640640 字節,56606720 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤 /dev/mapper/cl-swap:2147 MB, 2147483648 字節,4194304 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節
從中咱們能夠看出,有4個設備,分別爲/dev/sda、/dev/sdb、/dev/mapper/cl-root、/dev/mapper/cl-swap。其中/dev/sda硬盤已經有2個分區分區爲:/dev/sda1和/dev/sda2。/dev/mapper/cl-root和/dev/mapper/cl-swap兩個設備是/dev/sda2分區建立的邏輯卷。這裏的/dev/sdb硬盤設備並無被分區,咱們則是須要來操做這個硬盤,至於如何操做邏輯卷後面會講到。
輸入 fdisk /dev/sdb 命令,對/dev/sda硬盤的分區表進行操做:
[root@localnat201 ~]# fdisk /dev/sdb 歡迎使用 fdisk (util-linux 2.23.2)。 更改將停留在內存中,直到您決定將更改寫入磁盤。 使用寫入命令前請三思。 Device does not contain a recognized partition table 使用磁盤標識符 0xc72a6f6a 建立新的 DOS 磁盤標籤。
咱們輸入"m"選項能夠查看到幫助信息:
命令(輸入 m 獲取幫助):m 命令操做 a toggle a bootable flag 切換可引導標誌 b edit bsd disklabel 編輯BSD磁盤標籤 c toggle the dos compatibility flag 切換DOS兼容性標誌 d delete a partition 刪除分區 g create a new empty GPT partition table 建立一個新的空GPT分區表 G create an IRIX (SGI) partition table 建立一個ILIX(SGI)分區表 l list known partition types 列出已知分區類型 m print this menu 打印此菜單 n add a new partition 添加新分區 o create a new empty DOS partition table 建立一個新的空DOS分區表 p print the partition table 打印分區表 q quit without saving changes 不保存更改退出 s create a new empty Sun disklabel 建立一個新的空太陽標籤 t change a partition's system id 更改分區的系統ID u change display/entry units 更改顯示/輸入單元 v verify the partition table 驗證分區表 w write table to disk and exit 將表寫入磁盤並退出 x extra functionality (experts only) 額外功能(僅專家)
命令(輸入 m 獲取幫助):
從上面的幫助信息中,能夠得知一些選項的用途。這裏主要注意"d"、"n"、"q"、"g"、"w"等選項。首先要明確分區格式,fdisk默認的分區格式是msdos(mbr),在此可輸入"g"選項,將分區格式修改成GPT,不過在修改完保存退出以後,在輸入 fdisk /dev/sdb 命令進入分區模式,會出現 WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion. 信息,提示fdisk gpt分區是新的功能,目前還在實驗階段。因此若是要進行GPT分區,那麼推薦使用 parted 命令,後面會介紹到。
那麼首先輸入"n"選項來開始建立分區:
命令(輸入 m 獲取幫助):n Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p):
能夠看到交互界面打印的信息,提示須要選擇一個分區類型,"p":爲基本分區(默認);"e":爲擴展分區。在此咱們選擇"p",建立一個基本分區:
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p 分區號 (2-4,默認 2):
交互界面提示須要選擇一個分區號,範圍爲2-4。因爲已經存在了一個基本分區,因此只可選擇二、三、4(默認2,順序累加)。在此咱們輸入2:
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
分區號 (2-4,默認 2):2
起始 扇區 (2099200-314572799,默認爲 2099200):
能夠看到交互界面提示序號選擇其實扇區,默認爲剩餘未被分配的最小扇區,推薦選擇默認(直接點擊回車);
Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): p 分區號 (2-4,默認 2):2 起始 扇區 (2099200-314572799,默認爲 2099200): 將使用默認值 2099200 Last 扇區, +扇區 or +size{K,M,G} (2099200-314572799,默認爲 314572799):
交互界面提示,要輸入須要分配的截止扇區,默認爲未被分配的最小扇區,此處推薦默認(直接點擊回車):
Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): p 分區號 (2-4,默認 2):2 起始 扇區 (2099200-314572799,默認爲 2099200): 將使用默認值 2099200 Last 扇區, +扇區 or +size{K,M,G} (2099200-314572799,默認爲 314572799): 將使用默認值 314572799 分區 2 已設置爲 Linux 類型,大小設爲 149 GiB 命令(輸入 m 獲取幫助):
能夠看到又回到了最初的交互界面,這表示分區表已經設置成功,輸入選項q表示要放棄本次分區表的修改並退出,w選項表示保存本次分區表的修改並退出,此處選擇w表示將分區信息寫入到磁盤,這次分區完成;
回到最初操做分區表的地方,選擇"d"選項,刪除分區的功能:
命令(輸入 m 獲取幫助):d 分區號 (1,2,默認 2):
交互界面提示輸入要刪除的分區的分區號,此處選擇2:
命令(輸入 m 獲取幫助):d 分區號 (1,2,默認 2):2 分區 2 已刪除 命令(輸入 m 獲取幫助):
交互界面提示本次分區表操做成功,輸入選項"w",表示將分區信息寫入到磁盤,這次刪除分區完成。回到最初選擇分區類型的地方,選擇"e",建立擴展分區:
Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): e 分區號 (2-4,默認 2):
交互界面提示要輸入擴展分區的分區號,可選範圍爲2-4,此處選擇2:
Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): e 分區號 (2-4,默認 2):2 起始 扇區 (2099200-314572799,默認爲 2099200):
交互界面提示輸入要分配給擴展分區的起始扇區,此處選擇默認:
Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): e 分區號 (2-4,默認 2):2 起始 扇區 (2099200-314572799,默認爲 2099200): 將使用默認值 2099200 Last 扇區, +扇區 or +size{K,M,G} (2099200-314572799,默認爲 314572799):
交互界面提示輸入要分配給擴展分區的截止扇區,此處選擇默認:
Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): e 分區號 (2-4,默認 2):2 起始 扇區 (2099200-314572799,默認爲 2099200): 將使用默認值 2099200 Last 扇區, +扇區 or +size{K,M,G} (2099200-314572799,默認爲 314572799): 將使用默認值 314572799 分區 2 已設置爲 Extended 類型,大小設爲 149 GiB 命令(輸入 m 獲取幫助):
交互界面提示本次對分區表的操做已完成,輸入"w"選項,保存本次對分區表的操做;當再次建立分區的時候,交互界面就會將擴展分區的選項"e"替換成爲邏輯分區的選項"l":
Partition type: p primary (1 primary, 1 extended, 2 free) l logical (numbered from 5) Select (default p):
以後再要建立邏輯分區和以前建立分區的步驟一直,分區完成。至此CentOS中的分區操做已完成;接下來咱們須要將物理分區格式化成某一個文件系統,咱們使用mkds進行分區格式化操做,輸入 mkfs -h 命令獲取幫助信息:
[root@localhost ~]# mkfs -h 用法: mkfs [選項] [-t <類型>] [文件系統選項] <設備> [<大小>] 選項: -t, --type=<類型> 文件系統類型; fs-options 實際文件系統構建程序的參數 <設備> 要使用設備的路徑 <大小> 要使用設備上的塊數 -V, --verbose 解釋正在進行的操做; 屢次指定 -V 將致使空運行(dry-run) -V, --version 顯示版本信息並退出 將 -V 做爲 --version 選項時必須是唯一選項 -h, --help 顯示此幫助並退出 更多信息請參閱 mkfs(8)。
從幫助信息中咱們能夠看到,可使用mkfs -t xfs /dev/sdb1 進行格式化分區:
[root@localnat201 ~]# mkfs -t xfs /dev/sda2 meta-data=/dev/sdb1 isize=512 agcount=4, agsize=624936 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=2499744, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
格式化成xfs時,若提示分區已存在文件系統,則須要在分區前面加上-f選項強行覆蓋,例如: mkfs -t xfs -f /dev/sda2 。被格式化的設備既能夠是分區,也能夠是邏輯卷。要查看全部分區的文件系統格式則可使用 df -Th 命令。至此格式化分區完成。分區格式化完成以後則能夠將分區掛載到某一個目錄下面,正式開始使用改分區,咱們在系統中建立一個用戶掛載分區的目錄:
[root@localhost ~]# mkdir /data
將分區掛載到目錄上:
mount /dev/sda2 /data/
設置開機自動掛載分區到掛載點,編輯 vim /etc/fstab :
# # /etc/fstab # Created by anaconda on Sun Jun 25 07:16:25 2017 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=eb697457-a097-4263-8bbf-a75aa632d27c / ext4 defaults 1 1 /dev/sda2 /data xfs defaults 0 0
若是想要卸載掛載點:
[root@localnat201 ~]# umount /dev/sda2
至此掛載分區已完成;
6、使用parted操做分區
parted是一個能夠分區並進行分區調整的工具,他能夠建立,破壞,移動,複製,調整ext2 linux-swap fat fat32 reiserfs類型的分區,能夠建立,調整,移動Macintosh的HFS分區,檢測jfs,ntfs,ufs,xfs分區。既能夠建立MBR分區,又能夠用來建立GPT分區,若是你的硬盤大於2TB則必需要使用parted來建立GPT格式的分區。
可使用 parted -h 命令查看使用說明
[root@localnat201 ~]# parted -h Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...] Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run in interactive mode. 選項: -h, --help 顯示此求助信息 -l, --list lists partition layout on all block devices 列出全部塊設備上的分區佈局 -m, --machine displays machine parseable output 顯示機器可分析輸出 -s, --script 從不提示用戶 -v, --version 顯示版本 -a, --align=[none|cyl|min|opt] alignment for new partitions 命令: 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 Report bugs to bug-parted@gnu.org
從幫助信息中可看出,使用 parted -l 命令可查看分區表信息:
[root@localnat201 ~]# parted -l Model: VMware, VMware Virtual S (scsi) Disk /dev/sda: 32.2GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system 標誌 1 1049kB 1075MB 1074MB primary xfs 啓動 2 1075MB 32.2GB 31.1GB primary lvm
錯誤: /dev/sdb: unrecognised disk label Model: VMware, VMware Virtual S (scsi) Disk /dev/sdb: 107GB Sector size (logical/physical): 512B/512B Partition Table: unknown Disk Flags: Model: Linux device-mapper (linear) (dm) Disk /dev/mapper/cl-swap: 2147MB Sector size (logical/physical): 512B/512B Partition Table: loop Disk Fla gs: Number Start End Size File system 標誌 1 0.00B 2147MB 2147MB linux-swap(v1) Model: Linux device-mapper (linear) (dm) Disk /dev/mapper/cl-root: 29.0GB Sector size (logical/physical): 512B/512B Partition Table: loop Disk Flags: Number Start End Size File system 標誌 1 0.00B 29.0GB 29.0GB xfs
從中可看出與上面 fdisk -l 命令返回的差很少的信息。總共有4個設備:/dev/sda和/dev/sdb爲物理設備,/dev/mapper/cl-swap和/dev/mapper/cl-root爲邏輯卷建立的設備。能夠看到/dev/sdb尚未分區,而且還看到上面有一個錯誤信息 錯誤: /dev/sdb: unrecognised disk label 。這是因爲該磁盤設備沒有設置上標籤(label)因此會有錯誤,只須要設置了標籤就能夠了。
這裏咱們使用 parted /dev/sdb 命令開始分區:
[root@localnat201 ~]# parted /dev/sdb GNU Parted 3.1 使用 /dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)
輸入help選項,查看幫助信息:
[root@localnat201 ~]# parted /dev/sdb GNU Parted 3.1 使用 /dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) 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)
也能夠在"help"選項後面加上具體的命令,能夠查看具體命令的幫助信息;接下來使用 mklabel gpt 或者 mktable gpt 命令格式化分區類型和設置標籤:
[root@localnat201 ~]# parted /dev/sdb GNU Parted 3.1 使用 /dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) 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) mklabel gpt (parted)
此處可選擇modos(mbr)和gpt類型,若是修改的分區標籤類型,則分區全部數據將會丟失;接下來可輸入 print 選項,打印分區信息:
(parted) print Model: VMware, VMware Virtual S (scsi) Disk /dev/sdb: 107GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name 標誌 (parted)
由此能夠看出分區已是GPT分區格式;加下來須要建立分區,建立分區須要使用 mkpart 命令,在此咱們能夠輸入 help mkpart 命令查看幫助信息:
(parted) help mkpart mkpart PART-TYPE [FS-TYPE] START END make a partition 分區類型是:primary(主分區)、logical(邏輯分區)、extended(擴展分區)之一 文件系統類型是如下任意一項:btrfs, nilfs2, ext4, ext3, ext2, fat32, fat16, hfsx, hfs+, hfs, jfs, swsusp, linux-swap(v1), linux-swap(v0), ntfs, reiserfs, hp-ufs, sun-ufs, xfs, apfs2, apfs1, asfs, amufs5, amufs4, amufs3, amufs2, amufs1, amufs0, amufs, affs7, affs6, affs5, affs4, affs3, affs2, affs1, affs0, linux-swap, linux-swap(new), linux-swap(old) START and END are disk locations, such as 4GB or 10%. Negative values count from the end of the disk. For example, -1s specifies exactly the last sector. 'mkpart' makes a partition without creating a new file system on the partition. FS-TYPE may be specified to set an appropriate partition ID.
咱們用 mkpart xfs 0 100% 命令建立分區,xfs是文件系統類型(這裏只是作說明或者說是分區的名稱,分區完成以後是須要使用 mkfs 命令進行真正的格式化的,不然不能掛載), 0是磁盤的起始位置,100%是磁盤的結束位置:
(parted) mkpart primary xfs 0 100% 警告: The resulting partition is not properly aligned for best performance. 忽略/Ignore/放棄/Cancel?
建立的過程當中,咱們會看到有警告信息 The resulting partition is not properly aligned for best performance. ,說分區沒有正確對齊,會影響最佳新能。這裏說的是磁盤的位置沒有給一個合適的值。其實在使用fdisk分區的時候,會有默認的起始和結束扇區,因此若是不是很肯定這個值,那麼能夠先試用fdisk命令進入分區模式,看一下默認的起始扇區和結束扇區是多少。我這裏的起始扇區是2048,但因爲parted默認是M爲位置單位,因此這裏須要使用s說明是扇區爲單位。結束扇仍是100%,因此命令爲 mkpart xfs 2048s 100% :
(parted) mkpart xfs 2048s 100% (parted)
其中不須要指明分區類型是主分區仍是邏輯分區,GPT分區只有一種分區格式,若是是msdos(mbr)才須要指明。可使用 rm 分區號 命令刪除分區,使用 quit 命令退出當前分區模式,至此parted命令進行GPT分區已完成;格式化分區和掛載分區與上面fdisk分區中的方式同樣。
7、使用邏輯卷
首先咱們須要將物理設備(能夠是物理磁盤/dev/sdb、也能夠是物理分區/dev/sdb1)格式化爲PV(物理卷),在此咱們使用 parted -l 命令查看咱們有哪些可供使用的物理設備:
[root@localnat201 ~]# parted -l Model: VMware, VMware Virtual S (scsi) Disk /dev/sda: 32.2GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system 標誌 1 1049kB 1075MB 1074MB primary xfs 啓動 2 1075MB 32.2GB 31.1GB primary lvm Model: VMware, VMware Virtual S (scsi) Disk /dev/sdb: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name 標誌 1 1049kB 21.5GB 21.5GB xfs 錯誤: /dev/sdc: unrecognised disk label Model: VMware, VMware Virtual S (scsi) Disk /dev/sdc: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: unknown Disk Flags: Model: Linux device-mapper (linear) (dm) Disk /dev/mapper/cl-swap: 2147MB Sector size (logical/physical): 512B/512B Partition Table: loop Disk Flags: Number Start End Size File system 標誌 1 0.00B 2147MB 2147MB linux-swap(v1) Model: Linux device-mapper (linear) (dm) Disk /dev/mapper/cl-root: 29.0GB Sector size (logical/physical): 512B/512B Partition Table: loop Disk Flags: Number Start End Size File system 標誌 1 0.00B 29.0GB 29.0GB xfs
這裏咱們拋開已經作過度區和已經存在的物理卷的一些設備,其中/dev/sdb和/dev/sdc這兩個物理磁盤是須要咱們關注的。咱們能夠看到/dev/sdb這塊磁盤已經有了一個分區,分區號是1也就是/dev/sdb1分區(gpt分區表只展現分區號,只要將磁盤名稱拼上分區號就是分區名稱),而/dev/sdc磁盤並無作過度區。因此咱們首先須要使用 pvcreate 命令將/dev/sdb1和/dev/sdc格式化成PV:
[root@localnat201 ~]# pvcreate /dev/sdb1 /dev/sdc Physical volume "/dev/sdb1" successfully created. Physical volume "/dev/sdc" successfully created. [root@localnat201 ~]#
這裏能夠看到建立成功了,其中pvcreate是建立命令,後面參數是須要初始化的物理設備,多個設備之間使用空格分隔。咱們可使用 pvdisplay 命令或者 pvs 命令查看已經存在的PV信息:
[root@localnat201 ~]# pvcreate /dev/sdb1 /dev/sdc Physical volume "/dev/sdb1" successfully created. Physical volume "/dev/sdc" successfully created. [root@localnat201 ~]# clear [root@localnat201 ~]# pvdisplay --- Physical volume --- PV Name /dev/sda2 VG Name cl PV Size <29.00 GiB / not usable 3.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 7423 Free PE 1 Allocated PE 7422 PV UUID KdNi7s-YftA-YY9W-hK7a-PHw1-j7n2-ln4cLg "/dev/sdc" is a new physical volume of "20.00 GiB" --- NEW Physical volume --- PV Name /dev/sdc VG Name PV Size 20.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID AbmsNB-2NUK-IxJA-QYY7-N81f-avOz-wyMKiR "/dev/sdb1" is a new physical volume of "<20.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb1 VG Name PV Size <20.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID sts9D4-P47z-Qrj2-WaWX-9wEU-o8jo-Y70xgb [root@localnat201 ~]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 cl lvm2 a-- <29.00g 4.00m /dev/sdb1 lvm2 --- <20.00g <20.00g /dev/sdc lvm2 --- 20.00g 20.00g
若是有須要咱們也可使用 pvremove 命令刪除物理卷:
[root@localnat201 ~]# pvremove /dev/sdc Labels on physical volume "/dev/sdc" successfully wiped. [root@localnat201 ~]#
咱們能夠看到有三個設備已經被初始化成了PV,這裏不須要關注/dev/sda2分區,這是在安裝系統時自動初始化的PV,這裏/dev/sdb1分區和/dev/sdc磁盤是咱們此次初始化的PV。既然建立了PV那麼就須要VG(PV組)了,下面咱們來使用 vgcreate 命令來建立VG(卷組):
[root@localnat201 ~]# vgcreate myvg /dev/sdb1 Volume group "myvg" successfully created [root@localnat201 ~]#
能夠看見已經建立成功,其中vgcreate是建立命令myvg是這個VG組的名稱,/dev/sdb1是指將這個已經初始化成PV的設備添加套這個卷組中,若是須要添加多個設備使用空格分隔。咱們可使用 vgdisplay 或者 vgs 命令查看卷組信息:
[root@localnat201 ~]# vgdisplay --- Volume group --- VG Name cl System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size <29.00 GiB PE Size 4.00 MiB Total PE 7423 Alloc PE / Size 7422 / 28.99 GiB Free PE / Size 1 / 4.00 MiB VG UUID EZIlfD-2r61-x8RC-qLwl-Nsqp-D5zr-J8pPfI --- Volume group --- VG Name myvg System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size <20.00 GiB PE Size 4.00 MiB Total PE 5119 Alloc PE / Size 0 / 0 Free PE / Size 5119 / <20.00 GiB VG UUID dVW1W5-AMKN-xMEy-TGBs-QRF7-Nvvs-ZnFpLd [root@localnat201 ~]# vgs VG #PV #LV #SN Attr VSize VFree cl 1 2 0 wz--n- <29.00g 4.00m myvg 1 0 0 wz--n- <20.00g <20.00g
咱們能夠看到咱們建立的名稱爲myvg的卷組,大小爲小於20G,也就是說最大沒有20G可用,PE大小是4M,有5119個PE。若是有須要咱們可使用 vgremove 命令刪除卷組:
[root@localnat201 ~]# vgremove myvg Volume group "myvg" successfully removed [root@localnat201 ~]#
有了卷組,接下來咱們就能夠真正開始建立邏輯捲了,這裏使用 lvcreate -n 邏輯卷名稱 -l 邏輯卷PE數 卷組名 命令來建立邏輯卷:
[root@localnat201 ~]# lvcreate -n mylv -l 5119 myvg Logical volume "mylv" created. [root@localnat201 ~]#
在這裏能夠看到名稱爲mylv的邏輯卷建立成功,其中 -l 選項能夠換成 -L ,用來只用以磁盤大小爲單位的數值,好比說K、M、G、T等。可是這裏的VG可用大小是5119PE和小於20.0G,使用G作單位不知道具體小於多小,很差給定一個具體的值,因此這裏咱們使用PE做爲單位。接下來咱們可使用 lvdisplay 或者 lvs 命令查看邏輯卷信息:
[root@localnat201 ~]# lvdisplay --- Logical volume --- LV Path /dev/cl/swap LV Name swap VG Name cl LV UUID UzXXeu-TO2S-xXWF-ZZtt-Kq2L-JaAE-GLdRvQ LV Write Access read/write LV Creation host, time localhost.localdomain, 2017-12-01 18:58:38 +0800 LV Status available # open 2 LV Size 2.00 GiB Current LE 512 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:1 --- Logical volume --- LV Path /dev/cl/root LV Name root VG Name cl LV UUID emExFt-9Y5c-dEq7-2mPp-kiO0-03j4-4IxbsT LV Write Access read/write LV Creation host, time localhost.localdomain, 2017-12-01 18:58:39 +0800 LV Status available # open 1 LV Size 26.99 GiB Current LE 6910 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0 --- Logical volume --- LV Path /dev/myvg/mylv LV Name mylv VG Name myvg LV UUID KloMrL-XW8i-Eo2J-pdI3-f28r-s4gw-wIBSfB LV Write Access read/write LV Creation host, time localnat201, 2018-04-24 23:11:28 +0800 LV Status available # open 0 LV Size <20.00 GiB Current LE 5119 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2 [root@localnat201 ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root cl -wi-ao---- 26.99g swap cl -wi-ao---- 2.00g mylv myvg -wi-a----- <20.00g
這裏咱們能夠看到具體的邏輯卷信息了,咱們建立的這個邏輯卷在操做系統中映射的文件的據對路徑爲"/dev/myvg/mylv",可是通常邏輯卷會在"/dev/mapper"目錄下面建立一個軟鏈接"/dev/mapper/myvg-mylv",軟鏈接名稱爲卷組名稱加-再加上邏輯卷名稱。若是有必要咱們可使用 lvremove /dev/myvg/mylv 命令刪除邏輯卷。這個邏輯卷和物理分區同樣,須要先格式化成合適的文件系統,而後掛載到某一個目錄上就能夠了,格式化分區和掛載分區與上面fdisk分區中的方法同樣:
[root@localnat201 ~]# mkfs -t xfs /dev/myvg/mylv meta-data=/dev/myvg/mylv isize=512 agcount=4, agsize=1310464 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=5241856, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 [root@localnat201 ~]# mount /dev/myvg/mylv /data/ [root@localnat201 ~]# df -lh 文件系統 容量 已用 可用 已用% 掛載點 /dev/mapper/cl-root 27G 5.6G 22G 21% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 8.6M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 1014M 186M 829M 19% /boot tmpfs 378M 0 378M 0% /run/user/0 /dev/mapper/myvg-mylv 20G 33M 20G 1% /data
其中"/dev/mapper/myvg-mylv"是"/dev/myvg/mylv"的軟鏈接,這兩個路徑均可以對邏輯捲進項操做,至此邏輯卷的建立和格式化掛載完成。這時若是因爲邏輯卷空間滿了須要擴充,咱們可使用 vgs 命令查看還有沒有可供邏輯卷擴充的空間:
[root@localnat201 ~]# vgs VG #PV #LV #SN Attr VSize VFree cl 1 2 0 wz--n- <29.00g 4.00m myvg 1 1 0 wz--n- <20.00g 0 [root@localnat201 ~]#
咱們能夠看到,名稱爲myvg的卷組的自由空間已是0了,這個時候咱們須要線擴充vg。這是咱們可使用 pvs 命令查看有沒有可供vg擴充的pv:
[root@localnat201 ~]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 cl lvm2 a-- <29.00g 4.00m /dev/sdb1 myvg lvm2 a-- <20.00g 0 /dev/sdc lvm2 --- 20.00g 20.00g
這是咱們看到/dev/sdc這個pv並無被添加到某個vg中可使用,咱們使用 vgextend 命令擴充卷組:
[root@localnat201 ~]# vgextend myvg /dev/sdc Volume group "myvg" successfully extended [root@localnat201 ~]# vgdisplay --- Volume group --- VG Name cl System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size <29.00 GiB PE Size 4.00 MiB Total PE 7423 Alloc PE / Size 7422 / 28.99 GiB Free PE / Size 1 / 4.00 MiB VG UUID EZIlfD-2r61-x8RC-qLwl-Nsqp-D5zr-J8pPfI --- Volume group --- VG Name myvg System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 5 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 0 Max PV 0 Cur PV 2 Act PV 2 VG Size 39.99 GiB PE Size 4.00 MiB Total PE 10238 Alloc PE / Size 5119 / <20.00 GiB Free PE / Size 5119 / <20.00 GiB VG UUID dVW1W5-AMKN-xMEy-TGBs-QRF7-Nvvs-ZnFpLd
咱們能夠看到VG擴充成功,而且已經有了5119PE的自由空間。如今咱們就可使用這個剩餘空間擴充邏輯捲了,這裏咱們可使用 lvextend 命令擴充邏輯卷:
[root@localnat201 ~]# lvextend -l +5119 /dev/myvg/mylv Size of logical volume myvg/mylv changed from <20.00 GiB (5119 extents) to 39.99 GiB (10238 extents). Logical volume myvg/mylv successfully resized. [root@localnat201 ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root cl -wi-ao---- 26.99g swap cl -wi-ao---- 2.00g mylv myvg -wi-a----- 39.99g [root@localnat201 ~]# vgs VG #PV #LV #SN Attr VSize VFree cl 1 2 0 wz--n- <29.00g 4.00m myvg 2 1 0 wz--n- 39.99g 0 [root@localnat201 ~]# df -lh 文件系統 容量 已用 可用 已用% 掛載點 /dev/mapper/cl-root 27G 5.6G 22G 21% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 8.6M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 1014M 186M 829M 19% /boot tmpfs 378M 0 378M 0% /run/user/0 /dev/mapper/myvg-mylv 20G 33M 19.9G 1% /data
咱們能夠看到擴充邏輯捲成功,邏輯卷大小變成了39.9G了,而卷組剩餘大小變成了0。可是這是若是咱們直接將這個邏輯卷掛載到/data目錄下面,再使用 df -lh 命令查看,你就會發現邏輯卷大小並無發生變化,其實這是由於邏輯卷大小雖然擴充了,可是邏輯捲上面的文件系統並無更新,因此須要先更新文件系統才能真正使用到擴充後的空間。注意這裏使用 xfs_growfs /dev/myvg/mylv 命令更新一下文件系統,不能從新格式化整個分區的文件系統:
[root@localnat201 ~]# xfs_growfs /dev/m mapper/ mcelog mem midi mqueue/ myvg/ [root@localnat201 ~]# xfs_growfs /dev/myvg/mylv meta-data=/dev/mapper/myvg-mylv isize=512 agcount=4, agsize=1310464 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=5241856, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 5241856 to 10483712 [root@localnat201 ~]# df -lh 文件系統 容量 已用 可用 已用% 掛載點 /dev/mapper/cl-root 27G 5.6G 22G 21% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 8.6M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 1014M 186M 829M 19% /boot tmpfs 378M 0 378M 0% /run/user/0 /dev/mapper/myvg-mylv 40G 33M 40G 1% /data
咱們能夠看到,已經掛載的邏輯卷大小達到了40G,說明擴充分區成功了。這裏須要注意,因爲我是用的是xfs的文件系統,因此使用 xfs_growfs 命令來更新文件系統,若是是ext2/ext3/ext4等文件系統則需使用 resize2fs 命令來更新文件系統了。若是以爲麻煩,在這裏咱們也能夠直接使用 lvresize -l 2000 -r /dev/myvg/mylv 命令,能夠替代 lvextend 和 xfs_growfs/resize2fs 命令,這裏的大小若是前面有"+"號,則表明增長大小,若是沒有"+"可是設置的值比原來的大則也是增長大小。
在平時咱們不僅是須要擴充邏輯卷,還有可能須要收縮(減少)或者卸載邏輯卷,注意xfs文件系統只支持增大分區空間的狀況,不支持減少的狀況,硬要減少的話,只能在減少後將邏輯分區從新經過mkfs.xfs命令從新格式化才能掛載上,這樣的話這個邏輯分區上原來的數據就丟失了。可是ext文件系統能夠支持減少減少邏輯卷操做,接下來咱們作ext收縮邏輯卷操做。對邏輯捲進行收縮操做以前,若是邏輯卷已經掛載到了目錄上必須先卸載邏輯卷的掛載,而後縮小文件系統,最後纔是縮小邏輯卷,並且收縮的大小也不能超過剩餘空間大小。
[root@localnat201 ~]# umount /dev/myvg/mylv [root@localnat201 ~]#
卸載了邏輯卷的掛載以後,須要先收縮文件系統,這一步必定是要在收縮邏輯卷以前操做,在這以前我已經將邏輯卷格式化成了ext4的蓋世樂,因此這裏咱們使用 resize2fs 明來執行收縮操做:
[root@localnat201 ~]# resize2fs /dev/myvg/mylv 30G resize2fs 1.42.9 (28-Dec-2013) Resizing the filesystem on /dev/myvg/mylv to 7864320 (4k) blocks. The filesystem on /dev/myvg/mylv is now 7864320 blocks long. [root@localnat201 ~]#
而後將邏輯捲縮小:
[root@localnat201 ~]# lvreduce -L 30G /dev/myvg/mylv WARNING: Reducing active logical volume to 30.00 GiB. THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce myvg/mylv? [y/n]: y Size of logical volume myvg/mylv changed from 39.99 GiB (10238 extents) to 30.00 GiB (7680 extents). Logical volume myvg/mylv successfully resized. [root@localnat201 ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root cl -wi-ao---- 26.99g swap cl -wi-ao---- 2.00g mylv myvg -wi-a----- 30.00g [root@localnat201 ~]#
這裏縮小成功了,注意這裏沒有在30G前面加上減號,可是30G原本就比原來的40G要小,因此是縮小操做。接下來只要在掛載,那麼本次縮小邏輯卷操做就完成了:
[root@localnat201 ~]# mount /dev/myvg/mylv /data/ [root@localnat201 ~]# df -Th 文件系統 類型 容量 已用 可用 已用% 掛載點 /dev/mapper/cl-root xfs 27G 5.6G 22G 21% / devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs tmpfs 1.9G 8.6M 1.9G 1% /run tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 xfs 1014M 186M 829M 19% /boot tmpfs tmpfs 378M 0 378M 0% /run/user/0 /dev/mapper/myvg-mylv ext4 30G 45M 28G 1% /data [root@localnat201 ~]#
這裏若是以爲麻煩,可使用 lvresize -l 30G -r /dev/vg2/xfstest 命令替代 lvextend 和 resize2fs 命令:
[root@localnat201 ~]# lvresize -L 20G -r /dev/myvg/mylv Do you want to unmount "/data"? [Y|n] y fsck,來自 util-linux 2.23.2 /dev/mapper/myvg-mylv: 11/1966080 files (0.0% non-contiguous), 167453/7864320 blocks resize2fs 1.42.9 (28-Dec-2013) Resizing the filesystem on /dev/mapper/myvg-mylv to 5242880 (4k) blocks. The filesystem on /dev/mapper/myvg-mylv is now 5242880 blocks long. Size of logical volume myvg/mylv changed from 30.00 GiB (7680 extents) to 20.00 GiB (5120 extents). Logical volume myvg/mylv successfully resized. [root@localnat201 ~]# df -Th 文件系統 類型 容量 已用 可用 已用% 掛載點 /dev/mapper/cl-root xfs 27G 5.6G 22G 21% / devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs tmpfs 1.9G 8.6M 1.9G 1% /run tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 xfs 1014M 186M 829M 19% /boot tmpfs tmpfs 378M 0 378M 0% /run/user/0 /dev/mapper/myvg-mylv ext4 20G 45M 19G 1% /data
咱們能夠看到也縮小成功了,至此邏輯卷的操做也都已經完成。