溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》
  • 首頁 > 
  • 教程 > 
  • 服務(wù)器 > 
  • Linux中對lvm邏輯卷分區(qū)大小的調(diào)整教程(針對xfs與ext4不同文件系統(tǒng))

Linux中對lvm邏輯卷分區(qū)大小的調(diào)整教程(針對xfs與ext4不同文件系統(tǒng))

發(fā)布時間:2020-09-21 16:49:58 來源:腳本之家 閱讀:120 作者:散盡浮華 欄目:服務(wù)器

前言

當(dāng)我們在安裝系統(tǒng)的時候,由于沒有合理分配分區(qū)空間,在后續(xù)維護過程中,發(fā)現(xiàn)有些分區(qū)空間不夠使用,而有的分區(qū)空間卻有很多剩余空間。如果這些分區(qū)在裝系統(tǒng)的時候使用了lvm(前提是這些分區(qū)要是lvm邏輯卷分區(qū)),那么就可以輕松進行擴容或縮容!不同文件系統(tǒng)類型所對應(yīng)的創(chuàng)建、檢查、調(diào)整命令不同,下面就針對xfs和ext2/3/4文件系統(tǒng)的lvm分區(qū)空間的擴容和縮容的操作做一記錄:

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

特別注意的是:

  • resize2fs命令            針對的是ext2、ext3、ext4文件系統(tǒng)
  • xfs_growfs命令         針對的是xfs文件系統(tǒng)

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

1)ext2/ext3/ext4文件系統(tǒng)的調(diào)整命令是resize2fs(增大和減小都支持)

lvextend -L 120G /dev/mapper/centos-home  //增大至120G
lvextend -L +20G /dev/mapper/centos-home  //增加20G
lvreduce -L 50G /dev/mapper/centos-home  //減小至50G
lvreduce -L -8G /dev/mapper/centos-home  //減小8G
resize2fs /dev/mapper/centos-home   //執(zhí)行調(diào)整

2)xfs文件系統(tǒng)的調(diào)整命令是xfs_growfs(只支持增大)

lvextend -L 120G /dev/mapper/centos-home //增大至120G
lvextend -L +20G /dev/mapper/centos-home //增加20G
xfs_growfs /dev/mapper/centos-home   //執(zhí)行調(diào)整

就是說:xfs文件系統(tǒng)只支持增大分區(qū)空間的情況,不支持減小的情況(切記?。。。。。?。

硬要減小的話,只能在減小后將邏輯分區(qū)重新通過mkfs.xfs命令重新格式化才能掛載上,這樣的話這個邏輯分區(qū)上原來的數(shù)據(jù)就丟失了。如果有重要文件,那就歇菜嘍~~~

實例1(當(dāng)系統(tǒng)上還有空閑空間的時候)

1)查看分區(qū)空間。如下可知是xfs文件系統(tǒng)(df的-T參數(shù)就能看出文件格式)。

[root@localhost ~]# df -hT
文件系統(tǒng)    類型  容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root xfs  200G 2.2G 198G 2% /
devtmpfs    devtmpfs 32G  0 32G 0% /dev
tmpfs     tmpfs  32G  0 32G 0% /dev/shm
tmpfs     tmpfs  32G 49M 32G 1% /run
tmpfs     tmpfs  32G  0 32G 0% /sys/fs/cgroup
/dev/sda1    xfs  197M 139M 59M 71% /boot
tmpfs     tmpfs  6.3G  0 6.3G 0% /run/user/0
/dev/mapper/centos-home xfs  628G 33M 718G 1% /home

2)使用vgdisplay命令查看系統(tǒng)上的空閑空間

root@localhost ~]# vgdisplay
 --- Volume group ---
 VG Name    centos
 System ID   
 Format    lvm2
 Metadata Areas  1
 Metadata Sequence No 6
 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    930.80 GiB
 PE Size    4.00 MiB
 Total PE    238285
 Alloc PE / Size  212736 / 831.00 GiB
 Free PE / Size  25549 / 99.80 GiB  //這一項表示目前該系統(tǒng)上還存在99.80G的空閑空間(25549)
 VG UUID    a5hiAh-LB8M-9lRv-Ps1a-z35L-J4fk-sP3KrF

3) 將上面查到的空閑空間中的90G增減到/home分區(qū)上

