Linux中對(duì)lvm邏輯卷分區(qū)大小的調(diào)整教程(針對(duì)xfs與ext4不同文件系統(tǒng))
前言
當(dāng)我們?cè)诎惭b系統(tǒng)的時(shí)候,由于沒(méi)有合理分配分區(qū)空間,在后續(xù)維護(hù)過(guò)程中,發(fā)現(xiàn)有些分區(qū)空間不夠使用,而有的分區(qū)空間卻有很多剩余空間。如果這些分區(qū)在裝系統(tǒng)的時(shí)候使用了lvm(前提是這些分區(qū)要是lvm邏輯卷分區(qū)),那么就可以輕松進(jìn)行擴(kuò)容或縮容!不同文件系統(tǒng)類型所對(duì)應(yīng)的創(chuàng)建、檢查、調(diào)整命令不同,下面就針對(duì)xfs和ext2/3/4文件系統(tǒng)的lvm分區(qū)空間的擴(kuò)容和縮容的操作做一記錄:
------------------------------------------------------------------------------------------
特別注意的是:
- resize2fs命令 針對(duì)的是ext2、ext3、ext4文件系統(tǒng)
- xfs_growfs命令 針對(duì)的是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)整
就是說(shuō):xfs文件系統(tǒng)只支持增大分區(qū)空間的情況,不支持減小的情況(切記!?。。。。?br />
硬要減小的話,只能在減小后將邏輯分區(qū)重新通過(guò)mkfs.xfs命令重新格式化才能掛載上,這樣的話這個(gè)邏輯分區(qū)上原來(lái)的數(shù)據(jù)就丟失了。如果有重要文件,那就歇菜嘍~~~
實(shí)例1(當(dāng)系統(tǒng)上還有空閑空間的時(shí)候)
1)查看分區(qū)空間。如下可知是xfs文件系統(tǒng)(df的-T參數(shù)就能看出文件格式)。
[root@localhost ~]# df -hT 文件系統(tǒng) 類型 容量 已用 可用 已用% 掛載點(diǎn) /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 //這一項(xiàng)表示目前該系統(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ù)還不會(huì)丟失)
[root@localhost ~]# df -h 文件系統(tǒng) 容量 已用 可用 已用% 掛載點(diǎn) /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)只支持增加,不支持減少。但并不是說(shuō)在xfs系統(tǒng)文件下不能減小,只是減小后,需要重新格式化才能掛載上。這樣原來(lái)的數(shù)據(jù)就丟失了!
實(shí)例2: 這種情況只適用于系統(tǒng)剛安裝好,邏輯分區(qū)內(nèi)沒(méi)有什么數(shù)據(jù)或數(shù)據(jù)不多且不重要可以刪除或拷貝的情況下
系統(tǒng)安裝好后,發(fā)現(xiàn)home分區(qū)過(guò)大,想從home分區(qū)中拿出100G給/分區(qū)
[root@localhost ~]# df -hT 文件系統(tǒng) 類型 容量 已用 可用 已用% 掛載點(diǎn) /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:不能讀超級(jí)塊
這樣,只能通過(guò)重新格式化這個(gè)分區(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,只不過(guò)這個(gè)分區(qū)里之前的數(shù)據(jù)都沒(méi)有了。
[root@localhost ~]# df -hT 文件系統(tǒng) 類型 容量 已用 可用 已用% 掛載點(diǎn) /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
---------------------------------------------------------------------------
上面在重新格式的時(shí)候,也可以將這個(gè)格式化為ext4格式。
[root@localhost ~]# mkfs.ext4 /dev/mapper/centos-home [root@localhost ~]# cat /etc/fstab //將home分區(qū)的開(kāi)機(jī)掛載設(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) 類型 容量 已用 可用 已用% 掛載點(diǎn) /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ū)空間,減小前必須要先卸載這個(gè)分區(qū)。如果卸載有問(wèn)題,解決如下:
[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))
提示無(wú)法卸載,則是有進(jìn)程占用/home,使用如下命令來(lái)終止占用進(jìn)程:
[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 表示自動(dòng)把霸占home分區(qū)的進(jìn)程kill掉!
如果你不是很明確是否要?dú)⑺浪邪哉荚O(shè)備的程序,還可以加一個(gè)-i 參數(shù),這樣每殺死一個(gè)程序前,都會(huì)詢問(wèn)?。磃user -m -v -i -k /home)
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Win8.1 + CentOS7 雙系統(tǒng) U盤(pán)安裝(超詳細(xì)教程)
這篇文章主要介紹了Win8.1 + CentOS7 雙系統(tǒng) U盤(pán)安裝(超詳細(xì)教程),非常具有實(shí)用價(jià)值,需要的朋友可以參考下。2017-01-01Linux中Oracle服務(wù)啟動(dòng)和停止腳本與開(kāi)機(jī)自啟動(dòng)
這篇文章主要介紹了Linux中Oracle服務(wù)啟動(dòng)和停止腳本與開(kāi)機(jī)自啟動(dòng),有興趣的同學(xué)可以一起來(lái)了解一下。2016-12-12centos 7中設(shè)置tomcat 7為系統(tǒng)服務(wù)的方法詳解
這篇文章主要給大家介紹了關(guān)于在centos 7中設(shè)置tomcat 7為系統(tǒng)服務(wù)的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)跟著小編一起學(xué)習(xí)學(xué)習(xí)吧。2017-06-06Apache James數(shù)據(jù)庫(kù)存儲(chǔ)用戶信息的密碼加密問(wèn)題及解決方案
集成java mail直接用明文帳號(hào)密碼連接就行了,因?yàn)閖ames會(huì)自己去加密驗(yàn)證,其他軟件通過(guò)pop3配置,密碼也是用明文就行了,這篇文章主要介紹了Apache James數(shù)據(jù)庫(kù)存儲(chǔ)用戶信息的密碼加密問(wèn)題及解決方案,需要的朋友可以參考下2024-03-03Linux基礎(chǔ)之xargs命令的入門實(shí)例
你是否遇到過(guò)這樣的情況,需要一遍又一遍地對(duì)多個(gè)文件執(zhí)行同樣的操作?如果有那你肯定會(huì)深有感觸這是多么的無(wú)聊和效率低下。還好有種簡(jiǎn)單的方式,可以使用xargs命令解決這個(gè)煩惱。本文介紹了Linux基礎(chǔ)學(xué)習(xí)之xargs命令入門的相關(guān)資料,需要的朋友可以參考下。2017-12-12Tomeat6.0 連接池?cái)?shù)據(jù)庫(kù)配置
關(guān)于tomeat6.0的連接數(shù)據(jù)庫(kù)配置實(shí)現(xiàn)代碼2009-03-03linux環(huán)境不使用hadoop安裝單機(jī)版spark的方法
今天小編就為大家分享一篇關(guān)于linux環(huán)境不使用hadoop安裝單機(jī)版spark的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-04-04如何在 Linux 中查找一個(gè)命令或進(jìn)程的執(zhí)行時(shí)間
在類 Unix 系統(tǒng)中,你可能知道一個(gè)命令或進(jìn)程開(kāi)始執(zhí)行的時(shí)間,以及一個(gè)進(jìn)程運(yùn)行了多久。 但是,你如何知道這個(gè)命令或進(jìn)程何時(shí)結(jié)束或者它完成運(yùn)行所花費(fèi)的總時(shí)長(zhǎng)呢?下面小編給大家?guī)?lái)了在 Linux 中查找一個(gè)命令或進(jìn)程的執(zhí)行時(shí)間,一起看看吧2018-11-11