[数据库迁移]-LVM逻辑卷管理

news/2024/11/27 23:50:42/

[数据库迁移]-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管理的实际操作过程的记录与总结,如有不妥之处,敬请指正。


http://www.ppmy.cn/news/10946.html

相关文章

SpringCloud(12)— 分布式事务(Seata)

SpringCloud(12)— 分布式事务(Seata) 一 事务基础 1.事务的ACID原则 2.分布式事务问题 在分布式系统下,一个业务跨越多个服务或数据源,每一个服务都是一个事务。 要保证所有分支事务的最终状态一致&am…

React(coderwhy)- 09(项目实战 - 1)

创建React项目 ◼ 创建项目的方式:create-react-app ◼ 项目配置:  配置项目的icon  配置项目的标题  配置jsconfig.json 新建jsconfig.json文件,在文件中粘贴以下内容{"compilerOptions": {"target": "es5","…

unity日记4(鼠标键盘交互、实例)

目录 鼠标事件 鼠标点击、抬起、长按事件 键盘事件 键盘点击、抬起、长按事件 键盘键位替换 实例:鼠标-音乐播放/暂停 实例:调用其他对象的组件(双方法) 实例:调整其他对象的公有参数 鼠标事件 鼠标点击、抬起、长…

【计算机网络】网络基础

目录前言一、计算机网络发展二、初识“协议”1. 协议的概念2. 协议分层三、OSI七层模型四、TCP/IP五层(四层)模型五、网络传输基本流程1. 网络传输流程图2.数据包封装和分用六、网络中的地址管理1. IP地址2. MAC地址前言 本文是博主首次学习网络知识后进行的总结,文…

【SQLyog错误号码2058解决办法】

当你遇到下图这个错误时,是由于SQLyog在8.0以上版本采用了新的加密方式。 解决办法: win R打开 , 输入cmd,打开命令行窗口, 然后连接你的SQLyog版本的服务器, mysql -uroot -P3306 -p注意:…

解决虚拟机安装 VMware Tools 灰色无法点击问题

环境: 主机 OS: Windows 11 虚拟机平台: VMware Workstation 17 Pro 虚拟系统: Ubuntu 22.04 1. 问题 安装好 Linux 系统后,想要适配桌面大小等其它功能就需要安装 VMware Tools 这个工具,最简单的办法就是通过虚拟机平台的 “一键安装”&a…

有哪些你看了以后大呼过瘾的计算机书籍?

推荐几本让程序员们爱不释手的经典书。 1、代码整洁之道 鲍勃大叔作品,程序员,汇聚编程数十年编程生涯的心得体会,阐释如何解决软件开发人员、项目经理及软件项目领导们所面临的棘手的问题。 本书提出一种观点:代码质量与其整洁…

MATLAB-二维线性插值运算

二维插值在图像处理和数据可视化方面得到了大量的应用,二维插值的基本原理与一维插值一样,但二维插值是对两个变量进行函数的插值。在MATLAB中,主要使用interp2()函数进行二维插值的实现,其调用格式如下,zi interp2(z,…