[root@localhost ~]# lvextend -L +90G /dev/mapper/centos-home  //或者使用-l參數(shù)(跟PE數(shù)量),即lvextend -l +25500 /dev/mapper/centos-home
 Size of logical volume centos/home changed from 628.00 GiB (160768 extents) to 718.00 GiB (183808 extents).
 Logical volume centos/home successfully resized.
 
[root@localhost ~]# xfs_growfs /dev/mapper/centos-home
meta-data=/dev/mapper/centos-home isize=512 agcount=4, agsize=41156608 blks
   =      sectsz=512 attr=2, projid32bit=1
   =      crc=1  finobt=0 spinodes=0
data  =      bsize=4096 blocks=164626432, imaxpct=25
   =      sunit=0  swidth=0 blks
naming =version 2    bsize=4096 ascii-ci=0 ftype=1
log  =internal    bsize=4096 blocks=80384, version=2
   =      sectsz=512 sunit=0 blks, lazy-count=1
realtime =none     extsz=4096 blocks=0, rtextents=0
data blocks changed from 164626432 to 188219392

4)再次看著系統(tǒng)分區(qū),發(fā)現(xiàn)home分區(qū)已經(jīng)增加了90G(這種方式增加后,home分區(qū)之前的數(shù)據(jù)還不會丟失)

[root@localhost ~]# df -h
文件系統(tǒng)     容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root 200G 2.2G 198G 2% /
devtmpfs     32G  0 32G 0% /dev
tmpfs      32G  0 32G 0% /dev/shm
tmpfs      32G 49M 32G 1% /run
tmpfs      32G  0 32G 0% /sys/fs/cgroup
/dev/sda1    197M 139M 59M 71% /boot
tmpfs     6.3G  0 6.3G 0% /run/user/0
/dev/mapper/centos-home 718G 33M 718G 1% /home

雖然xfs文件系統(tǒng)只支持增加,不支持減少。但并不是說在xfs系統(tǒng)文件下不能減小,只是減小后,需要重新格式化才能掛載上。這樣原來的數(shù)據(jù)就丟失了!

實例2: 這種情況只適用于系統(tǒng)剛安裝好,邏輯分區(qū)內(nèi)沒有什么數(shù)據(jù)或數(shù)據(jù)不多且不重要可以刪除或拷貝的情況下

系統(tǒng)安裝好后,發(fā)現(xiàn)home分區(qū)過大,想從home分區(qū)中拿出100G給/分區(qū)

[root@localhost ~]# df -hT
文件系統(tǒng)    類型  容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root xfs  205G 2.2G 203G 2% /
devtmpfs    devtmpfs 32G  0 32G 0% /dev
tmpfs     tmpfs  32G  0 32G 0% /dev/shm
tmpfs     tmpfs  32G 49M 32G 1% /run
tmpfs     tmpfs  32G  0 32G 0% /sys/fs/cgroup
/dev/sda1    xfs  197M 139M 59M 71% /boot
tmpfs     tmpfs  6.3G  0 6.3G 0% /run/user/0
/dev/mapper/centos-home xfs  718G 33M 718G 1% /home
 
[root@localhost ~]# umount /home/
 
[root@localhost ~]# lvreduce -L -100G /dev/mapper/centos-home
 WARNING: Reducing active logical volume to 618.00 GiB.
 THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce centos/home? [y/n]: y
 Size of logical volume centos/home changed from 718.00 GiB (183808 extents) to 618.00 GiB (158208 extents).
 Logical volume centos/home successfully resized.

如下,很顯然xfs文件系統(tǒng)不能執(zhí)行分區(qū)減小的調(diào)整!

[root@localhost ~]# xfs_growfs /dev/mapper/centos-home
xfs_growfs: /dev/mapper/centos-home is not a mounted XFS filesystem
[root@localhost ~]# mount /dev/mapper/centos-home /home/
mount: /dev/mapper/centos-home:不能讀超級塊

這樣,只能通過重新格式化這個分區(qū),格式化后才能再次掛載到home下

[root@localhost ~]# mkfs.xfs /dev/mapper/centos-home -f
meta-data=/dev/mapper/centos-home isize=512 agcount=4, agsize=41156608 blks
   =      sectsz=512 attr=2, projid32bit=1
   =      crc=1  finobt=0, sparse=0
data  =      bsize=4096 blocks=164626432, imaxpct=25
   =      sunit=0  swidth=0 blks
naming =version 2    bsize=4096 ascii-ci=0 ftype=1
log  =internal log   bsize=4096 blocks=80384, version=2
   =      sectsz=512 sunit=0 blks, lazy-count=1
