ITPub博客

首页 > IT基础架构 > 服务器/存储 > LVM逻辑卷管理的知识总结和操作说明

LVM逻辑卷管理的知识总结和操作说明

原创 服务器/存储 作者:lusklusklusk 时间:2019-11-12 17:24:13 0 删除 编辑

lvm的步骤
1:把磁盘或磁盘分区创建为pv物理卷
2:创建卷组vg,把pv加入已有卷组vg或把pv加入刚创建的卷组
3:在卷组vg中创建lv并分配空间,或对vg中现有lv扩展空间:
4:新建的lv必须格式化才能挂载路径使用,如果是已有lv并且已经挂载过路径,扩展空间后不需要格式化



重要知识点
1、服务端对磁盘扩展了空间,但是这个扩展的空间并不会在原来已经划分出来的分区/dev/sdb1上自动扩展,而只是扩展了/dev/sdb,这个时候需要重新创建分区/dev/sdb2来使用扩展的磁盘,把/dev/sdb2加到/dev/sdb1对应的lv中
2、如果是把磁盘分区创建为pv物理卷,磁盘分区类型必须是linux lvm,即通过8e把分区格式从linux改为linux lvm,磁盘创建为pv物理卷没有这个要求
3、partprobe可以刷新系统分区表的变化
4、如果是新增空间,第一要先使用pvscan看哪些磁盘或哪些磁盘分区加入了pv,再使用vgscan看哪些pv已经使用了
5、如果需要扩展lv空间并使lv对应的挂载目录能看到扩展后的空间,必须使用resize2fs,如lvextend -L 9G /dev/vg_1/lv_1 --resizefs
6、新建lv并分配空间,此空间必须小于等于vgdisplay里面看到的可用空间,所以新建的lv是没有使用过的空间,也就解释了为什么新建的lv必须格式化才能挂载目录






LVM的一些查看命令:pvscan、pvdisplay 、vgscan、vgdisplay、lvscan、lvdisplay
Pv为物理卷,创建方式为pvcreate /sda/sda1
Vg为卷组,创建方式为vgcreate 卷组名 /sda/sda1
Lv为逻辑卷,创建方式为lvcreate –n 逻辑卷名 –l 2G卷组名

查看LVM的VG对应的磁盘分区的命令是pvscan





新增一个磁盘,建立新的VG

1、服务器新增一块磁盘/dev/sdb,大小10G,fdisk -l看不到,执行如下后可以看到了
[root@FRSPGSQLDEV2 ~]# ls /sys/class/scsi_host/
host0  host1  host2
[root@FRSPGSQLDEV2 ~]# echo "- - -" > /sys/class/scsi_host/host0/scan
[root@FRSPGSQLDEV2 ~]# echo "- - -" > /sys/class/scsi_host/host1/scan
[root@FRSPGSQLDEV2 ~]# echo "- - -" > /sys/class/scsi_host/host2/scan

2、对这块盘划分为LVM分区,创建分区后,使用8e把分区格式从linux改为linux lvm
[root@FRSPGSQLDEV2 ~]# fdisk /dev/sdb
Command (m for help): n
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-20971519, default 2048):
Command (m for help): t
Hex code (type L to list all codes): 8e
Command (m for help): p
Command (m for help): w

3、将该分区创建为物理卷PV
[root@FRSPGSQLDEV2 ~]# pvcreate /dev/sdb1

4、将该物理卷PV创建为卷组VG,名称为vg_1,此时还没有/dev/vg_1这个目录
[root@FRSPGSQLDEV2 ~]# vgcreate vg_1 /dev/sdb1

5、从名为vg_1的VG中创建名为lv_1的lv,并划分3GB,创建成功后可以看到/dev/vg_1/lv_1,之前没有/dev/vg_1这个父目录的
[root@FRSPGSQLDEV2 ~]# lvcreate -n lv_1 -L 3G vg_1

6、格式化lv,并挂载该lv到目录/data
[root@FRSPGSQLDEV2 ~]# mkfs.ext4 /dev/vg_1/lv_1
[root@FRSPGSQLDEV2 ~]# mount /dev/vg_1/lv_1 /data

7、通过vgdisplay、lvdisplay可以看到vg_1还有7G空间,lv1只分配了3G,还有,继续扩展lv1为9G
[root@FRSPGSQLDEV2 ~]# lvextend -L 9G /dev/vg_1/lv_1
[root@FRSPGSQLDEV2 ~]# resize2fs /dev/vg_1/lv_1
--以上只执行第一个命令的话,/data目录的空间不会显示新增空间,需要执行resize2fs
以上两条命令可以合并为lvextend -L 9G /dev/vg_1/lv_1 --resizefs





磁盘新增空间,追加空间到已有VG
1、磁盘/dev/sdb增加10G空间,变成20G,此时无法把新增的10G追加到/dev/sdb1,只能重新创建分区/dev/sdb2
[root@FRSPGSQLDEV2 ~]# fdisk /dev/sdb
Command (m for help): n
Select (default p): p
Partition number (2-4, default 2):
First sector (20971520-41943039, default 20971520):
Command (m for help): t
Hex code (type L to list all codes): 8e
Command (m for help): p
Command (m for help): w
Select (default p): p

2、将该分区创建为物理卷PV
[root@FRSPGSQLDEV2 ~]# partprobe
[root@FRSPGSQLDEV2 ~]# pvcreate /dev/sdb2

3、将该物理卷PV扩展到名称为vg_1的卷组VG
[root@FRSPGSQLDEV2 ~]# vgextend vg_1 /dev/sdb2

4、通过vgdisplay、lvdisplay可以看到vg_1还有11G空间,lv1只分配了9G,还有,继续扩展lv1为19G
[root@FRSPGSQLDEV2 ~]# lvextend -L 19G /dev/vg_1/lv_1 --resizefs




新增一块磁盘,追加空间到已有VG,并创建新的lv
1、新增磁盘/dev/sdc,空间10G,把磁盘创建为物理卷
[root@FRSPGSQLDEV2 ~]# pvcreate /dev/sdc

2、将该物理卷PV扩展到名称为vg_1的卷组VG
[root@FRSPGSQLDEV2 ~]# vgextend vg_1 /dev/sdc

3、通过vgdisplay、lvdisplay可以看到vg_1还有11G空间,lv1只分配了19G,还有,继续扩展lv1为25G,这样vg_1就只剩5G了
[root@FRSPGSQLDEV2 ~]# lvextend -L 25G /dev/vg_1/lv_1 --resizefs

4、vg_1剩余的5G继续创建出一个新的lv2
[root@FRSPGSQLDEV2 ~]# lvcreate -n lv_2 -L 3G vg_1

5、格式化lv2,并挂载该lv到目录/data2
[root@FRSPGSQLDEV2 ~]# mkfs.ext4 /dev/vg_1/lv_2
[root@FRSPGSQLDEV2 ~]# mount /dev/vg_1/lv_2 /data2

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30126024/viewspace-2663760/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Welcome to Lukes DB HOME。11G OCM, 8年以上DBA工作经验,博客仅记录自己的一个学习过程,不代表完全准确,如有需要,欢迎转载。

注册时间:2015-02-02

  • 博文量
    382
  • 访问量
    533111