linux逻辑卷改名,【Linux基础】- lvm逻辑卷设置

环境

Centos7.6

当前存在下列盘

[root@initnode ~]# fdisk -l|grep "Disk /dev/sd*"

Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors

Disk /dev/sdb: 2147 MB, 2147483648 bytes, 4194304 sectors

Disk /dev/sdc: 3221 MB, 3221225472 bytes, 6291456 sectors

Disk /dev/sde: 1073 MB, 1073741824 bytes, 2097152 sectors

Disk /dev/sdd: 1073 MB, 1073741824 bytes, 2097152 sectors

1 创建并挂载lvm卷

1.1 创建PV

# 创建物理卷

[root@initnode ~]# pvcreate /dev/sdb /dev/sde /dev/sdd

Physical volume "/dev/sdb" successfully created.

Physical volume "/dev/sde" successfully created.

Physical volume "/dev/sdd" successfully created.

# 检查,创建了一个2G的和2个1G的

[root@initnode ~]# pvs

PV VG Fmt Attr PSize PFree

/dev/sda2 centos lvm2 a-- <19.00g 0

/dev/sdb lvm2 --- 2.00g 2.00g

/dev/sdd lvm2 --- 1.00g 1.00g

/dev/sde lvm2 --- 1.00g 1.00g

可以使用 pvdisplay 或 pvdisplay -v 查看详细信息

1.2 创建VG

# 创建vg

[root@initnode ~]# vgcreate mytestvg /dev/sdb /dev/sde /dev/sdd

Volume group "mytestvg" successfully created

# 查看

[root@initnode ~]# vgs

VG #PV #LV #SN Attr VSize VFree

centos 1 2 0 wz--n- <19.00g 0

mytestvg 3 0 0 wz--n- <3.99g <3.99g

可以使用 vgdisplay 或 vgdisplay -v 查看详细信息

1.3 创建LV

# 从mytestvg中创建一个名称为lvtest的lvm卷,大小为2G

[root@initnode ~]# lvcreate -n lvtest -L 2G mytestvg

Logical volume "lvtest" created.

# 查看

[root@initnode ~]# lvs

LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert

root centos -wi-ao---- <15.05g

swap centos -wi-ao---- <3.95g

lvtest mytestvg -wi-a----- 2.00g

可以使用 lvdisplay 或 lvdisplay -v 查看详细信息

1.4 格式化

# 格式化新建的卷

[root@initnode ~]# mkfs.xfs /dev/mytestvg/lvtest

meta-data=/dev/mytestvg/lvtest isize=512 agcount=4, agsize=131072 blks

= sectsz=512 attr=2, projid32bit=1

= crc=1 finobt=0, sparse=0

data = bsize=4096 blocks=524288, 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

1.5 挂载

# 挂载

[root@initnode ~]# mount /dev/mytestvg/lvtest /u01

# 查看