realtime =none     extsz=4096 blocks=0, rtextents=0
 
[root@localhost ~]# mount /dev/mapper/centos-home /home/

再次查看分區(qū),發(fā)現(xiàn)home分區(qū)已經(jīng)減小了100G,只不過這個分區(qū)里之前的數(shù)據(jù)都沒有了。

[root@localhost ~]# df -hT  
文件系統(tǒng)     類型  容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root xfs  205G 2.2G 203G 2% /
devtmpfs    devtmpfs 32G  0 32G 0% /dev
tmpfs     tmpfs  32G  0 32G 0% /dev/shm
tmpfs     tmpfs  32G 49M 32G 1% /run
tmpfs     tmpfs  32G  0 32G 0% /sys/fs/cgroup
/dev/sda1    xfs  197M 139M 59M 71% /boot
tmpfs     tmpfs  6.3G  0 6.3G 0% /run/user/0
/dev/mapper/centos-home xfs  618G 73M 578G 1% /home

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

上面在重新格式的時候,也可以將這個格式化為ext4格式。

[root@localhost ~]# mkfs.ext4 /dev/mapper/centos-home
[root@localhost ~]# cat /etc/fstab //將home分區(qū)的開機掛載設(shè)置里的xfs改為ext4

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

然后將上面從home分區(qū)拿出的100G放到/分區(qū)下

[root@localhost ~]# vgdisplay
 --- Volume group ---
 VG Name    centos
 System ID   
 Format    lvm2
 Metadata Areas  1
 Metadata Sequence No 9
 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    930.80 GiB
 PE Size    4.00 MiB
 Total PE    238285
 Alloc PE / Size  211456 / 826.00 GiB
 Free PE / Size  26829 / 104.80 GiB
 VG UUID    a5hiAh-LB8M-9lRv-Ps1a-z35L-J4fk-sP3KrF
  
[root@localhost ~]# lvextend -L +100G /dev/mapper/centos-root
 Size of logical volume centos/root changed from 205.00 GiB (52480 extents) to 305.00 GiB (78080 extents).
 Logical volume centos/root successfully resized.
 
[root@localhost ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=256 agcount=5, agsize=13107200 blks
   =      sectsz=512 attr=2, projid32bit=1
   =      crc=0  finobt=0 spinodes=0
data  =      bsize=4096 blocks=53739520, imaxpct=25
   =      sunit=0  swidth=0 blks
naming =version 2    bsize=4096 ascii-ci=0 ftype=0
log  =internal    bsize=4096 blocks=25600, version=2
   =      sectsz=512 sunit=0 blks, lazy-count=1
realtime =none     extsz=4096 blocks=0, rtextents=0
data blocks changed from 53739520 to 79953920
 
[root@localhost ~]# df -hT  
文件系統(tǒng)     類型  容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root xfs  305G 2.2G 203G 2% /
devtmpfs    devtmpfs 32G  0 32G 0% /dev
tmpfs     tmpfs  32G  0 32G 0% /dev/shm
tmpfs     tmpfs  32G 49M 32G 1% /run
tmpfs     tmpfs  32G  0 32G 0% /sys/fs/cgroup
/dev/sda1    xfs  197M 139M 59M 71% /boot
tmpfs     tmpfs  6.3G  0 6.3G 0% /run/user/0
/dev/mapper/centos-home xfs  618G 73M 578G 1% /hom

----------------------------------------溫馨提示--------------------------------------------

若是減小分區(qū)空間,減小前必須要先卸載這個分區(qū)。如果卸載有問題,解決如下:

[root@localhost ~]# umount /home/
umount: /home: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))

提示無法卸載,則是有進程占用/home,使用如下命令來終止占用進程:

[root@localhost ~]# fuser -m -k /home
/home: 1409 1519ce 1531e 1532e 1533e 1534e 1535e 1536e 1537e 1538e 1539e 1541e 1543e 1544e 1545e 1546e 1547e 1548e 1549e 1550e 1601m

再次卸載home分區(qū)就成功了。

[root@localhost ~]# umount /home/

-k 表示自動把霸占home分區(qū)的進程kill掉!

如果你不是很明確是否要殺死所有霸占設(shè)備的程序,還可以加一個-i 參數(shù),這樣每殺死一個程序前,都會詢問?。磃user -m -v -i -k /home)

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI