linux 想要動態擴展文件系統,需要將磁盤做成LVM動態卷
以centos 7為例
掛載兩塊磁盤
vdb
vdc
安裝 ssm 管理磁盤工具
yum -y install system-storage-manager-0.4-7.el7.noarch
創建卷組,並將物理磁盤添加到該卷組中
語法格式: ssm add -p 存儲池(卷組) 設備
ssm add -p vg1 /dev/vdb
ssm add -p vg1 /dev/vdc
[root@centos7docker ~]# ssm add -p vg1 /dev/vdb
Physical volume "/dev/vdb" successfully created.
Volume group "vg1" successfully created
提示創建成功
查看卷組
ssm list
[root@centos7docker ~]# ssm list
-----------------------------------------------------------
Device Free Used Total Pool Mount point
-----------------------------------------------------------
/dev/loop0 100.00 GB
/dev/loop1 2.00 GB
/dev/vda 20.00 GB PARTITIONED
/dev/vda1 20.00 GB /
/dev/vdb 50.00 GB 0.00 KB 50.00 GB vg1
/dev/vdc 50.00 GB 0.00 KB 50.00 GB vg1
-----------------------------------------------------------
------------------------------------------------
Pool Type Devices Free Used Total
------------------------------------------------
vg1 lvm 2 99.99 GB 0.00 KB 99.99 GB
------------------------------------------------
--------------------------------------------------------------------
Volume Volume size FS FS size Free TypeMount point
--------------------------------------------------------------------
/dev/loop0 100.00 GB xfs 9.99 GB 9.99 GB
/dev/vda1 20.00 GB ext4 20.00 GB 17.41 GB part/
--------------------------------------------------------------------
創建 一個10G的LVM卷 卷名為lv2 文件系統為xfs,使用vg1卷組
ssm create -s 10G -n lv2 --fstype xfs -p vg1
[root@centos7docker ~]# ssm create -s 10G -n lv2 --fstype xfs -p vg1
Logical volume "lv2" created.
meta-data=/dev/vg1/lv2 isize=256 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
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
查看磁盤,發現在volume中多出一個lv2的磁盤
[root@centos7docker ~]# ssm list
------------------------------------------------------------
Device Free Used Total Pool Mount point
------------------------------------------------------------
/dev/loop0 100.00 GB
/dev/loop1 2.00 GB
/dev/vda 20.00 GB PARTITIONED
/dev/vda1 20.00 GB /
/dev/vdb 40.00 GB 10.00 GB 50.00 GB vg1
/dev/vdc 50.00 GB 0.00 KB 50.00 GB vg1
------------------------------------------------------------
-------------------------------------------------
Pool Type Devices Free Used Total
-------------------------------------------------
vg1 lvm 2 89.99 GB 10.00 GB 99.99 GB
-------------------------------------------------
------------------------------------------------------------------------------
Volume Pool Volume size FS FS size Free Type Mount point
------------------------------------------------------------------------------
/dev/vg1/lv2 vg1 10.00 GB xfs 9.99 GB 9.99 GB linear
/dev/loop0 100.00 GB xfs 9.99 GB 9.99 GB
/dev/vda1 20.00 GB ext4 20.00 GB 17.41 GB part /
------------------------------------------------------------------------------
掛載該磁盤在 /data 目錄下,並查看
[root@centos7docker ~]# mkdir /data
[root@centos7docker ~]# mount /dev/vg1/lv2 /data/
[root@centos7docker ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 ext4 20G 4.7G 14G 25% /
devtmpfs devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs tmpfs 7.8G 41M 7.8G 1% /run
tmpfs tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
tmpfs tmpfs 1.6G 0 1.6G 0% /run/user/0
/dev/mapper/vg1-lv2 xfs 10G 33M 10G 1% /data
可以看出,/data 磁盤為10G
接下來擴展該文件系統大小
[root@centos7docker ~]# ssm resize -s +10G /dev/vg1/lv2
Size of logical volume vg1/lv2 changed from 10.00 GiB (2560 extents) to 20.00 GiB (5120 extents).
Logical volume vg1/lv2 successfully resized.
meta-data=/dev/mapper/vg1-lv2 isize=256 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
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 2621440 to 5242880
[root@centos7docker ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 ext4 20G 4.7G 14G 25% /
devtmpfs devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs tmpfs 7.8G 41M 7.8G 1% /run
tmpfs tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
tmpfs tmpfs 1.6G 0 1.6G 0% /run/user/0
/dev/mapper/vg1-lv2 xfs 20G 33M 20G 1% /data
[root@centos7docker ~]#
可以看出,磁盤已經擴容為20G
完成