[root@initnode ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/centos-root 16G 4.2G 11G 28% /

devtmpfs 475M 0 475M 0% /dev

tmpfs 487M 0 487M 0% /dev/shm

tmpfs 487M 7.5M 479M 2% /run

tmpfs 487M 0 487M 0% /sys/fs/cgroup

/dev/sda1 1014M 133M 882M 14% /boot

tmpfs 98M 0 98M 0% /run/user/0

/dev/mapper/mytestvg-lvtest 2.0G 33M 2.0G 2% /u01

1.6 设置开机启动

# 注意边的地址是 /dev/mytestvg/lvtest,而不是 /dev/mapper/mytestvg-lvtest

echo "/dev/mytestvg/lvtest /u01 xfs defaults 0 0" >> /etc/fstab

2.在线扩容与缩容

在线扩容与缩容并不会影响到已有文件

2.1 扩容

假设还需要添加3G空间上去

2.1.1 查看当前剩余空间

[root@initnode ~]# vgs

VG #PV #LV #SN Attr VSize VFree

centos 1 2 0 wz--n- <19.00g 0

mytestvg 3 1 0 wz--n- <3.99g <1.99g # 当前剩余 1.99g

[root@initnode ~]# pvs

PV VG Fmt Attr PSize PFree

/dev/sda2 centos lvm2 a-- <19.00g 0

/dev/sdb mytestvg lvm2 a-- <2.00g 0

/dev/sdd mytestvg lvm2 a-- 1020.00m 1020.00m

/dev/sde mytestvg lvm2 a-- 1020.00m 1016.00m

2.1.2 创建pv

# 创建pv

[root@initnode ~]# pvcreate /dev/sdc

Physical volume "/dev/sdc" successfully created.

[root@initnode ~]# pvs

PV VG Fmt Attr PSize PFree

/dev/sda2 centos lvm2 a-- <19.00g 0

/dev/sdb mytestvg lvm2 a-- <2.00g 0

/dev/sdc lvm2 --- 3.00g 3.00g # 新添加,但并不在 vg组内

/dev/sdd mytestvg lvm2 a-- 1020.00m 1020.00m

/dev/sde mytestvg lvm2 a-- 1020.00m 1016.00m

2.1.2 添加进vg

[root@initnode ~]# vgextend mytestvg /dev/sdc

Volume group "mytestvg" successfully extended

[root@initnode ~]# vgs

VG #PV #LV #SN Attr VSize VFree

centos 1 2 0 wz--n- <19.00g 0

mytestvg 4 1 0 wz--n- 6.98g 4.98g # 当前剩余 4.98g了

2.1.3 扩lv

# 源lv大小为2g

[root@initnode ~]# lvs

LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert

root centos -wi-ao---- <15.05g

swap centos -wi-ao---- <3.95g

lvtest mytestvg -wi-ao---- 2.00g

# 对原lv扩大3g

[root@initnode ~]# lvextend -L +3G /dev/mytestvg/lvtest

Size of logical volume mytestvg/lvtest changed from 2.00 GiB (512 extents) to 5.00 GiB (1280 extents).

Logical volume mytestvg/lvtest successfully resized.

# lv已扩为5g

[root@initnode ~]# lvs

LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert

root centos -wi-ao---- <15.05g

swap centos -wi-ao---- <3.95g

lvtest mytestvg -wi-ao---- 5.00g

# 文件系统还没有扩

[root@initnode ~]# df -h

/dev/mapper/mytestvg-lvtest 2.0G 33M 2.0G 2% /u01

2.1.4 扩文件系统

[root@initnode ~]# xfs_growfs /dev/mytestvg/lvtest

meta-data=/dev/mapper/mytestvg-lvtest isize=512 agcount=4, agsize=131072 blks

= sectsz=512 attr=2, projid32bit=1

= crc=1 finobt=0 spinodes=0

data = bsize=4096 blocks=524288, 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 524288 to 1310720

# 当前已变为5g

[root@initnode ~]# df -h

/dev/mapper/mytestvg-lvtest 5.0G 33M 5.0G 1% /u01

ext4 文件扩容使用 resize2fs /dev/mytestvg/lvtest

2.2 缩容

缩容一般都有一定风险,且缩容需要 umount,假设当前缩小到2G

xfs不支持直接缩容,ext4可如下操作

resize2fs /dev/mytestvg/lvtest 2G #可能需要执行下提示的检查

lvreduce -L -3G /dev/mytestvg/lvtest

mount /u01

2.2.1 vg缩容

[root@initnode ~]# umount /u01

[root@initnode ~]# vgreduce mytestvg /dev/sdd

Removed "/dev/sdd" from volume group "mytestvg"

[root@initnode ~]# pvs

PV VG Fmt Attr PSize PFree

/dev/sda2 centos lvm2 a-- <19.00g 0

/dev/sdb mytestvg lvm2 a-- <2.00g 0

/dev/sdc mytestvg lvm2 a-- <3.00g 1012.00m

/dev/sdd lvm2 --- 1.00g 1.00g # 这能看出

/dev/sde mytestvg lvm2 a-- 1020.00m 0

[root@initnode ~]# vgs

VG #PV #LV #SN Attr VSize VFree

centos 1 2 0 wz--n- <19.00g 0

mytestvg 3 1 0 wz--n- <5.99g 1012.00m # 只有1G

2.2.2 pv清楚不再vg内的盘

[root@initnode ~]# pvremove /dev/sdd

Labels on physical volume "/dev/sdd" successfully wiped.

2.2.2 盘挂载回去

不影响当前文件

mount /u01

3.删除pv、vg、lv

# 卸载挂载

[root@initnode ~]# umount /u01

[root@initnode ~]# lvremove /dev/mytestvg/lvtest

Do you really want to remove active logical volume mytestvg/lvtest? [y/n]: y

Logical volume "lvtest" successfully removed

# 卸载vg

[root@initnode ~]# vgremove mytestvg

Volume group "mytestvg" successfully removed

# 卸载pv

[root@initnode ~]# pvs

PV VG Fmt Attr PSize PFree

/dev/sda2 centos lvm2 a-- <19.00g 0

/dev/sdb lvm2 --- 2.00g 2.00g

/dev/sdc lvm2 --- 3.00g 3.00g

/dev/sde lvm2 --- 1.00g 1.00g

[root@initnode ~]# pvremove /dev/sdb /dev/sdc /dev/sde

Labels on physical volume "/dev/sdb" successfully wiped.

Labels on physical volume "/dev/sdc" successfully wiped.

Labels on physical volume "/dev/sde" successfully wiped.

# 因为已删除,再次挂载就不成功了

[root@initnode ~]# mount /u01

mount: special device /dev/mytestvg/lvtest does not exist

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值