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

news2024/11/29 13:39:17

[数据库迁移]-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.coloradmin.cn/o/152682.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【实践】百度信息流推荐系统质效合一的交付系统建设

省时查报告-专业、及时、全面的行研报告库省时查方案-专业、及时、全面的营销策划方案库【免费下载】2022年12月份热门报告盘点百度APP Feed流业务架构变迁思考和升级实践罗振宇2023年跨年演讲PPT原稿吴晓波2022年年终秀演讲PPT原稿《底层逻辑》高清配图‍基于深度学习的个性化…

数据结构:关于时间复杂度的例题计算

1、嵌套循环时间复杂度的计算 该程序,最上面的嵌套循环里,i每执行一次,j就执行N次,所以嵌套循环执行次数为N*N次;中间的k变量循环了2*N次;最后M变量循环10次。所以总共执行了 N*N2*N10 次! 所以…

ERROR: Could not find a version that satisfies the requirement six>=1.9.0

问题分析 ERROR: Could not find a version that satisfies the requirement six>1.9.0 (from prompt-toolkit) (from versions: none) ERROR: No matching distribution found for six>1.9.0 出现这个问题的原因是python国内网络不稳定,用pip管理工具安装库…

websocket创建时附加额外信息 [如自定义headers信息(利用nginx)]

目录 情景描述: 解决方案 一、服务端要求前端创建websocket时附带的token,必须放在request的headers中(常出现在第三方的合作中); 思路: 整体效果: 具体步骤: 二、服务端只需要获…

【Unity云消散】巩固step,lerp和smoothstep

之前在学习HLSL常用函数时就有涉及到范围相关的函数,但是最近做的东西发现step,lerp和smoothstep这三个函数总是一直在用,总是会在用的时候突然忘记他们分别是干啥的,这里就记录一下方便查看吧,形式大部分参考Unity Shader 极简实…

单绞机控制算法(线缆行业)

在了解单绞机之前需要大家对收放卷以及排线控制有一定的了解,不清楚的可以参看下面几篇博客,这里不再赘述,受水平和能力所限,文中难免出现错误和不足之处,诚恳的欢迎大家批评和指正。 收放卷行业开环闭环控制算法 PLC张力控制(开环闭环算法分析)_RXXW_Dor的博客-CSDN博…

whistle本地代理线上(vue项目)

安装whistle install -g whistle 安装好后,cmd控制台启动whistle “w2 start” 访问whistle本地前端 127.0.0.1:8899 (一般是这个网址) 这里要注意如果您当前使用的是https类型的域名,需要安装https证书,这样才能代…

ShardingSphere的强制路由不起作用

开启注释 开启hint 然后使用注释去查询:/* ShardingSphere hint: dataSourceNameds_db */

本地数仓项目(三)—— 数据可视化和任务调度

1 背景 本文基于《本地数据仓库项目(一)——数仓搭建详细流程》和《本地数仓项目(二)——搭建系统业务数仓详细流程》数据为依托,实现数据可视化和任务调度 2 构造可视化数据 在mysql中新建ads_uv_count表 DROP TABLE IF EXISTS ads_uv_count; CREATE TABLE ads…

机器学习的一般框架

数据科学开发工具 anaconda:管理开发环境 jupyter:编写整个数据处理流程 pycharm:远程编写调试代码 ipdb:pycharm dubug时偶尔出现一些bug,可以用结合ipdb补充解决 数据开发六步 data 数据的获得、清洗、特征工程等…

1.数据结构(栈 队列 数组 链表)

栈 先进后出 后进先出 队列 先进先出 后进后出

告别2022,寄语2023(论一个普通大学牲的2022年能有多奇葩)

今天是2022年12月31日(当然文章发出应该是2023年1月啦,因为我阳了,/(ㄒoㄒ)/~~),原来时间过得这么快,作为中国地质带专的一名普通计算机学牲,也是趁着跨年之际,写一篇属于自己的年末…

Springcloud elasticsearch基础介绍

哈喽~大家好,这篇来看看Springcloud elasticsearch基础介绍。 🥇个人主页:个人主页​​​​​ 🥈 系列专栏: 【微服务】 🥉与这篇相关的文章: SpringClou…

jdk-HashMap(1.8)源码学习

hashMap介绍hashMap是我们日常用得最多的一种并发包其中之一了,hashMap是线程不安全的,不安全主要体现在高并发的场景下,1.8是用数组链表红黑树实现,1.8之前用数组链表,可能会导致死锁及数据丢失。红黑树结构&#xff…

牛啊!长这么大还是头一次见24W字的SpringBoot从入门到实战文档

牛啊!长这么大还是头一次见24W字的SpringBoot从入门到实战文档! 不服还真不行,因为这份文档包含的内容是又全又新,而且还特别高深,从入门到实战的内容全都有!! 继续往下看: 本文档从…

数据仓库基础知识(维度建模)

一、数据仓库概述1.1 数据仓库定义数据仓库:Data Warehouse,是为企业所决策制定过程,提供所有支持类型的数据集合。用于分析性报告和决策支持。数仓是一个面向主题、集成的、相对稳定、反应历史变化的数据集合,随着大数据技术的发…

[MySQL实战环境部署](超详细版)

MySQL实战环境部署1.部署CentOS1.1部署CenOS虚拟机步骤(1)基于VirtualBox(2)下载CentOS1.2环境部署过程2.部署MySQL1.部署CentOS 1.1部署CenOS虚拟机步骤 (1)基于VirtualBox 下载网址: Virtu…

java初学(仅供自己复习)

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目…

【电子通信如何建立数字信任】

在网络钓鱼攻击兴起之后,多数企业会定期开展针对员工的钓鱼邮件培训,只不过这样的培训效果不尽人意,在一份针对企业的钓鱼报告中,钓鱼邮件的攻击频率在过去几年中成倍增加,反钓鱼工作组甚至观察到了有记录以来的最剧烈…

react hook 源码完全解读

前言 从React Hooks发布以来,整个社区都以积极的态度去拥抱它、学习它。期间也涌现了很多关于React Hooks 源码解析的文章。本文就以笔者自己的角度来写一篇属于自己的文章吧。希望可以深入浅出、图文并茂的帮助大家对React Hooks的实现原理进行学习与理解。本文将…