lvm-snapshot:基于LVM快照的备份之准备工作

选择lvm逻辑卷存储数据库数据目录的2大理由

(1) 一般来说,我们会将数据库的数据目录放在lvm逻辑卷上,因为数据库的数据增长速度可能会超出我们的预期

,这样在将来即便是数据增长很快,我们也不必担心,因为lvm可以实现在线扩容

(2) 我们可以对数据目录做基于lvm快照的备份

1.创建用于存储数据目录lvm设备

1.1 创建一个新分区,并修改分区类型

# echo -e ‘n\np\n1\n\n+10G\nw\n‘|fdisk /dev/sdb

# echo -e ‘t\n8e\np\nw\n‘|fdisk /dev/sdb

显示和/dev/sdb相关的分区信息(磁盘分区,分区类型等)

# echo -e ‘p\nq\n‘|fdisk /dev/sdb

注:

磁盘分区仅有一个时,无需指定分区号

# echo -e ‘d\nw\n‘|fdisk /dev/sdb

磁盘分区多余一个时,需指定删除哪个分区

# echo -e ‘d\n2\nw\n‘|fdisk /dev/sdb

1.2 查看新增磁盘分区(/dev/sdb1)是否被内核识别

# ls /dev/sd*

/dev/sda  /dev/sda1  /dev/sda2  /dev/sda3  /dev/sdb  /dev/sdb1

# cat /proc/partitions

major minor  #blocks  name

8       16  209715200 sdb

8       17   20980858 sdb1

8        0  209715200 sda

8        1     204800 sda1

8        2   62914560 sda2

8        3    5252256 sda3

253        0   20971520 dm-0

253        1    2097152 dm-1

253        2   10485760 dm-2

253        3   20971520 dm-3

很显然,/dev/sdb1已被内核识别。

注1:一般来说,我们需要查看2个位置,以确定新增分区的确已被内核识别:/dev/目录和/proc/partitions

注2:由于/dev/sdb是我新加的硬盘,所以很快就被内核识别了;若不是新硬盘,可能就需要执行如下操作,

才能使内核识别我们新增的硬盘:

不能识别时执行的操作:

kpartx -af /dev/sda

partx -a /dev/sda

1.3创建lvm逻辑卷,并设置开机自动挂载

(1)创建物理卷

# pvcreate /dev/sdb1

(2)创建卷组,卷组名为myvg

# vgcreate myvg /dev/sdb1

(3)创建逻辑卷,逻辑卷名为mydata,大小是10G,卷组是myvg

# lvcreate -L 10G -n mydata myvg

(4)将lvm设备格式化成ext4格式(格式化的目的是创建文件系统,以存储数据;这里面只有逻辑卷才能被格式化)

# mke2fs -t ext4 /dev/myvg/mydata

(5)设置lvm设备的开机自动挂载

# echo "/dev/myvg/mydata       /mydata                  ext4    defaults,acl    0 0" >>/etc/fstab

(6)创建lvm设备的挂载点

# mkdir /mydata

(7)挂载测试,看lvm设备是否能被正常挂载

# mount -a

(8)查看lvm是否真的已经成功挂载

# df -hP /mydata/

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/myvg-mydata  9.9G  151M  9.2G   2% /mydata

注:挂载测试,很重要,若不提前测试,一旦开机自动挂载的配置有问题,可能会导致系统无法启动,很严重滴。

2.(使用通用二进制格式)安装mariadb-10.0.10

(1)将mariadb解压至/usr/local/目录

# tar xf mariadb-10.0.10-linux-x86_64.tar.gz -C /usr/local/

(2)切换至/usr/local/目录

# cd /usr/local/

(3)为mariadb创建软连接

# ln -sv mariadb-10.0.10-linux-x86_64 mysql

(4)添加名为mysql系统用户和系统组

# groupadd -r mysql

# useradd -g mysql -r -s /sbin/nologin mysql

(5)切换至mysql目录,修改该目录下所有文件的属主属组

# cd mysql/

# chown -R root.mysql ./*

(6)在/mydata目录下创建一个存储数据的目录data和二进制文件存放目录binlogs

# mkdir  /mydata/{data,binlogs}

(7)修改数据目录的属主属组为mysql

# chown -R mysql.mysql /mydata/

(8)将mariadb添加为系统服务,并添加可执行权限及开机自启

# cp support-files/mysql.server /etc/rc.d/init.d/mysqld

# chmod +x /etc/rc.d/init.d/mysqld

# chkconfig --add mysqld

# chkconfig mysqld on

(9)生成主配置文件my.cnf(\,屏蔽命令别名)

# \cp support-files/my-large.cnf /etc/my.cnf

(10)修改主配置文件my.cnf,添加或修改如下项

# vim /etc/my.cnf

innodb_file_per_table = on   #启用一个单独的大事务

thread_concurrency = 2       #启用的sql线程数,一般设为物理核心的2倍

datadir=/mydata/data         #指定数据存放目录

log-bin=/mydata/binlogs/mysql-bin   #指定二进制日志文件的存放目录

binlog_format=mixed

(11)MariaDB服务初始化(以mysql用户的身份初始化数据目录)

./scripts/mysql_install_db --datadir=/mydata/data/ --user=mysql

(12)将MariaDB的二进制程序添加至PATH路径,方便程序的执行(永久生效)

# echo ‘export PATH=/usr/local/mysql/bin/:$PATH‘ >/etc/profile.d/mysql.sh

# . /etc/profile.d/mysql.sh

(13)一切准备完毕,准备启动MariaDB服务

# service mysqld start

(14)连接至MariaDB数据库

