1. 程式人生 > 實用技巧 >記錄linux LVM 擴容硬碟空間的記錄

記錄linux LVM 擴容硬碟空間的記錄

你看到的這個文章來自於http://www.cnblogs.com/ayanmw

從2008年學linux的時候就知道有LVM這個東西,那個時候還是ext3檔案系統,LVM邏輯卷管理,可以動態管理磁碟。

今天終於有這個需求了,硬碟空間200GB太小了,使用vmware vSphere 直接給linux的硬碟追加了100GB的磁碟,看看怎麼把這100GB新增到系統中去;

首先確定下基本概念:

pv=phisycal volumn 物理卷

vg=volumn group 邏輯卷組
lv=logic volumn 邏輯卷

Physical volume (PV物理卷)、Volume group (VG卷組)、Logical volume(LV邏輯卷)

順序是先定義 PV 物理卷;

然後定義一個 VG 分組,必須指定名稱,比如 cl ; 一個分組可以包含多個PV物理卷;

根據VG分組,進行LV邏輯卷的分割槽操作, VG下就像是硬碟分割槽一樣, 比如 home, root swap 分別分配大小

相關資訊檢視命令為:

1 2 3 4 5 6 7 8 9 10 11 12 [root@h5_242 ~]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 cl lvm2 a-- <199.00g 0 /dev/sda3 cl lvm2 a-- <100.00g 0 [root@h5_242 ~]# vgs
VG #PV #LV #SN Attr VSize VFree cl 2 3 0 wz--n- 298.99g 0 [root@h5_242 ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert home cl -wi-ao---- <241.12g root cl -wi-ao---- 50.00g swap cl -wi-ao---- <7.88g
全域性分割槽檢視
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #fdisk -l 磁碟 /dev/sda:322.1 GB, 322122547200 位元組,629145600 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 位元組 / 512 位元組 I/O 大小(最小/最佳):512 位元組 / 512 位元組 磁碟標籤型別:dos 磁碟識別符號:0x00046755 裝置 Boot Start End Blocks Id System /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 419430399 208665600 8e Linux LVM /dev/sda3 419430400 629145599 104857600 83 Linux 磁碟 /dev/mapper/cl-root:53.7 GB, 53687091200 位元組,104857600 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 位元組 / 512 位元組 I/O 大小(最小/最佳):512 位元組 / 512 位元組 磁碟 /dev/mapper/cl-swap:8455 MB, 8455716864 位元組,16515072 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 位元組 / 512 位元組 I/O 大小(最小/最佳):512 位元組 / 512 位元組 磁碟 /dev/mapper/cl-home:258.9 GB, 258897608704 位元組,505659392 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 位元組 / 512 位元組 I/O 大小(最小/最佳):512 位元組 / 512 位元組  
#fdisk分割槽以後, 需要執行下面的命令 才能不重啟linux 就立刻生效
partprobe /dev/sda3

新掛載的SCSI硬碟需要執行命令才能重新整理(不必重啟)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ls/dev/sd* #強制核心再次檢測PCI裝置 ls/sys/class/scsi_host echo'- - -'>/sys/class/scsi_host/host0/scan ls/dev/sd* tail-f/var/log/message # 還可以嘗試 scsi 裝置重新整理 cat/proc/scsi/scsi # re-scan SCSI 匯流排 echo"scsi add-single-device 0 0 1 0">/proc/scsi/scsi #重新整理 新分割槽表資訊 yum -yinstallparted partprobe

  

1 <br><br>

PV VG LV (物理卷 邏輯卷分組 邏輯卷) 相關命令為:

1 2 3 4 5 6 7 8 9 [root@h5_242 ~]# pv pv pvchange pvck pvcreate pvdisplay pvmove pvremove pvresize pvs pvscan [root@h5_242 ~]# vg vgcfgbackup vgchange vgconvert vgdisplay vgextend vgimportclone vgmknodes vgremove vgs vgsplit vgcfgrestore vgck vgcreate vgexport vgimport vgmerge vgreduce vgrename vgscan [root@h5_242 ~]# lv lvchange lvcreate lvextend lvmconf lvmdiskscan lvmetad lvmsadc lvreduce lvrename lvs lvconvert lvdisplay lvm lvmconfig lvmdump lvmpolld lvmsar lvremove lvresize lvscan [root@h5_242 ~]#

  建立物理卷:

