在centos7环境下实现,原来centos7的磁盘分区是lv+xfs格式。
在linux系统下创建LVM方式的磁盘:在此可以不进行第一步。
1. 磁盘分区(略)
2. 创建物理卷
# pvcreate /dev/sd{b1,c,d,e}(这个地方可以是多个磁盘,或者是多个分区。也可以是单个分区或者是单个磁盘。)
# pvs
3. 创建卷组
# vgcreate volgroup_name /dev/sd{b1,c,d,e}
# vgs
4. 创建逻辑卷
# lvcreate -n log_vol_name -L 10G vlogroup_name
# lvs
5. 格式化逻辑卷
# mkfs.xfs /dev/vlogroup_name/log_vol_name
6. 挂载逻辑卷
# 同挂载本地硬盘同理
现在需要添加一块磁盘来扩展LV的空间。步骤日志如下:
查看原来磁盘格式:
[root@localhost~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-rootxfs 18G 947M 17G 6% /
发现新加磁盘名称为/dev/sdb
[root@localhost~]# fdisk -l
分区新磁盘 如果大于2T磁盘使用parted工具
[root@localhost~]# fdisk /dev/sdb
Welcometo fdisk (util-linux 2.23.2).
.
.
.
使用parted工具进行分区
1. 命令行方式(非交互模式):
# parted /dev/sdb mklabel gpt mkpart 1 xfs 1 2T
2. 使用交互模式:
# parted /dev/sdb
....
(parted) mklabel gpt
(parted) mkpart p1
File system type? [ext2]? ext3
Start? 1
End? 5T
(parted) print
Number Start End Size File system Name Flags
1 32.3kB 5TB 5TB ext3 p1
[root@localhost~]# fdisk -l
(略)
.
.
.
查看原来lv状态
[root@localhost~]# vgdisplay
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 19.51 GiB
PE Size 4.00 MiB
Total PE 4994
Alloc PE / Size 4984 / 19.47 GiB
Free PE / Size 10 / 40.00 MiB
VG UUID EDjB3T-qhXo-Mmml-rN8w-bPYk-AdL6-Cf0Y6u
创建物理卷
[root@localhost~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1"successfully created
将新的物理卷加入卷组中
[root@localhost~]# vgextend centos /dev/sdb1
Volume group "centos" successfullyextended
查看新加入物理卷后的卷组状态
[root@localhost~]# vgdisplay
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 59.50 GiB
PE Size 4.00 MiB
Total PE 15233
Alloc PE / Size 4984 / 19.47 GiB
Free PE / Size 10249 / 40.04 GiB
VG UUID EDjB3T-qhXo-Mmml-rN8w-bPYk-AdL6-Cf0Y6u
[root@localhost~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 18G 946M 17G 6% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.5M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 497M 120M 378M 25% /boot
查看增加逻辑卷容量命令lvextend的用法
[root@localhost~]# lvextend --help
lvextend: Add space to a logical volume
lvextend
[-A|--autobackup y|n]
[--alloc AllocationPolicy]
[--commandprofile ProfileName]
[-d|--debug]
[-f|--force]
[-h|--help]
[-i|--stripes Stripes [-I|--stripesizeStripeSize]]
{-l|--extents[+]LogicalExtentsNumber[%{VG|LV|PVS|FREE|ORIGIN}] |
-L|--size[+]LogicalVolumeSize[bBsSkKmMgGtTpPeE]}
--poolmetadatasize[+]MetadataVolumeSize[bBsSkKmMgG]}
[-m|--mirrors Mirrors]
[--nosync]
[--use-policies]
[-n|--nofsck]
[--noudevsync]
[-r|--resizefs]
[-t|--test]
[--type VolumeType]
[-v|--verbose]
[--version]
LogicalVolume[Path] [PhysicalVolumePath... ]
把整个剩余容量都添加到逻辑卷中
[root@localhost ~]#lvextend -l+10249 /dev/centos/root
Size of logicalvolume centos/root changed from 17.47 GiB (4472 extents) to 57.50 GiB (14721extents).
Logical volume root successfully resized
这个地方需要说明一下,如果磁盘格式是XFS文件系统,则使用xfs_growfs命令,如果磁盘是ext格式则需要使用resize2fs命令
修改xfs文件系统容量
[root@localhost ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-rootisize=256 agcount=4, agsize=1144832blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=4579328, 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
datablocks changed from 4579328 to 15074304
查看扩容后的逻辑卷大小
[root@localhost~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 58G 946M 57G 2% /
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 8.5M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 xfs 497M 120M 378M 25% /boot
[root@localhost~]#