# mysql  #刚安装的数据库默认是没有密码的,即无需密码即可登录,生产环境必须及时为mysql的root用户设置密码

MariaDB [hellodb]> source /root/hellodb.sql;  #导入sql语句,即插入数据,该sql语句位于/root目录下

MariaDB [hellodb]> SHOW DATABASES;  #显示当前系统都有哪些数据库(hellodb是我们刚刚导入的)

+--------------------+

| Database           |

+--------------------+

| hellodb            |

| information_schema |

| mysql              |

| performance_schema |

| test               |

+--------------------+

5 rows in set (0.00 sec)

很无奈,51cto总是提示字数超过15万字,不得不分成2篇....

lvm-snapshot:基于LVM快照的备份之准备工作,布布扣,bubuko.com

时间: 2024-10-04 08:48:47

lvm-snapshot:基于LVM快照的备份之准备工作的相关文章

xenserver snapshot backup根据快照名备份

11==----------------根据快照名备份----------------------#!/bin/shbackup_date=`date +%Y-%m-%d`echo backup_date: $backup_date########更改此处快照名##########snap_name=2016-06-06########更改备份目录#########snap_path_name=/root/zentao_backup snapshot_uuid=`xe snapshot-list

lvm-snapshot:基于LVM快照的备份

续 lvm-snapshot:基于LVM快照的备份之准备工作 Attention,Please! 重头戏开始啦 3.基于LVM快照的备份 (1)事务日志跟数据文件必须在同一个卷上: (2)创建快照卷之前,要请求MySQL的全局锁:在快照创建完成之后释放锁: (3)请求全局锁完成之后,做一次日志滚动:做二进制日志文件及位置标记(手动进行): 备份步骤: 3.1 请求全局锁,并滚动日志 MariaDB [hellodb]> FLUSH TABLES WITH READ LOCK; MariaDB [

Linux-6.5下 MariaDB-10基于LVM快照的备份数据 详解

理解部分: LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性.LVM可以对分区在线扩容,快照,镜像和条带化,功能非常强大.这篇文章的主题就是其中一个功能--快照. 快照(Snapshot)就是关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像.快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品: 其实

MySQL基于LVM快照的备份恢复

目录 1.数据库全备份 2.准备LVM卷 3.数据恢复到LVM卷 4.基于LVM快照备份数据 5.数据灾难恢复 6.总结 写在前面: 测试环境中已安装有mysql 5.5.36数据库,但数据目录没有存放在LVM卷,此次要演示基于LVM的数据备份和恢复,所以就把mysql的数据先迁移到LVM上再做快照卷的备份. 如果innodb表基于LVM来做备份,那事务日志文件和数据文件要在同一个LVM的逻辑卷上,因为在同一时刻我们只能对一个逻辑卷做快照,如果事务日志与数据文件不在同一卷上,那做快照后会导致事务

MySQL 备份和恢复(二)基于LVM实现几乎热备

LVM(Logical Volume Management逻辑卷管理)实现几乎热备的原理:利用LVM的快照卷达到可以保存数据库在某一时刻的瞬时状态,只需把当时的快照备份出来即可. LVM的快照原理:简单的讲就是lvm对某个卷创建快照卷后,快照卷则作为原卷的另一个访问入口,当原卷的数据发生变化时,则先把原卷的内容先复制一份到快照卷,然后才会继续对原卷数据的修改,这也就是之所以快照卷的容量大小应该大于整个备份过程中数据库的变化量的原因.所以当备份完成以后,快照卷也就可以拆除了,它的作用就是在备份过程

LVM创建,缩减及快照备份

管理逻辑卷工具:LVM 逻辑卷:灵活可动态存储的一种逻辑上的存储 最底层需要通过工具变成"物理卷":存储设备,Raid ,分区等 VG:(1)底层设备容量之和.(2)PE大小*数量 卷组上面一个块叫PE.默认每个块为4M,可更改. 一.首先创建分区 # fdisk /dev/sdb 二. 查看系统内是否已经安装LVM [[email protected] share]# rpm -qa |grep lvm lvm2-libs-2.02.98-9.el6.x86_64 lvm2-2.02

基于逻辑卷LVM的MySQL、mariadb数据库备份还原详细实现

前提是数据库的数据是放在逻辑卷上的: 数据库数据和日志分开存放:正常情况下数据和日志是放在两个独立的磁盘上,如果是raid的话,那么就无所谓了. 创建分区:         [[email protected] ~]$fdisk /dev/sda         Command (m for help): n         All primary partitions are in use         Adding logical partition 6         First sec

mysqldump 和 基于快照的备份

mysqldump 和 基于快照的备份 Table of Contents mysqldump: 仅适用于数据集较小 lvm-snapshot: 基于 LVM 快照的备份 相关阅读 mysqldump: 仅适用于数据集较小 mysqldump DB_NAME [tbname1] [tbname2] # mysqldump -uroot -pYOUR_PASSWORD DB_NAME > test.sql mysql> create database test2; mysqldump -uroo

Linux下的LVM创建以及Linux快照卷

通过最的学习,我加深了对LVM的理解,在这里,我将它写成博客,一是方便自己记忆,二是让Linux的入门学习者一起学习一下. 首先我们引入LVM的概念,并展开详细的说明,主要是近期学习的看法,我们先看一个图 我们将会提到的名词有:PV.VG.LV.PE 在图中,最下面的,我们可以理解为物理存储介质,硬盘或是分区 PV:称为物理卷,是LVM的基本存储块. VG:称为卷组,我们可以看卷组是由物理卷组合而成的. LV:称为逻辑卷,是从卷组中划分出来的. PE:physical extent,我就称为物理