1 2 3 4 pvcreate /dev/sda3 WARNING: ext3 signature detectedon/dev/sda3 at offset 1080. Wipe it? [y/n]: y Wiping ext3 signatureon/dev/sda3. Physical volume"/dev/sda3"successfully created.


lvm> pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 cl lvm2 a-- <199.00g 4.00m
/dev/sda3 lvm2 --- 100.00g 100.00g

  把物理卷 新增到 卷分組中

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 lvm> vgs VG #PV #LV #SN Attr VSize VFree cl 1 3 0 wz--n- <199.00g 4.00m lvm> vgcreate cl2 /dev/sda3 Volumegroup"cl2"successfully created ####檢視新建成功 lvm> vgs VG #PV #LV #SN Attr VSize VFree cl 1 3 0 wz--n- <199.00g 4.00m cl2 1 0 0 wz--n- <100.00g <100.00g #### 發現兩個不好,合併一下 , 因為直接 擴充套件不可以 lvm> vgextend cl2 cl Device cl not found. lvm> vgextend cl /dev/sda3 Physical volume'/dev/sda3'isalreadyinvolumegroup'cl2' Unable to add physical volume'/dev/sda3'to volumegroup'cl2' /dev/sda3: physical volume not initialized. ##### 合併兩個 volum group lvm> vgmerge cl cl2 Volumegroup"cl2"successfully mergedinto"cl" lvm> vgs VG #PV #LV #SN Attr VSize VFree cl 2 3 0 wz--n- 298.99g 100.00g

  根據VG 邏輯分組 進行擴容處理

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 lvm> lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert home cl -wi-ao---- <141.12g root cl -wi-ao---- 50.00g swap cl -wi-ao---- <7.88g lvm> lvdisplay --- Logical volume --- LV Path /dev/cl/swap LV Name swap VG Name cl LV UUID CjWBE7-OuOo-NIkk-O6t6-qUGK-w1P3-mUXHJQ LV Write Access read/write LV Creation host, time localhost.localdomain, 2018-07-10 10:51:18 +0800 LV Status available # open 2 LV Size <7.88 GiB Current LE 2016 Segments 1 Allocation inherit Read ahead sectors auto - currentlysetto 8192 Block device 253:1 --- Logical volume --- LV Path /dev/cl/home LV Name home VG Name cl LV UUID O39uaO-cs4p-3xnX-TQre-97RW-UjQI-2zQHOv LV Write Access read/write LV Creation host, time localhost.localdomain, 2018-07-10 10:51:19 +0800 LV Status available # open 1 LV Size <141.12 GiB Current LE 36126 Segments 1 Allocation inherit Read ahead sectors auto - currentlysetto 8192 Block device 253:2 --- Logical volume --- LV Path /dev/cl/root LV Name root VG Name cl LV UUID 46CDUc-5p7Q-9hD5-22vp-YPUl-DSMN-7aQ5Dr LV Write Access read/write LV Creation host, time localhost.localdomain, 2018-07-10 10:51:22 +0800 LV Status available # open 1 LV Size 50.00 GiB Current LE 12800 Segments 1 Allocation inherit Read ahead sectors auto - currentlysetto 8192 Block device 253:0 ######### 進行 Logic Volumn 的擴容處理 lvm> lvextend -L +100G /dev/cl/home Size of logical volume cl/home changedfrom<141.12 GiB (36126 extents) to <241.12 GiB (61726 extents). Logical volume cl/home successfully resized.

lvm> lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home cl -wi-ao---- <241.12g
root cl -wi-ao---- 50.00g
swap cl -wi-ao---- <7.88g

1 <br><br>

  發現雖然擴容成功,但是沒有生效。

