一、LVM介紹
在我們管理Linux磁盤的時(shí)候,通常會(huì)遇到這么一種情況。在最初規(guī)劃Linux的磁盤的時(shí)候,我們給某個(gè)分區(qū)劃分了一定量的磁盤空間,使用一段時(shí)間后,發(fā)現(xiàn)我們規(guī)劃的磁盤空間不足了,這個(gè)時(shí)候怎么辦?我們肯定要想辦法給擴(kuò)容呀,找一塊磁盤分區(qū),格式化,然后掛載,然后把數(shù)據(jù)拷貝到新加的磁盤上,然后把原有的磁盤卸載掉,通常我們是這樣做的。這樣一來雖然達(dá)到了擴(kuò)容的目的,但是費(fèi)時(shí)費(fèi)力;如果第二次擴(kuò)容,空間還是不夠,我們又要重復(fù)上面的步驟;如果分配的磁盤空間過大,使用了很久才發(fā)現(xiàn)它根本用不到那么多空間,這個(gè)時(shí)候是不是又要調(diào)整呀,聽著就感覺很繁瑣。這時(shí)候你肯定要想有沒有那種可掛載上一塊盤,我們利用某種管理手段,可以在線的調(diào)整磁盤的空間,這樣有節(jié)約了時(shí)間,也可實(shí)現(xiàn)彈性管理磁盤。對(duì),lvm就有這樣的功能。
LVM(logical volume manager)邏輯卷管理,它可以彈性的管理文件系統(tǒng)的容量,LVM的工作原理是將一個(gè)或多個(gè)底層塊設(shè)備組織成一個(gè)邏輯設(shè)備,這個(gè)邏輯設(shè)備可以在未來新增或移除其他的分區(qū)到這個(gè)邏輯設(shè)備中,從而實(shí)現(xiàn)了彈性管理磁盤。
PV:物理卷(physical volume);物理卷就是指硬盤分區(qū)或從邏輯上與磁盤分區(qū)具有同樣功能的設(shè)備(如raid),是LVM的基本儲(chǔ)存邏輯塊,但和基本的物理存儲(chǔ)介質(zhì)(如分區(qū),磁盤等)比較,卻包含有與LVM相關(guān)的管理參數(shù)
VG:卷組(volume group)LVM卷組類似于非LVM系統(tǒng)中的物理硬盤,尤其物理卷組成,可以在卷組上創(chuàng)建一個(gè)或多個(gè)LVM分區(qū)(邏輯卷),LVM卷組由一個(gè)或多個(gè)物理卷組成
LV:邏輯卷(logical volume)LVM的邏輯卷類似非LVM系統(tǒng)中的硬盤分區(qū),在邏輯卷之上可以創(chuàng)建文件系統(tǒng)。
LVM就是將一些零碎的磁盤分區(qū)(PV)合并成一個(gè)較大的磁盤(VG),然后在根據(jù)需要對(duì)這個(gè)較大的磁盤(VG)進(jìn)行劃分成不同的大小分區(qū)(LV),這些小的分區(qū)(LV)是可以動(dòng)態(tài)的擴(kuò)展和縮小的,這就是LVM的邏輯卷管理過程。所謂LVM的大磁盤就是將許多PV整合成的VG,那么這個(gè)大磁盤最大可達(dá)到多少容量呢?我們知道在文件系統(tǒng)里面數(shù)據(jù)存儲(chǔ)的最小單位是塊(block),不過在LVM當(dāng)中數(shù)據(jù)儲(chǔ)存的最小單位是PE,PE的的作用同block的作用一樣,需要注意到是LVM默認(rèn)使用的PE大小是4M,而LVM的VG最多能包含65534個(gè)PE,也就是說默認(rèn)LVM的VG會(huì)有4×65534M/1024M=256G,所以PE的大小決定了VG的最大容量,當(dāng)然我們?cè)趧?chuàng)建VG的時(shí)候可指定PE大小,從而來決定VG的大小。
二、LVM實(shí)現(xiàn)
1)前期準(zhǔn)備幾塊硬盤或者分區(qū)來模擬PV
[root@test-centos7-node1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 2G 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 46G 0 part /
sdb 8:16 0 50G 0 disk
sr0 11:0 1 792M 0 rom
[root@test-centos7-node1 ~]# fdisk /dev/sdb
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.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x6180123f.
Command (m for help): p
Disk /dev/sdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x6180123f
Device Boot Start End Blocks Id System
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-104857599, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-104857599, default 104857599): +10G
Partition 1 of type Linux and of size 10 GiB is set
Command (m for help): p
Disk /dev/sdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x6180123f
Device Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 83 Linux
Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'
Command (m for help): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
Partition number (2-4, default 2):
First sector (20973568-104857599, default 20973568):
Using default value 20973568
Last sector, +sectors or +size{K,M,G} (20973568-104857599, default 104857599): +10G
Partition 2 of type Linux and of size 10 GiB is set
Command (m for help): t
Partition number (1,2, default 2):
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'
Command (m for help): n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): p
Partition number (3,4, default 3):
First sector (41945088-104857599, default 41945088):
Using default value 41945088
Last sector, +sectors or +size{K,M,G} (41945088-104857599, default 104857599): +10G
Partition 3 of type Linux and of size 10 GiB is set
Command (m for help): t
Partition number (1-3, default 3):
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'
Command (m for help): p
Disk /dev/sdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x6180123f
Device Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 8e Linux LVM
/dev/sdb2 20973568 41945087 10485760 8e Linux LVM
/dev/sdb3 41945088 62916607 10485760 8e Linux LVM
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@test-centos7-node1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 2G 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 46G 0 part /
sdb 8:16 0 50G 0 disk
├─sdb1 8:17 0 10G 0 part
├─sdb2 8:18 0 10G 0 part
└─sdb3 8:19 0 10G 0 part
sr0 11:0 1 792M 0 rom
[root@test-centos7-node1 ~]#
說明:這里是用的分區(qū)來模擬硬盤當(dāng)作PV,這里需要注意一點(diǎn),就是我們分區(qū)完保存后,可能存在不同不到問題,就是我們分區(qū)完用lsblk看不到分區(qū),可用 partprobe來同步分區(qū)信息。centos6 使用partx -a /dev/sdb來增加分區(qū)同步到內(nèi)存,如果是刪除某個(gè)分區(qū),就需要執(zhí)行partx -d -nr # /dev/sdb 此命令表示從/dev/sdb的分區(qū)信息中刪除sdb#分區(qū)信息,并同步到內(nèi)存中。這里還需要注意一點(diǎn)的是我們分區(qū)的類型要選8e 表示Linux LVM
2)裝lvm2這個(gè)包
[root@test-centos7-node1 ~]# lvs
-bash: lvs: command not found
[root@test-centos7-node1 ~]# yum info lvm2
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
Available Packages
Name : lvm2
Arch : x86_64
Epoch : 7
Version : 2.02.185
Release : 2.el7_7.2
Size : 1.3 M
Repo : updates/7/x86_64
Summary : Userland logical volume management tools
URL : http://sources.redhat.com/lvm2
License : GPLv2
Description : LVM2 includes all of the support for handling read/write operations on
: physical volumes (hard disks, RAID-Systems, magneto optical, etc.,
: multiple devices (MD), see mdadm(8) or even loop devices, see
: losetup(8)), creating volume groups (kind of virtual disks) from one
: or more physical volumes and creating one or more logical volumes
: (kind of logical partitions) in volume groups.
[root@test-centos7-node1 ~]# yum install lvm2 -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
Resolving Dependencies
--> Running transaction check
---> Package lvm2.x86_64 7:2.02.185-2.el7_7.2 will be installed
--> Processing Dependency: lvm2-libs = 7:2.02.185-2.el7_7.2 for package: 7:lvm2-2.02.185-2.el7_7.2.x86_64
--> Processing Dependency: device-mapper-persistent-data >= 0.7.0-0.1.rc6 for package: 7:lvm2-2.02.185-2.el7_7.2.x86_64
--> Processing Dependency: liblvm2app.so.2.2(Base)(64bit) for package: 7:lvm2-2.02.185-2.el7_7.2.x86_64
--> Processing Dependency: libdevmapper.so.1.02(DM_1_02_141)(64bit) for package: 7:lvm2-2.02.185-2.el7_7.2.x86_64
--> Processing Dependency: libdevmapper-event.so.1.02(Base)(64bit) for package: 7:lvm2-2.02.185-2.el7_7.2.x86_64
--> Processing Dependency: liblvm2app.so.2.2()(64bit) for package: 7:lvm2-2.02.185-2.el7_7.2.x86_64
--> Processing Dependency: libdevmapper-event.so.1.02()(64bit) for package: 7:lvm2-2.02.185-2.el7_7.2.x86_64
--> Running transaction check
---> Package device-mapper-event-libs.x86_64 7:1.02.158-2.el7_7.2 will be installed
---> Package device-mapper-libs.x86_64 7:1.02.140-8.el7 will be updated
--> Processing Dependency: device-mapper-libs = 7:1.02.140-8.el7 for package: 7:device-mapper-1.02.140-8.el7.x86_64
---> Package device-mapper-libs.x86_64 7:1.02.158-2.el7_7.2 will be an update
---> Package device-mapper-persistent-data.x86_64 0:0.8.5-1.el7 will be installed
---> Package lvm2-libs.x86_64 7:2.02.185-2.el7_7.2 will be installed
--> Processing Dependency: device-mapper-event = 7:1.02.158-2.el7_7.2 for package: 7:lvm2-libs-2.02.185-2.el7_7.2.x86_64
--> Running transaction check
---> Package device-mapper.x86_64 7:1.02.140-8.el7 will be updated
---> Package device-mapper.x86_64 7:1.02.158-2.el7_7.2 will be an update
---> Package device-mapper-event.x86_64 7:1.02.158-2.el7_7.2 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
============================================================================================================================
Package Arch Version Repository Size
============================================================================================================================
Installing:
lvm2 x86_64 7:2.02.185-2.el7_7.2 updates 1.3 M
Installing for dependencies:
device-mapper-event x86_64 7:1.02.158-2.el7_7.2 updates 190 k
device-mapper-event-libs x86_64 7:1.02.158-2.el7_7.2 updates 189 k
device-mapper-persistent-data x86_64 0.8.5-1.el7 base 423 k
lvm2-libs x86_64 7:2.02.185-2.el7_7.2 updates 1.1 M
Updating for dependencies:
device-mapper x86_64 7:1.02.158-2.el7_7.2 updates 294 k
device-mapper-libs x86_64 7:1.02.158-2.el7_7.2 updates 322 k
Transaction Summary
============================================================================================================================
Install 1 Package (+4 Dependent packages)
Upgrade ( 2 Dependent packages)
Total download size: 3.8 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/7): device-mapper-event-1.02.158-2.el7_7.2.x86_64.rpm | 190 kB 00:00:00
(2/7): device-mapper-event-libs-1.02.158-2.el7_7.2.x86_64.rpm | 189 kB 00:00:00
(3/7): device-mapper-libs-1.02.158-2.el7_7.2.x86_64.rpm | 322 kB 00:00:00
(4/7): lvm2-2.02.185-2.el7_7.2.x86_64.rpm | 1.3 MB 00:00:00
(5/7): device-mapper-1.02.158-2.el7_7.2.x86_64.rpm | 294 kB 00:00:00
(6/7): lvm2-libs-2.02.185-2.el7_7.2.x86_64.rpm | 1.1 MB 00:00:00
(7/7): device-mapper-persistent-data-0.8.5-1.el7.x86_64.rpm | 423 kB 00:00:00
----------------------------------------------------------------------------------------------------------------------------
Total 4.3 MB/s | 3.8 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Updating : 7:device-mapper-1.02.158-2.el7_7.2.x86_64 1/9
Updating : 7:device-mapper-libs-1.02.158-2.el7_7.2.x86_64 2/9
Installing : 7:device-mapper-event-libs-1.02.158-2.el7_7.2.x86_64 3/9
Installing : 7:device-mapper-event-1.02.158-2.el7_7.2.x86_64 4/9
Installing : 7:lvm2-libs-2.02.185-2.el7_7.2.x86_64 5/9
Installing : device-mapper-persistent-data-0.8.5-1.el7.x86_64 6/9
Installing : 7:lvm2-2.02.185-2.el7_7.2.x86_64 7/9
Created symlink from /etc/systemd/system/sysinit.target.wants/lvm2-lvmpolld.socket to /usr/lib/systemd/system/lvm2-lvmpolld.socket.
Cleanup : 7:device-mapper-1.02.140-8.el7.x86_64 8/9
Cleanup : 7:device-mapper-libs-1.02.140-8.el7.x86_64 9/9
Verifying : 7:device-mapper-libs-1.02.158-2.el7_7.2.x86_64 1/9
Verifying : 7:device-mapper-1.02.158-2.el7_7.2.x86_64 2/9
Verifying : device-mapper-persistent-data-0.8.5-1.el7.x86_64 3/9
Verifying : 7:lvm2-2.02.185-2.el7_7.2.x86_64 4/9
Verifying : 7:lvm2-libs-2.02.185-2.el7_7.2.x86_64 5/9
Verifying : 7:device-mapper-event-1.02.158-2.el7_7.2.x86_64 6/9
Verifying : 7:device-mapper-event-libs-1.02.158-2.el7_7.2.x86_64 7/9
Verifying : 7:device-mapper-1.02.140-8.el7.x86_64 8/9
Verifying : 7:device-mapper-libs-1.02.140-8.el7.x86_64 9/9
Installed:
lvm2.x86_64 7:2.02.185-2.el7_7.2
Dependency Installed:
device-mapper-event.x86_64 7:1.02.158-2.el7_7.2 device-mapper-event-libs.x86_64 7:1.02.158-2.el7_7.2
device-mapper-persistent-data.x86_64 0:0.8.5-1.el7 lvm2-libs.x86_64 7:2.02.185-2.el7_7.2
Dependency Updated:
device-mapper.x86_64 7:1.02.158-2.el7_7.2 device-mapper-libs.x86_64 7:1.02.158-2.el7_7.2
Complete!
[root@test-centos7-node1 ~]#
說明:最小化安裝系統(tǒng)默認(rèn)系統(tǒng)上沒有安裝這個(gè)包的,所以我們需要把這個(gè)包裝上才可創(chuàng)建LVM
3)創(chuàng)建PV
[root@test-centos7-node1 ~]# pvcreate /dev/sdb{1,2,3}
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdb2" successfully created.
Physical volume "/dev/sdb3" successfully created.
[root@test-centos7-node1 ~]# pvscan
PV /dev/sdb1 lvm2 [10.00 GiB]
PV /dev/sdb3 lvm2 [10.00 GiB]
PV /dev/sdb2 lvm2 [10.00 GiB]
Total: 3 [30.00 GiB] / in use: 0 [0 ] / in no VG: 3 [30.00 GiB]
[root@test-centos7-node1 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 --- 10.00g 10.00g
/dev/sdb2 lvm2 --- 10.00g 10.00g
/dev/sdb3 lvm2 --- 10.00g 10.00g
[root@test-centos7-node1 ~]# pvdisplay
"/dev/sdb1" is a new physical volume of "10.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size 10.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID MsszES-YPdm-YGQl-7rgg-B6gX-Q4xu-T8m1gz
"/dev/sdb3" is a new physical volume of "10.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb3
VG Name
PV Size 10.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID BMMx8p-zu9O-ns61-G9DU-iKMR-NmZO-crCjlR
"/dev/sdb2" is a new physical volume of "10.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb2
VG Name
PV Size 10.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID LPynpW-twlu-fxwg-OlCT-jA2A-R5UI-fvqWLj
[root@test-centos7-node1 ~]#
說明:pvcreate 命令表示創(chuàng)建PV 后面跟硬盤或分區(qū)對(duì)應(yīng)的設(shè)備文件,pvscan 命令作用是搜索系統(tǒng)里面任何具有PV屬性的磁碟,PV屬性就是通過pvcreate創(chuàng)建過的磁碟,pvs是查看pv簡(jiǎn)要情況,pvdisplay 查看pv的詳細(xì)信息。當(dāng)然我們要移除某塊盤,讓其不具備PV屬性,可以用pvremove + 磁盤的設(shè)備文件路徑
[root@test-centos7-node1 ~]# pvremove /dev/sdb3
Labels on physical volume "/dev/sdb3" successfully wiped.
[root@test-centos7-node1 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 --- 10.00g 10.00g
/dev/sdb2 lvm2 --- 10.00g 10.00g
[root@test-centos7-node1 ~]#
說明:移除pv的前提是它沒有在任何VG里面才可做移除,否則移除不了
4)創(chuàng)建VG
[root@test-centos7-node1 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 --- 10.00g 10.00g
/dev/sdb2 lvm2 --- 10.00g 10.00g
[root@test-centos7-node1 ~]# pvcreate /dev/sdb3
Physical volume "/dev/sdb3" successfully created.
[root@test-centos7-node1 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 --- 10.00g 10.00g
/dev/sdb2 lvm2 --- 10.00g 10.00g
/dev/sdb3 lvm2 --- 10.00g 10.00g
[root@test-centos7-node1 ~]# vgcreate test -s 8M /dev/sdb{1,2,3}
Volume group "test" successfully created
[root@test-centos7-node1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
test 3 0 0 wz--n- <29.98g <29.98g
[root@test-centos7-node1 ~]# vgscan
Reading volume groups from cache.
Found volume group "test" using metadata type lvm2
[root@test-centos7-node1 ~]# vgdisplay
--- Volume group ---
VG Name test
System ID
Format lvm2
Metadata Areas 3
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 3
Act PV 3
VG Size <29.98 GiB
PE Size 8.00 MiB
Total PE 3837
Alloc PE / Size 0 / 0
Free PE / Size 3837 / <29.98 GiB
VG UUID 31vxAP-L5jb-8Yxm-25m2-LdD0-ee8R-sdTjum
[root@test-centos7-node1 ~]# vgreduce test /dev/sdb3
Removed "/dev/sdb3" from volume group "test"
[root@test-centos7-node1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
test 2 0 0 wz--n- 19.98g 19.98g
[root@test-centos7-node1 ~]# vgcreate test2 /dev/sdb3
Volume group "test2" successfully created
[root@test-centos7-node1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
test 2 0 0 wz--n- 19.98g 19.98g
test2 1 0 0 wz--n- <10.00g <10.00g
[root@test-centos7-node1 ~]# vgdisplay test2
--- Volume group ---
VG Name test2
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 <10.00 GiB
PE Size 4.00 MiB
Total PE 2559
Alloc PE / Size 0 / 0
Free PE / Size 2559 / <10.00 GiB
VG UUID rc94SP-JAlk-63Rw-n5xz-qB0d-grnT-ItrMvT
[root@test-centos7-node1 ~]# vgremove test2
Volume group "test2" successfully removed
[root@test-centos7-node1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
test 2 0 0 wz--n- 19.98g 19.98g
[root@test-centos7-node1 ~]#
說明:同樣的vgcreate 表示創(chuàng)建VG 其用法格式是vgcreate VGNAME [option] 儲(chǔ)存設(shè)備路徑 其中-s表示指定PE的大小,VGNAME表示VG的名稱,需要說明的是,指定名稱不能和系統(tǒng)現(xiàn)有的VG名稱相同;vgs查看系統(tǒng)上所有VG的簡(jiǎn)要信息,vgscan搜尋系統(tǒng)上面是否有VG,vgdisplay查看所有VG的詳細(xì)信息,當(dāng)然此例中只有一個(gè),我們也可在后面指定查看某個(gè)VG的詳細(xì)信息,只需要指定其VG名稱即可;有關(guān)vg的命令有很多其中vgreduce的作用是在VG內(nèi)移除PV,vgremove的作用是刪除一個(gè)VG,這兩個(gè)命令都需要在其后指定要操作的VG名稱
5)創(chuàng)建LV
[root@test-centos7-node1 ~]# lvs
[root@test-centos7-node1 ~]# lvcreate -L 2G -n aaa test
Logical volume "aaa" created.
[root@test-centos7-node1 ~]# lvcreate -L 3G -n bbb test
Logical volume "bbb" created.
[root@test-centos7-node1 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
aaa test -wi-a----- 2.00g
bbb test -wi-a----- 3.00g
[root@test-centos7-node1 ~]# lvscan
ACTIVE '/dev/test/aaa' [2.00 GiB] inherit
ACTIVE '/dev/test/bbb' [3.00 GiB] inherit
[root@test-centos7-node1 ~]# lvdisplay
--- Logical volume ---
LV Path /dev/test/aaa
LV Name aaa
VG Name test
LV UUID R9weh0-D85B-rMcW-oYSM-dAQb-gIQh-RXxITP
LV Write Access read/write
LV Creation host, time test-centos7-node1, 2020-01-06 09:05:23 -0500
LV Status available
# open 0
LV Size 2.00 GiB
Current LE 256
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
--- Logical volume ---
LV Path /dev/test/bbb
LV Name bbb
VG Name test
LV UUID LYwvZj-ogpf-nwtF-mja6-xwwl-A24W-BslJOu
LV Write Access read/write
LV Creation host, time test-centos7-node1, 2020-01-06 09:05:34 -0500
LV Status available
# open 0
LV Size 3.00 GiB
Current LE 384
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
[root@test-centos7-node1 ~]# lvresize -L +4G /dev/test/aaa
Size of logical volume test/aaa changed from 2.00 GiB (256 extents) to 6.00 GiB (768 extents).
Logical volume test/aaa successfully resized.
[root@test-centos7-node1 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
aaa test -wi-a----- 6.00g
bbb test -wi-a----- 3.00g
[root@test-centos7-node1 ~]# lvresize -L -1G /dev/test/bbb
WARNING: Reducing active logical volume to 2.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce test/bbb? [y/n]: y
Size of logical volume test/bbb changed from 3.00 GiB (384 extents) to 2.00 GiB (256 extents).
Logical volume test/bbb successfully resized.
[root@test-centos7-node1 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
aaa test -wi-a----- 6.00g
bbb test -wi-a----- 2.00g
[root@test-centos7-node1 ~]# lvreduce -L 3G /dev/test/aaa
WARNING: Reducing active logical volume to 3.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce test/aaa? [y/n]: y
Size of logical volume test/aaa changed from 6.00 GiB (768 extents) to 3.00 GiB (384 extents).
Logical volume test/aaa successfully resized.
[root@test-centos7-node1 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
aaa test -wi-a----- 3.00g
bbb test -wi-a----- 2.00g
[root@test-centos7-node1 ~]# lvreduce -L -1G /dev/test/aaa
WARNING: Reducing active logical volume to 2.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce test/aaa? [y/n]: y
Size of logical volume test/aaa changed from 3.00 GiB (384 extents) to 2.00 GiB (256 extents).
Logical volume test/aaa successfully resized.
[root@test-centos7-node1 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
aaa test -wi-a----- 2.00g
bbb test -wi-a----- 2.00g
[root@test-centos7-node1 ~]# lvremove /dev/test/bbb
Do you really want to remove active logical volume test/bbb? [y/n]: y
Logical volume "bbb" successfully removed
[root@test-centos7-node1 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
aaa test -wi-a----- 2.00g
[root@test-centos7-node1 ~]#
說明:lvcreate 命令作用是創(chuàng)建LV 其中-L表示指定LV的大小,-n表示lv的名稱 最后跟VG的名稱,表示從那個(gè)VG上創(chuàng)建LV;lvs 命令作用是查看系統(tǒng)所有的lv簡(jiǎn)要信息 ;lvdisplay 查看LV的詳細(xì)信息,后面可以跟VG的名稱表示查看指定VG上的所有LV的詳細(xì)信息;lvreduce 命令作用是縮減指定LV里的空間,如果指定的大小是負(fù)數(shù)如-3M 表示縮減3M 如果指定的是 3M 則表示縮減至3M ,這個(gè)需要注意,還有這個(gè)命令指定大小不能以類似+4M來指定;lvresize此命令的作用是調(diào)整LV的容量大小,這個(gè)命令指定調(diào)整大小+表示增加多少,-表示減少多少,若沒有+/-表示調(diào)整到指定大小,lvresize和lvreduce這兩個(gè)命令后面都是跟的lv對(duì)應(yīng)設(shè)備的路徑(其實(shí)不是真的設(shè)備路徑,是設(shè)備的軟連接路徑),不能指定其名稱;lvremove命令作用是刪除指定的LV,若指定的是vg名,表示刪除該VG上的所有LV,若需要?jiǎng)h除某個(gè)LV 需要指定其對(duì)應(yīng)設(shè)備路徑。
到此lvm就已經(jīng)實(shí)現(xiàn),后續(xù)就可以直接格式化,然后掛載使用了
[root@test-centos7-node1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
test 2 0 0 wz--n- 19.98g 19.98g
[root@test-centos7-node1 ~]# lvcreate -l 100%FREE -n xxx test
WARNING: xfs signature detected on /dev/test/xxx at offset 0. Wipe it? [y/n]: y
Wiping xfs signature on /dev/test/xxx.
Logical volume "xxx" created.
[root@test-centos7-node1 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
xxx test -wi-a----- 19.98g
[root@test-centos7-node1 ~]# mkfs.xfs -f /dev/test/xxx
meta-data=/dev/test/xxx isize=512 agcount=4, agsize=1309696 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5238784, 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@test-centos7-node1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 2G 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 46G 0 part /
sdb 8:16 0 50G 0 disk
├─sdb1 8:17 0 10G 0 part
│ └─test-xxx 253:0 0 20G 0 lvm
├─sdb2 8:18 0 10G 0 part
│ └─test-xxx 253:0 0 20G 0 lvm
└─sdb3 8:19 0 10G 0 part
sr0 11:0 1 792M 0 rom
[root@test-centos7-node1 ~]# mount /dev/test/xxx /mnt
[root@test-centos7-node1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 46G 1.6G 45G 4% /
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 2.0G 135M 1.9G 7% /boot
tmpfs 378M 0 378M 0% /run/user/0
/dev/mapper/test-xxx 20G 33M 20G 1% /mnt
[root@test-centos7-node1 ~]#
三、擴(kuò)容LV
1)創(chuàng)建PV,并將其加入到VG中
[root@test-centos7-node1 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 test lvm2 a-- 9.99g 0
/dev/sdb2 test lvm2 a-- 9.99g 0
[root@test-centos7-node1 ~]# vgdisplay
--- Volume group ---
VG Name test
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 28
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 19.98 GiB
PE Size 8.00 MiB
Total PE 2558
Alloc PE / Size 2558 / 19.98 GiB
Free PE / Size 0 / 0
VG UUID 31vxAP-L5jb-8Yxm-25m2-LdD0-ee8R-sdTjum
[root@test-centos7-node1 ~]#
說明:從上面的信息可以看到VG的大小是19.98G 也就是兩塊PV的大小。現(xiàn)在我們新創(chuàng)建一個(gè)pv,然后加到vg里
[root@test-centos7-node1 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 test lvm2 a-- 9.99g 0
/dev/sdb2 test lvm2 a-- 9.99g 0
[root@test-centos7-node1 ~]# pvcreate /dev/sdb3
Physical volume "/dev/sdb3" successfully created.
[root@test-centos7-node1 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 test lvm2 a-- 9.99g 0
/dev/sdb2 test lvm2 a-- 9.99g 0
/dev/sdb3 lvm2 --- 10.00g 10.00g
[root@test-centos7-node1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
test 2 1 0 wz--n- 19.98g 0
[root@test-centos7-node1 ~]# vgextend test /dev/sdb3
Volume group "test" successfully extended
[root@test-centos7-node1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
test 3 1 0 wz--n- <29.98g 9.99g
[root@test-centos7-node1 ~]# vgdisplay
--- Volume group ---
VG Name test
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 31
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 3
Act PV 3
VG Size <29.98 GiB
PE Size 8.00 MiB
Total PE 3837
Alloc PE / Size 2558 / 19.98 GiB
Free PE / Size 1279 / 9.99 GiB
VG UUID 31vxAP-L5jb-8Yxm-25m2-LdD0-ee8R-sdTjum
[root@test-centos7-node1 ~]#
說明:vgextend命令作用是將指定pv加入到指定VG中,VG指定其名稱即可,pv需指定其設(shè)備路徑
2)將新加的VG的PE加入到xxx LV里
[root@test-centos7-node1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
test 3 1 0 wz--n- <29.98g 9.99g
[root@test-centos7-node1 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
xxx test -wi-ao---- 19.98g
[root@test-centos7-node1 ~]# lvdisplay
--- Logical volume ---
LV Path /dev/test/xxx
LV Name xxx
VG Name test
LV UUID ihOo41-gh1L-eSHK-iLXY-UGfF-J6uI-UmVWhF
LV Write Access read/write
LV Creation host, time test-centos7-node1, 2020-01-06 10:00:08 -0500
LV Status available
# open 1
LV Size 19.98 GiB
Current LE 2558
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
[root@test-centos7-node1 ~]# lvextend -l +100%FREE /dev/test/xxx
Size of logical volume test/xxx changed from 19.98 GiB (2558 extents) to <29.98 GiB (3837 extents).
Logical volume test/xxx successfully resized.
[root@test-centos7-node1 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
xxx test -wi-ao---- <29.98g
[root@test-centos7-node1 ~]# lvdisplay
--- Logical volume ---
LV Path /dev/test/xxx
LV Name xxx
VG Name test
LV UUID ihOo41-gh1L-eSHK-iLXY-UGfF-J6uI-UmVWhF
LV Write Access read/write
LV Creation host, time test-centos7-node1, 2020-01-06 10:00:08 -0500
LV Status available
# open 1
LV Size <29.98 GiB
Current LE 3837
Segments 3
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
[root@test-centos7-node1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
test 3 1 0 wz--n- <29.98g 0
[root@test-centos7-node1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 2G 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 46G 0 part /
sdb 8:16 0 50G 0 disk
├─sdb1 8:17 0 10G 0 part
│ └─test-xxx 253:0 0 30G 0 lvm /mnt
├─sdb2 8:18 0 10G 0 part
│ └─test-xxx 253:0 0 30G 0 lvm /mnt
└─sdb3 8:19 0 10G 0 part
└─test-xxx 253:0 0 30G 0 lvm /mnt
sr0 11:0 1 792M 0 rom
[root@test-centos7-node1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 46G 1.6G 45G 4% /
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 2.0G 135M 1.9G 7% /boot
tmpfs 378M 0 378M 0% /run/user/0
/dev/mapper/test-xxx 20G 33M 20G 1% /mnt
[root@test-centos7-node1 ~]#
說明:可看到lvs里的空間已經(jīng)加上去,lvextend命令作用是將指定VG里的空間添加到指定的lv中,上面的例子是把VG里的所有空閑空間添加到/dev/test/xxx里,當(dāng)然還有一種情況在VG還有空余的空間,我們可以用lvresize 來調(diào)整lv的大??;從上面的信息可以看到我們把新的空間加入到VG和Lv中后,df 看掛載點(diǎn)空間卻沒有增加,接下來我們通過resize2fs將文件系統(tǒng)同步到增大的空間。
[root@test-centos7-node1 ~]# resize2fs /dev/test/xxx
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block while trying to open /dev/test/xxx
Couldn't find valid filesystem superblock.
[root@test-centos7-node1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 46G 1.6G 45G 4% /
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 2.0G 135M 1.9G 7% /boot
tmpfs 378M 0 378M 0% /run/user/0
/dev/mapper/test-xxx 20G 33M 20G 1% /mnt
[root@test-centos7-node1 ~]#
說明:看來用此命令不行,因?yàn)閞esize2fs這個(gè)命令針對(duì)ext系列的文件系統(tǒng),xfs需要用 xfs_growfs來調(diào)整
[root@test-centos7-node1 ~]# xfs_growfs /dev/test/xxx
meta-data=/dev/mapper/test-xxx isize=512 agcount=4, agsize=1309696 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=5238784, 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 5238784 to 7858176
[root@test-centos7-node1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 46G 1.6G 45G 4% /
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 2.0G 135M 1.9G 7% /boot
tmpfs 378M 0 378M 0% /run/user/0
/dev/mapper/test-xxx 30G 33M 30G 1% /mnt
[root@test-centos7-node1 ~]#
四、縮減LV(xfs文件系統(tǒng))
1)卸載已經(jīng)掛好的LV
[root@test-centos7-node1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 46G 1.6G 45G 4% /
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 2.0G 135M 1.9G 7% /boot
tmpfs 378M 0 378M 0% /run/user/0
/dev/mapper/test-xxx 30G 33M 30G 1% /mnt
[root@test-centos7-node1 ~]# umount /mnt
[root@test-centos7-node1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 46G 1.6G 45G 4% /
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 2.0G 135M 1.9G 7% /boot
tmpfs 378M 0 378M 0% /run/user/0
[root@test-centos7-node1 ~]#
2)強(qiáng)制進(jìn)行磁盤檢測(cè)
[root@test-centos7-node1 ~]# xfs_repair -n /dev/test/xxx
Phase 1 - find and verify superblock...
Phase 2 - using internal log
- zero log...
- scan filesystem freespace and inode maps...
- found root inode chunk
Phase 3 - for each AG...
- scan (but don't clear) agi unlinked lists...
- process known inodes and perform inode discovery...
- agno = 0
- agno = 1
- agno = 2
- agno = 3
- process newly discovered inodes...
Phase 4 - check for duplicate blocks...
- setting up duplicate extent list...
- check for inodes claiming duplicate blocks...
- agno = 0
- agno = 1
- agno = 2
- agno = 3
No modify flag set, skipping phase 5
Phase 6 - check inode connectivity...
- traversing filesystem ...
- traversal finished ...
- moving disconnected inodes to lost+found ...
Phase 7 - verify link counts...
No modify flag set, skipping filesystem flush and exiting.
[root@test-centos7-node1 ~]#
說明:ext系列文件系統(tǒng)可e2fsck命令檢查
3)調(diào)整lv大小
[root@test-centos7-node1 ~]# lvreduce -L -10G /dev/test/xxx
WARNING: Reducing active logical volume to <19.98 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce test/xxx? [y/n]: y
Size of logical volume test/xxx changed from <29.98 GiB (3837 extents) to <19.98 GiB (2557 extents).
Logical volume test/xxx successfully resized.
[root@test-centos7-node1 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
xxx test -wi-a----- <19.98g
[root@test-centos7-node1 ~]# lvdisplay
--- Logical volume ---
LV Path /dev/test/xxx
LV Name xxx
VG Name test
LV UUID uhZZaz-Odd9-ibwY-2Z1Z-ZmNY-eZF7-0lXERT
LV Write Access read/write
LV Creation host, time test-centos7-node1, 2020-01-06 10:32:42 -0500
LV Status available
# open 0
LV Size <19.98 GiB
Current LE 2557
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
[root@test-centos7-node1 ~]#
4)掛載
[root@test-centos7-node1 ~]# mount /dev/test/xxx /mnt
mount: /dev/mapper/test-xxx: can't read superblock
[root@test-centos7-node1 ~]#
說明:做到這里發(fā)現(xiàn)一個(gè)問題,xfs文件系統(tǒng)是不支持邏輯卷縮減的,為什么呢?xfs的文件系統(tǒng)調(diào)整命令是xfs_growfs 這個(gè)命令只支持增大的操作。我們?cè)谡{(diào)整lv大小的時(shí)候?qū)嶋H上是把文件系統(tǒng)給破壞了,要想縮減空間,就必須重新格式化后在掛載,這樣一來如果原有的盤里有數(shù)據(jù)就丟了。所以xfs上做LV的縮減沒有意義
[root@test-centos7-node1 ~]# mkfs.xfs /dev/test/xxx -f
meta-data=/dev/test/xxx isize=512 agcount=4, agsize=1309184 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5236736, 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@test-centos7-node1 ~]# mount /dev/test/xxx /mnt
[root@test-centos7-node1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 46G 1.6G 45G 4% /
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 2.0G 135M 1.9G 7% /boot
tmpfs 378M 0 378M 0% /run/user/0
/dev/mapper/test-xxx 20G 33M 20G 1% /mnt
[root@test-centos7-node1 ~]
五、縮減LV(ext系列文件系統(tǒng))
1)卸載已掛載的LV
[root@test-centos7-node1 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 xfs 46G 1.6G 45G 4% /
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 2.0G 135M 1.9G 7% /boot
tmpfs tmpfs 378M 0 378M 0% /run/user/0
/dev/mapper/test-xxx ext4 20G 45M 19G 1% /mnt
[root@test-centos7-node1 ~]# umount /mnt
[root@test-centos7-node1 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 xfs 46G 1.6G 45G 4% /
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 2.0G 135M 1.9G 7% /boot
tmpfs tmpfs 378M 0 378M 0% /run/user/0
[root@test-centos7-node1 ~]#
2)強(qiáng)制執(zhí)行磁盤檢測(cè)
[root@test-centos7-node1 ~]# e2fsck -f /dev/test/xxx
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/test/xxx: 11/1310720 files (0.0% non-contiguous), 126322/5236736 blocks
[root@test-centos7-node1 ~]#
說明:這一步我們?cè)诓粓?zhí)行的話,直接下一步它也會(huì)提示我們先做磁盤檢測(cè)
3)調(diào)整文件系統(tǒng)大小
[root@test-centos7-node1 ~]# resize2fs /dev/test/xxx 12G
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/test/xxx to 3145728 (4k) blocks.
The filesystem on /dev/test/xxx is now 3145728 blocks long.
[root@test-centos7-node1 ~]#
4)調(diào)整LV的大小
[root@test-centos7-node1 ~]# lvreduce -L 12G /dev/test/xxx
WARNING: Reducing active logical volume to 12.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce test/xxx? [y/n]: y
Size of logical volume test/xxx changed from <19.98 GiB (2557 extents) to 12.00 GiB (1536 extents).
Logical volume test/xxx successfully resized.
[root@test-centos7-node1 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
xxx test -wi-a----- 12.00g
[root@test-centos7-node1 ~]#
說明:這里縮減到的空間需同文件系統(tǒng)的大小一致或者縮減后的空間比文件系統(tǒng)調(diào)整的空間要大才行,這樣才不能損壞文件系統(tǒng),切記不能比文件系統(tǒng)調(diào)整的空間還小,小了,在縮減空間的時(shí)候就破壞了文件系統(tǒng),會(huì)導(dǎo)致后續(xù)的掛載無法進(jìn)行。
5)掛載
[root@test-centos7-node1 ~]# mount /dev/test/xxx /mnt
[root@test-centos7-node1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 46G 1.6G 45G 4% /
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 2.0G 135M 1.9G 7% /boot
tmpfs 378M 0 378M 0% /run/user/0
/dev/mapper/test-xxx 12G 41M 12G 1% /mnt
[root@test-centos7-node1 ~]#
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。