[数据库迁移]-LVM逻辑卷管理
森格 | 2023年1月
1、本文旨在记录数据库迁移过程(下云至机房)中,对新磁盘做逻辑卷管理的过程,并对Linux的文件系统和分区做了相关介绍,如有不对之处,敬请指正。
2、对Linux文件系统及分区有一定了解的同学,可以跳过第一章,直接查看第二章节的实操内容。
一、Linux的文件系统与分区
1.1 文件系统
在数据库的迁移过程中,申请到新机器后,我们需要对新磁盘进行格式化后才可以使用。格式化的过程中,不仅是为了清除数据,更重要的是为了写入文件系统。
文件系统:在Linux系统中,文件系统包含了文件中数据和文件系统的结构,所有Linux用户和程序看到的文件、目录、软连接及文件保护信息等都会存储在其中。
下面介绍两种常用主流的文件系统:etc4与xfs
ECT4:
Ext4 在性能、伸缩性和可靠性方面进行了大量改进。向下兼容 Ext3、最大 1EB 文件系统和 16TB 文件、无限数量子目录、Extents 连续数据块 概念、多块分配、延迟分配、持久预分配、快速 FSCK、日志校验、无日志模式、在线碎片整理、inode 增强、默认启用 barrier 等。它是 CentOS 6.3 的默认文件系统。
XFS:
被业界称为最先进、最具有可升级性的文件系统技术,由 SGI 公司设计,目前最新的 CentOS 7 版本默认使用的就是此文件系统。 数据完全性、传输特性、可扩展性、传输带宽等方面性能不俗。
两者的性能对比参考文章。
1.2 分区
对于Linux的文件系统与磁盘的关系如下图:
在Linux中只有一个独立且唯一的根目录,磁盘的分区通过挂载至不同的目录,形成了一整个文件系统。
我们拿一个现有的机器举例:
我们画图来具体了解下:
1.3 分区方式
1.3.1 标准分区
该分区方式,在逻辑分区划分好之后就无法改变其大小,但是随着业务增加,会出现空间不足的情况。解决方式通常有建立新的更大分区,再复制旧的分区过来,最后借助软连接代替旧分区;或用一些调整分区的工具来做处理,但该过程需要停止服务。
1.3.2 LVM分区
LVM : Logical Volume Manager ,即逻辑卷管理。它是 Linux 下对硬盘分区的一种管理机制。与传统分区不同的是LVM是在磁盘和分区之上的一个逻辑层,这样可以提高磁盘分区管理的灵活性。
LVM原理图如下:
名词解释
- PV:物理卷。真正的磁盘、磁盘分区,是LVM的基本存储逻辑块。
- VG:卷组。将多个物理卷组合起来就形成了卷组,我们可以把卷组想象成一块逻辑磁盘。
- LV:逻辑卷。类似于磁盘的分区,我们把对VG卷组的这个分区称为逻辑卷。
- PE:物理拓展。是保存数据的最小单元。在vg的详细信息中可以看到PE的大小(默认4MB),以及PE总数。
至此,我们对基本概念已经有了一定认识后,下面就要开始实际操作了。
二、实战操作
2.1 LVM命令集合
下面是一些常用的命令展示
# PV命令
pvcreate :根据物理盘,创建pv
pvscan :查询目前系统里的pv
pvdisplay:显示pv的状态
pvremove:将pv属性移除# VG命令
vgcreate:创建vg
vgscan:查找当前系统里面的vg
vgdisplay:显示当前系统vg的状态
vgextend:给vg添加额外的pv
vgreduce:在vg内删除pv
vgchange:设置vg是否是启动状态(active)
vgremove:删除一个vg# LV命令
lvcreate:创建lv
lvscan:查询当前系统的lv
lvdisplay:显示lv的属性
lvextend:给lv添加容量
lvredurce:给lv减少容量
lvremove:删除一个lv
lvresize:对lv大小的容量进行调整
2.2 LVM实操过程
背景:当前空闲磁盘为 /dev/sdb,磁盘大小为500G,对其进行分区(数量1个),大小默认(即为磁盘大小),建立一个VG,一个LV,挂载位置为新建目录 /data。
# 1.查看磁盘情况
lsblk -l# 2.给磁盘分区
fdisk /dev/sdb
# --分区设置--
p
n
p
多次回车(大小默认即可)
w# 3.创建pv
pvcreate /dev/sdb1# 查看pv的情况
pvs
pvdisplay# 4.创建vg
vgcreate data_vg /dev/sdb1# 查看vg的情况
vgs
vgdisplay# 5.创建lv
lvcreate -l (pe的数量,通过vgdisplay查看pe的最大值) -n data_lv data_vg# 查看vg的情况
lvs
lvscan# 6.格式化
mkfs.xfs /dev/data_vg/data_lv# 7.创建挂载目录
mkdir /data# 8.写入配置文件信息,永久生效
vim /etc/fstab
/dev/data_vg/data_lv /data xfs defaults 0 0# 9.挂载
mount -a# 10.再次浏览磁盘信息
lsblk -l
2.3 LVM展示
我们可以看到磁盘信息中,已经有了上述创建的分区sdb1,其下有LVM-data_vg-data-lv,至此我们创建LVM成功。
三、总结
本文是对Linux的文件系统与分区,及新申请下的机器进行LVM管理的实际操作过程的记录与总结,如有不妥之处,敬请指正。