使用 resizee2fs 無效, 因為磁碟分割槽不符合

1 2 3 [root@h5_242 ~]# resize2fs /dev/cl/home resize2fs 1.42.9 (28-Dec-2013) resize2fs: Bad magic numberinsuper-block 當嘗試開啟 /dev/cl/home 時

  

使用xfs_growfs 命令 成功更新系統

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 [root@h5_242 ~]# xfs_growfs /dev/mapper/cl-home meta-data=/dev/mapper/cl-home isize=512 agcount=4, agsize=9248256 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=36993024, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internalbsize=4096 blocks=18063, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changedfrom36993024 to 63207424 [root@h5_242 ~]# [root@h5_242 ~]# [root@h5_242 ~]# df -h 檔案系統 容量 已用 可用 已用% 掛載點 /dev/mapper/cl-root 50G 6.0G 45G 12% / devtmpfs 2.9G 0 2.9G 0% /dev tmpfs 2.9G 0 2.9G 0% /dev/shm tmpfs 2.9G 26M 2.9G 1% /run tmpfs 2.9G 0 2.9G 0% /sys/fs/cgroup /dev/sda1 1014M 219M 796M 22% /boot /dev/mapper/cl-home 242G 131G 111G 55% /home tmpfs 581M 0 581M 0% /run/user/0 tmpfs 581M 0 581M 0% /run/user/1001 tmpfs 581M 0 581M 0% /run/user/1028 tmpfs 581M 0 581M 0% /run/user/1016 tmpfs 581M 0 581M 0% /run/user/1021

  

------------------------------------------

參考連結:https://www.linuxidc.com/Linux/2015-10/123960.htm

Centos 7.5 利用LVM實現動態擴容大小
作業系統:Centos 7.5 64位

說明:當有在作業系統時發現磁碟空間不足時,可以通過增加磁碟空間大小來滿足,但是以哪種方式來增加可能有不同方法,現在針對作業系統在安裝採用LVM方式來動態調整磁碟空間大小,

知識點解釋:

LVM是邏輯盤卷管理(Logical VolumeManager)的簡稱,它是Linux環境下對磁碟分割槽進行管理的一種機制,LVM是建立在硬碟和分割槽之上的一個邏輯層,來提高磁碟分割槽管理的靈活性。通過LVM系統管理員可以輕鬆管理磁碟分割槽,如:將若干個磁碟分割槽連線為一個整塊的卷組(volumegroup),形成一個儲存池。管理員可以在卷組上隨意建立邏輯卷組(logicalvolumes),並進一步在邏輯卷組上建立檔案系統。管理員通過LVM可以方便的調整儲存卷組的大小,並且可以對磁碟儲存按照組的方式進行命名、管理和分配

Linux的LVM非常強大,可以在生產執行系統上面直接線上擴充套件硬碟分割槽,可以把分割槽umount以後收縮分割槽大小,還可以在系統執行過程中把一個分割槽從一塊硬碟搬到另一塊硬碟上面去等等,簡直就像變魔術,而且這一切都可以在一個繁忙執行的系統上面直接操作,不會對你的系統執行產生任何影響,很安全。

LVM使用有侷限性。雖然能很方便的擴容和縮容磁碟的空間(擴容磁碟大小,檔案不丟失),但是一旦出現問題,資料丟失,想要恢復資料就有點困難!

三步:

①建立一個物理分割槽-搞成物理卷②製作成一個卷組③劃分成邏輯卷

1.如果在安裝系統時選擇是以LVM方式安裝的話,可以通過已經安裝好後系統磁碟查詢
[root@localhost ~]# df -h
檔案系統 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root 70G 9.4G 61G 14% /
devtmpfs 4.8G 0 4.8G 0% /dev
tmpfs 4.9G 0 4.9G 0% /dev/shm
tmpfs 4.9G 9.5M 4.8G 1% /run
tmpfs 4.9G 0 4.9G 0% /sys/fs/cgroup
/dev/sda1 1014M 171M 844M 17% /boot
/dev/mapper/centos-home 27G 37M 27G 1% /home
tmpfs 984M 12K 984M 1% /run/user/42
tmpfs 984M 0 984M 0% /run/user/0

