基于LVM卷的MYSQL快照恢复
在mysql数据库环境中,如果数据库数据很重要,可以使用LVM卷管理的方式,通过对数据卷进行快照,得到快速备份的目的,
首先回顾一下LVM卷管理的几个概念:
- 物理磁盘PD,physical disk,也就是为系统添加的一块一块物理硬盘,没有分区没有进行格式化的,在系统中呈现的形态是/dev/vdb,/dev/sda等等
- 物理分区PP,physical partition,在物理磁盘上进行的分区,Linux系统中最多有4个主分区,一般建议是3个主分区加1个扩展分区,这里的PP也就是主分区,通过对PD进行fdisk分区,然后得到。在系统中呈现的形态是/dev/sda1,/dev/sda2等
- 物理卷PV,physical volume,这是组成LVM的基本组成单元,通过对物理分区PP进行转换,转换为PV,一个PP对应一个PV,转换前后,在系统中呈现的状态不变
- 物理卷组,VG,volume group,由多个PV组成的逻辑卷组,通过将多个PV,使用命令,合成一个VG,容量是这么多PV的和,在系统中呈现的状态是/dev/vg***,命名和自己设置有关
- 逻辑卷,LV,logical volume,在VG上创建的,可能是跨多个PV的逻辑空间
- 通过的逻辑卷进行格式化,创建文件系统fs,然后挂在给系统使用。

