逻辑卷管理LVM

LVM管理

在线扩容 on-line

快照snapshot 例如MySQL可以通过快照实现一致性的物理备份

主要内容:
创建逻辑卷
管理VG:VG扩容/VG缩小(数据迁移)
管理LV:LV扩容/文件系统扩容
LVM 快照 Snapshot

创建 扫描 显示详细 显示 扩展 缩小 删除 更改

pvcreate pvscan pvdisplay pvs pvremove
vgcreate vgscan vgdisplay vgs vgextend vgreduce vgremove vgchange
lvcreate lvscan lvdisplay lvs lvextend lvreduce lvremove lvchange
一、创建LVM
1. 准备物理磁盘
可以是: /dev/sdb /dev/sdc1 (建立在RIAD之上)
[root@server0 ~]# ll /dev/vdb*
brw-rw----. 1 root disk 253, 16 12月 6 11:11 /dev/vdb
brw-rw----. 1 root disk 253, 17 12月 6 11:11 /dev/vdb1

2. pv
[root@server0 ~]# pvcreate /dev/vdb1
Physical volume "/dev/vdb1" successfully created
[root@server0 ~]# pvscan
PV /dev/vdb1 lvm2 [1.00 GiB]
Total: 1 [1.00 GiB] / in use: 0 [0 ] / in no VG: 1 [1.00 GiB]
[root@server0 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/vdb1 lvm2 a-- 1.00g 1.00g

3. vg
[root@server0 ~]# vgcreate -s 64M vg1 /dev/vdb1
[root@server0 ~]# vgdisplay vg1
--- Volume group ---
VG Name vg1
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 960.00 MiB
PE Size 64.00 MiB
Total PE 15
Alloc PE / Size 0 / 0
Free PE / Size 15 / 960.00 MiB
VG UUID Zv9hou-iIWu-IOLc-DT1M-SxFy-Ug4k-hTSDSo

4. lv
[root@server0 ~]# lvcreate -l 10 -n lv1 vg1 //指定LE数量
[root@server0 ~]# lvcreate -L 200M -n lv2 vg1 //指定LV Size

[root@server0 ~]# lvscan
ACTIVE '/dev/vg1/lv1' [640.00 MiB] inherit
ACTIVE '/dev/vg1/lv2' [256.00 MiB] inherit

5. 创建文件系统并挂载
[root@server0 ~]# yum -y install xfsprogs
[root@server0 ~]# mkfs.xfs /dev/vg1/lv1
[root@server0 ~]# mkfs.ext4 /dev/vg1/lv2

[root@server0 ~]# mkdir /mnt/lv1 /mnt/lv2

[root@server0 ~]# vim /etc/fstab
/dev/vg1/lv1 /mnt/lv1 xfs defaults 0 0
/dev/vg1/lv2 /mnt/lv2 ext4 defaults 0 0

[root@server0 ~]# mount -a
[root@server0 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg1-lv1 651948 32928 619020 6% /mnt/lv1
/dev/mapper/vg1-lv2 245671 2062 226406 1% /mnt/lv2
二、VG管理
扩大VG vgextend
1. pv
[root@server0 ~]# pvcreate /dev/vdb2

2. vgextend
[root@server0 ~]# vgextend vg1 /dev/vdb2
[root@server0 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 2 0 wz--n- 1.88g 1.00g

减小VG vgreduce
1.查看当前的VG中PV的使用情况
[root@server0 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/vdb1 vg1 lvm2 a-- 960.00m 64.00m
/dev/vdb2 vg1 lvm2 a-- 960.00m 960.00m

2. pvmove数据到其它PV
[root@server0 ~]# pvmove /dev/vdb1 //原始PV
/dev/vdb1: Moved: 0.0%
/dev/vdb1: Moved: 71.4%
/dev/vdb1: Moved: 100.0%
[root@server0 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/vdb1 vg1 lvm2 a-- 960.00m 960.00m
/dev/vdb2 vg1 lvm2 a-- 960.00m 64.00m

3.vgreduce VG
[root@server0 ~]# vgreduce vg1 /dev/vdb1
Removed "/dev/vdb1" from volume group "vg1"
[root@server0 ~]#
[root@server0 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 1 2 0 wz--n- 960.00m 64.00m
三、LV扩容
1. lv扩容
[root@server0 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 2 0 wz--n- 1.88g 1.00g

[root@server0 ~]# lvextend -L 800M /dev/vg1/lv1
[root@server0 ~]# lvextend -L +800M /dev/vg1/lv1

[root@server0 ~]# lvextend -l 15 /dev/vg1/lv1
[root@server0 ~]# lvextend -l +15 /dev/vg1/lv1

增加整个VG FREE 50%
[root@server0 ~]# lvextend -l +50%FREE /dev/vg1/lv1
[root@server0 ~]# lvscan
ACTIVE '/dev/vg1/lv1' [768.00 MiB] inherit
ACTIVE '/dev/vg1/lv2' [512.00 MiB] inherit

2. FS扩容
[root@server0 ~]# df -Th
/dev/mapper/vg1-lv1 xfs 637M 67M 570M 11% /mnt/lv1
/dev/mapper/vg1-lv2 ext4 240M 32M 192M 15% /mnt/lv2

a. xfs
[root@server0 ~]# xfs_growfs /dev/vg1/lv1

b. ext2/3/4
[root@server0 ~]# resize2fs /dev/vg1/lv2

[root@server0 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv1 xfs 765M 67M 698M 9% /mnt/lv1
/dev/mapper/vg1-lv2 ext4 488M 32M 429M 7% /mnt/lv2
四、LVM快照snapshot
1. 创建快照 (EXT4)
[root@server0 ~]# lvcreate -L 128M -s -n lv2-snap /dev/vg1/lv2
[root@server0 ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv1 vg1 -wi-ao---- 768.00m
lv2 vg1 owi-aos--- 512.00m
lv2-snap vg1 swi-aos--- 128.00m lv2 5.92

[root@localhost ~]# dmsetup ls --tree
vg1-lv2--snap (253:2)
├─vg1-lv2--snap-cow (253:4)
│ └─ (8:0)
└─vg1-lv2-real (253:3)
├─ (8:0)
└─ (8:16)
vg1-lv2 (253:1)
└─vg1-lv2-real (253:3)
├─ (8:0)
└─ (8:16)

[root@server0 ~]# mount /dev/vg1/lv2-snap /mnt/lv2-snap/

[root@server0 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv2 ext4 488M 32M 429M 7% /mnt/lv2
/dev/mapper/vg1-lv2--snap ext4 488M 32M 429M 7% /mnt/lv2-snap

[root@server0 ~]# lvscan
ACTIVE '/dev/vg1/lv1' [768.00 MiB] inherit
ACTIVE Original '/dev/vg1/lv2' [512.00 MiB] inherit
ACTIVE Snapshot '/dev/vg1/lv2-snap' [128.00 MiB] inherit

[root@server0 ~]# ls /mnt/lv2
etc lost+found
[root@server0 ~]# ls /mnt/lv2-snap/

etc lost+found

2. 查看Snapshot
[root@server0 ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv1 vg1 -wi-ao---- 768.00m
lv2 vg1 owi-aos--- 512.00m
lv2-snap vg1 swi-aos--- 128.00m lv2 30.56


XFS:
[root@server0 ~]# mount -o nouuid,norecovery,ro /dev/vg1/lv1-snap /mnt/lv1-snap/

挂载快照,尽量使用ro的方式,将不会破坏快照卷中的数据

快照卷自动增长:
[root@localhost ~]# vim /etc/lvm/lvm.conf
snapshot_autoextend_threshold = 70
snapshot_autoextend_percent = 20

[root@localhost ~]# service lvm2-monitor start
[root@localhost ~]# chkconfig lvm2-monitor on
===================================================================================
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值