說明:centos-root 和centos-home 是通過LVM方式來配置的

2、使用df -T -h命令檢視作業系統的檔案型別
[root@localhost ~]# df -T -h
檔案系統 型別 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root xfs 70G 9.4G 61G 14% /
devtmpfs devtmpfs 4.8G 0 4.8G 0% /dev
tmpfs tmpfs 4.9G 0 4.9G 0% /dev/shm
tmpfs tmpfs 4.9G 9.5M 4.8G 1% /run
tmpfs tmpfs 4.9G 0 4.9G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 171M 844M 17% /boot
/dev/mapper/centos-home xfs 27G 37M 27G 1% /home
tmpfs tmpfs 984M 12K 984M 1% /run/user/42
tmpfs tmpfs 984M 0 984M 0% /run/user/0

說明:通過查詢發現作業系統的檔案格式是:xfs

3.檢視卷組名稱及卷組使用情況 vgdisplay
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name centos --VG名稱
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size 98.99 GiB --總共的空間大小
PE Size 4.00 MiB
Total PE 25342
Alloc PE / Size 25341 / <98.99 GiB
Free PE / Size 1 / 4.00 MiB
VG UUID oCJsUm-wF9P-a0Pc-rLvl-aCa1-0Inr-psWPzn

4.檢視當前邏輯卷的空間狀態,如下內容:/ 70G、/home 26G、swap 2G
[root@localhost ~]# lvdisplay
--- Logical volume ---
LV Path /dev/centos/root
LV Name root
VG Name centos
LV UUID 0F9zrD-AfsY-teOk-OLqB-ZKa7-6fcZ-aVQ0VM
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2018-09-14 17:08:41 +0800
LV Status available
# open 1
LV Size 70.00 GiB
Current LE 17920
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0

--- Logical volume ---
LV Path /dev/centos/home
LV Name home
VG Name centos
LV UUID v64Mg2-gDRG-UGoe-InX6-qqsG-GuiD-eRrcs8
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2018-09-14 17:08:42 +0800
LV Status available
# open 1
LV Size <26.99 GiB
Current LE 6909
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2

--- Logical volume ---
LV Path /dev/centos/swap
LV Name swap
VG Name centos
LV UUID 0le8V4-P7XQ-jtC7-7xtY-wKUv-dcNe-mJrB4T
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2018-09-14 17:08:43 +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

5.現在感覺/ 70G不夠用,想擴容增加300G,新插入一塊300G硬碟;用‘fdisk -l’檢視
[root@localhost ~]# fdisk -l

磁碟 /dev/sda:107.4 GB, 107374182400 位元組,209715200 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組
磁碟標籤型別:dos
磁碟識別符號:0x0004c640

裝置 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 209707007 103803904 8e Linux LVM

磁碟 /dev/sdb:322.1 GB, 322122547200 位元組,629145600 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組


磁碟 /dev/mapper/centos-root:75.2 GB, 75161927680 位元組,146800640 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組


磁碟 /dev/mapper/centos-swap:2147 MB, 2147483648 位元組,4194304 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組


磁碟 /dev/mapper/centos-home:29.0 GB, 28978446336 位元組,56598528 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組

[root@localhost ~]# df -h
檔案系統 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root 70G 9.4G 61G 14% /
devtmpfs 4.8G 0 4.8G 0% /dev
tmpfs 4.9G 0 4.9G 0% /dev/shm
tmpfs 4.9G 9.5M 4.8G 1% /run
tmpfs 4.9G 0 4.9G 0% /sys/fs/cgroup
/dev/sda1 1014M 171M 844M 17% /boot
/dev/mapper/centos-home 27G 37M 27G 1% /home
tmpfs 984M 12K 984M 1% /run/user/42
tmpfs 984M 0 984M 0% /run/user/0

6、格式化/dev/sdb磁碟