下面就是基于这种情况,做一下LVM卷划分。
- 假设现在给服务器添加了一块物理磁盘,大小为10G,第一步是要基于物理磁盘划分分区,fdisk /dev/sdd,划分3个大小1G的PP,在系统中分别为/dev/sdd1,/dev/sdd2,/dev/sdd3
- 基于3个PP制作PV,pvcreate /dev/sdd{1,2,3},得到三个PV
- 基于3个PV,制作VG,vgcreate /dev/mysqlvg /dev/sdd{1,2,3}
- 在VG上划分LV,lvcreate -L 1G -n mysqldata /dev/mysqlvg,划分的LV,大小为1G,名称为mysqldata
- 制作文件系统,mkfs.ext4 /dev/mysqlvg/mysqldata
- 将mysql数据tar打包出来,放在其他目录下,然后将LV挂在到对应目录中,mount /dev/mysqlvg/mysqldata /var/lib/mysql,然后将tar包解压到当前目录
- 修改目录属性,chown -r mysql.mysql /var/lib/mysql,删除lost+found目录
当将数据存放在LVM卷上之后,可以通过LVM卷的快照功能,对数据卷进行快照,然后对快照内容进行备份,从而达到对mysql数据库的备份操作。创建快照的步骤如下:
- 对数据库进行读锁锁定,flush tables with read lock;
- 然后开始快照卷,lvcreate -s -L 1G -n snaplv /dev/mysqlvg/mysqldata,对/dev/mysqlvg/mysqldata进行快照操作,-s就是快照,-L是大小,-n是命名
- 快照卷创建成功后,就可以unlock tables,然后将快照卷挂载到其他目录下,这个快照卷,就是对某一个时刻点,mysql数据库的全量备份。
基于LVM卷的MYSQL快照恢复的更多相关文章
- MySQL基于LVM快照的备份恢复(临时)
目录1.数据库全备份2.准备LVM卷3.数据恢复到LVM卷4.基于LVM快照备份数据5.数据灾难恢复6.总结 写在前面:测试环境中已安装有mysql 5.5.36数据库,但数据目录没有存放在LVM卷, ...
- MySQL的备份和恢复-基于LVM快照的备份(lvm-snapshot)
MySQL的备份和恢复-基于LVM快照的备份(lvm-snapshot) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是快照卷 如上图所示,原卷和快照卷可以不一样大,因为 ...
- mysql数据库基于LVM快照的备份
lvm-snapshot: 基于LVM快照的备份 1.事务日志跟数据文件必须在同一个卷上 2.创建快照卷之前,要请求mysql的全局锁,在快照创建完成之后释放锁 3 ...
- openstack基于卷快照恢复卷
openstack基于卷快照恢复卷 基于P版本,对卷基于快照进行恢复的源码分析 1.特性描述 在pike版本中,openstack官网增加了一个新特性,Cinder volume revert to ...
- 基于LVM(逻辑卷管理)的快照原理
一.为甚么不管多大的逻辑卷进行备份,快照都会在几秒之内完成? 快照在拍摄的一瞬间,系统会记录那个时间点逻辑卷的状态.数据等,此时拍下的快照相当于一张白纸.如图所示 快照做好后,随着时间的推移,源卷里的 ...
- 基于Redo Log和Undo Log的MySQL崩溃恢复流程
在之前的文章「简单了解InnoDB底层原理」聊了一下MySQL的Buffer Pool.这里再简单提一嘴,Buffer Pool是MySQL内存结构中十分核心的一个组成,你可以先把它想象成一个黑盒子. ...
- LVM卷管理
一.LVM是做什么的 LVM ( Logical Volume Manager ,逻辑卷管理器)LVM 是建立在磁盘和分区之上的一个逻辑层,用来提高磁盘分区管理的灵活性.LVM 可以对磁盘分区按照组的 ...
- 烂泥:【解决】修改LVM卷组名重启系统后,无法进入进入系统
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 一台服务器系统已经安装完毕,但是LVM的卷组vg使用的是默认的VolGroup名称,使用起来感觉不舒服,打算把这个卷组名称修改为vg. 先来查看系统中有 ...
- Linux LVM卷组管理
Linux LVM卷组管理 由于传统的磁盘管理不能对磁盘进行磁盘管理,因此诞生了LVM技术,LVM技术最大的特点就是对磁盘进行动态管理. 由于LVM的逻辑卷的大小更改可以进行动态调整,且不会出现丢失数 ...
随机推荐
- 数据库语法group by
因为在做pgsql和mysql数据库时group by 有报错,但是在以前做mysql5.6的时候没有问题,虽然知道时违反了sql的语法问题,但是没有搞清楚什么原因,也找了不少资料,查找原因,在盆友的 ...
- MVP, MVC, MVVM, 傻傻分不清楚~
1 简介 英文原文:MVC vs. MVP vs. MVVM 三者的目的都是分离关注,使得UI更容易变换(从Winform变为Webform),使得UI更容易进行单元测试. 2 MVC/MVP 2.1 ...
- 学习 Spring (四) Bean 的生命周期
Spring入门篇 学习笔记 定义 --> 初始化 --> 使用 --> 销毁 初始化 实现 org.springframework.beans.factory.Initializi ...
- 静态变量setter注入
1.java中静态方法调用非静态成员变量.非静态方法 public class Circle { private double radius = 1.0; double getAre() { retu ...
- Python操作Memcached
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached ...
- python 机械学习之sklearn的数据正规化
from sklearn import preprocessing #导入sklearn的处理函数用于处理一些大值数据 x_train, x_test, y_train, y_test = tr ...
- LOJ2721 [NOI2018] 屠龙勇士 【扩展中国剩余定理】
好久没写了,写一篇凑个数. 题目分析: 这题不难想,讲一下中国剩余定理怎么扩展. 考虑$$\left\{\begin{matrix}x \equiv a\pmod{b}\\ x \equiv c\pm ...
- Matplotlib学习---matplotlib的一些基本用法
Matplotlib有两种接口,一种是matlab风格接口,一种是面向对象接口.在这里,统一使用面向对象接口.因为面向对象接口可以适应更复杂的场景,在多图之间进行切换将变得非常容易. 首先导入matp ...
- 牛客小白月赛12 H(dfs序+线段树),F(分块思想+bit),J(二分)
H 华华和月月种树 链接:https://ac.nowcoder.com/acm/contest/392/H 思路:先得到整棵树最终的形态,在这棵树上进行三种操作,用dfs跑下,第二种操作就直接对最终 ...
- Scratch 简单的小游戏 --- 碰碰球
Scratch 简单的小游戏 --- 碰碰球 ================================ 积木脚本块的简要分类: 1. 角色 2. 背景 3. 角色和背景组成的场景 4. 挡板角 ...