[root@localhost ~]# fdisk /dev/sdb
歡迎使用 fdisk (util-linux 2.23.2)。

更改將停留在記憶體中,直到您決定將更改寫入磁碟。
使用寫入命令前請三思。

Device does not contain a recognized partition table
使用磁碟識別符號 0xbe0b32e5 建立新的 DOS 磁碟標籤。

命令(輸入 m 獲取幫助):p

磁碟 /dev/sdb:322.1 GB, 322122547200 位元組,629145600 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組
磁碟標籤型別:dos
磁碟識別符號:0xbe0b32e5

裝置 Boot Start End Blocks Id System

命令(輸入 m 獲取幫助):m
命令操作
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

命令(輸入 m 獲取幫助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分割槽號 (1-4,預設 1):
起始 扇區 (2048-629145599,預設為 2048):
將使用預設值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-629145599,預設為 629145599):
將使用預設值 629145599
分割槽 1 已設定為 Linux 型別,大小設為 300 GiB

命令(輸入 m 獲取幫助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁碟。

7、將 /dev/sdb配置為LVM格式
[root@localhost ~]# fdisk /dev/sdb
歡迎使用 fdisk (util-linux 2.23.2)。

更改將停留在記憶體中,直到您決定將更改寫入磁碟。
使用寫入命令前請三思。


命令(輸入 m 獲取幫助):t
已選擇分割槽 1
Hex 程式碼(輸入 L 列出所有程式碼):l


Hex 程式碼(輸入 L 列出所有程式碼):8e
已將分割槽“Linux”的型別更改為“Linux LVM”

命令(輸入 m 獲取幫助):p

磁碟 /dev/sdb:322.1 GB, 322122547200 位元組,629145600 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組
磁碟標籤型別:dos
磁碟識別符號:0xbe0b32e5

裝置 Boot Start End Blocks Id System
/dev/sdb1 2048 629145599 314571776 8e Linux LVM

命令(輸入 m 獲取幫助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁碟。

8、查詢配置為LVM格式後結果如下:

[root@localhost ~]# fdisk -l

磁碟 /dev/sda:107.4 GB, 107374182400 位元組,209715200 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組
磁碟標籤型別:dos
磁碟識別符號:0x0004c640

裝置 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 209707007 103803904 8e Linux LVM

磁碟 /dev/sdb:322.1 GB, 322122547200 位元組,629145600 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組
磁碟標籤型別:dos
磁碟識別符號:0xbe0b32e5

裝置 Boot Start End Blocks Id System
/dev/sdb1 2048 629145599 314571776 8e Linux LVM

磁碟 /dev/mapper/centos-root:75.2 GB, 75161927680 位元組,146800640 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組


磁碟 /dev/mapper/centos-swap:2147 MB, 2147483648 位元組,4194304 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組


磁碟 /dev/mapper/centos-home:29.0 GB, 28978446336 位元組,56598528 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組

9.將新加的分割槽 /dev/sdb1 建立為物理卷
[root@localhost ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created.

10.給卷組‘centos ’擴容,將物理卷 /dev/sdb1 擴充套件至‘centos ’卷組

[root@localhost ~]# vgextend centos /dev/sdb1
Volume group "centos" successfully extended

10.此時卷組‘centos ’有300G空餘空間,及 /dev/sdb1,將其全部擴充套件至 /home
root@localhost ~]# lvextend -l +100%FREE /dev/mapper/centos-home
Size of logical volume centos/home changed from <26.99 GiB (6909 extents) to <326.99 GiB (83709 extents).
Logical volume centos/home successfully resized.

11.發現擴充套件錯分割槽了,把第10步的增加空間給縮小回去到原來值,26G

[root@localhost ~]# lvreduce -L -300G /dev/mapper/centos-home
WARNING: Reducing active and open logical volume to <26.99 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce centos/home? [y/n]: yes
Size of logical volume centos/home changed from <326.99 GiB (83709 extents) to <26.99 GiB (6909 extents).
Logical volume centos/home successfully resized.

12.重新把PV中的300G多餘空間分配給LV為root
[root@localhost ~]# lvextend -l +100%FREE /dev/mapper/centos-root
Size of logical volume centos/root changed from 70.00 GiB (17920 extents) to 370.00 GiB (94720 extents).
Logical volume centos/root successfully resized.

13.此時300G磁碟雖已擴充套件至 /root,但並沒寫入檔案系統;進入 /etc/fstab 確認 /root 檔案系統--->xfs檔案系統
[root@localhost ~]# more /etc/fstab

#
# /etc/fstab
# Created by anaconda on Fri Sep 14 17:08:44 2018
#
# 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
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=28137713-1148-49bc-b74d-7ac9bdf0bc1b /boot xfs defaults 0 0
/dev/mapper/centos-home /home xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0

14、用xfs_growfs 命令把檔案寫入系統中,使擴容生效
[root@localhost ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=4587520 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=18350080, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=8960, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 18350080 to 96993280

說明:若使用ext4檔案格式的,是使用resize2fs命令來生效

15.檢視擴容後的硬碟空間小,如下內容則說明,已實現擴容。大功告成!
[root@localhost ~]# df -h
檔案系統 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root 370G 9.4G 361G 3% /
devtmpfs 4.8G 0 4.8G 0% /dev
tmpfs 4.9G 0 4.9G 0% /dev/shm
tmpfs 4.9G 9.5M 4.8G 1% /run
tmpfs 4.9G 0 4.9G 0% /sys/fs/cgroup
/dev/sda1 1014M 171M 844M 17% /boot
/dev/mapper/centos-home 27G 37M 27G 1% /home
tmpfs 984M 12K 984M 1% /run/user/42
tmpfs 984M 0 984M 0% /run/user/0

本次擴容指令彙總:
1.建立分割槽 #fdisk /dev/sdb

2.建立物理卷 #pvcreat /dev/sdb1

3.檢視卷組名稱及使用情況 #vgdisplay

4.將物理卷擴充套件到卷組 #vgextend cl /dev/sdb1(此處‘cl’是卷組名稱)

5.將卷組中空閒空間擴充套件到 /home #lvextend -l +100%FREE /dev/mapper/cl-home

6.重新整理檔案系統是擴容生效xfs_growfs /dev/mapper/centos-root

7.若是ext4檔案格式使用擴容生效 #resize2fs /dev/mapper/centos-home

相關LVM知識點如下:
這裡總結下擴充套件與縮小LV的實施順序:

擴充套件LV

1、解除安裝LV

命令:umount “掛載目錄”

2、擴充套件LV

命令:lvextend -L +500m /dev/lv00/lv01 或者 lvresize -L 5G /dev/lv00/lv01

lvextend 表示增加500M,lvresize表示增加到5G,是調整後的容量。

3、檢查檔案系統

命令:fsck -f /dev/vg00/lv01

4、重建檔案系統

  命令:resize2fs /dev/lv00/lv01

這一步很關鍵,重建檔案系統不用擔心LV的資料會丟失,當然,以防萬一,也可以先備份下LV裡的資料。

5、掛載LV

命令:mount /dev/lv001/lv01 /opt

縮小LV

  縮小LV需要事先知道LV中的資料容量大小,縮小容量值不應超過剩餘空間容量,而且要知道減少LV容量後的新大小。可以通過lvscan來檢視LV容量,通過vgdisplay來檢視剩餘容量。

1、解除安裝LV

命令:umount “掛載目錄”

2、檢查檔案系統

命令:fsck -f /dev/lv00/lv01

3、調整LV大小並重建檔案系統

命令:resize2fs /dev/vg00/lv01 2G

4、減小LV容量

命令:lvreduce -L -3G /dev/vg00/lv01

5、掛載LV

  命令:mount /dev/lv001/lv01 /opt
————————————————
版權宣告:本文為CSDN博主「賈維斯部落格」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/u010735147/java/article/details/84254926

轉載請註明出處:http://www.cnblogs.com/ayanmw 我會很高興的!