当前位置:网站首页>lvm-snapshot:基于LVM快照的备份之准备工作
lvm-snapshot:基于LVM快照的备份之准备工作
2022-06-30 23:19:00 【星哥玩云】
选择lvm逻辑卷存储数据库数据目录的2大理由
(1) 一般来说,我们会将数据库的数据目录放在lvm逻辑卷上,因为数据库的数据增长速度可能会超出我们的预期
,这样在将来即便是数据增长很快,我们也不必担心,因为lvm可以实现在线扩容
(2) 我们可以对数据目录做基于lvm快照的备份
--------------------------------------分割线 --------------------------------------
MySQL管理之基于LVM实现几乎热备 http://www.linuxidc.com/Linux/2014-04/99672.htm
Ubuntu 12.04 KVM之VM动态迁移-基于LVM http://www.linuxidc.com/Linux/2014-04/99894.htm
RHEL5.9 LVM的使用 http://www.linuxidc.com/Linux/2014-02/97268.htm
Linux系统中对逻辑卷(LVM)的实现 http://www.linuxidc.com/Linux/2014-01/95004.htm
LVM磁盘管理之扩展与缩小LV http://www.linuxidc.com/Linux/2013-03/81262.htm
--------------------------------------分割线 --------------------------------------
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)
更多详情见请继续阅读精彩内容: http://www.linuxidc.com/Linux/2014-05/101307.htm
边栏推荐
- Reason why wechat payment wxpaypubhelper V3 callback XML is empty
- [无线通信基础-13]:图解移动通信技术与应用发展-1-概述
- HP notebook disable touchpad after mouse is inserted
- JMeter cross thread parameter association requires no script
- Warmup preheating learning rate "suggestions collection"
- [NLP] [textcnn] text classification
- 项目管理到底管的是什么?
- Esp8266 becomes client and server
- d编译时计数
- What are the contents and processes of software validation testing? How much does it cost to confirm the test report?
猜你喜欢

零样本和少样本学习
![Cesiumjs 2022 ^ source code interpretation [6] - new architecture of modelempirical](/img/ce/519778cd731f814ad111d1e37abd10.png)
Cesiumjs 2022 ^ source code interpretation [6] - new architecture of modelempirical

Solution to the conflict between unique index and logical deletion

让企业数字化砸锅和IT主管背锅的软件供应链安全风险指北

Redis - 01 cache: how to use read cache to improve system performance?

Fastjson V2 simple user manual

Zero sample and small sample learning

shell 同时执行多任务下载视频

10 airbags are equipped as standard, and Chery arizer 8 has no dead corner for safety protection

多線程經典案例
随机推荐
What does the &?
Fund customer service
Is it safe to choose mobile phone for stock trading account opening in Guangzhou?
[无线通信基础-13]:图解移动通信技术与应用发展-1-概述
在线客服系统代码_h5客服_对接公众号_支持APP_支持多语言
Strictly minor spanning tree
HP 惠普笔记本电脑 禁用触摸板 在插入鼠标后
股票开户要如何办理呢?办理手机开户安全吗
Shell multitasking to download video at the same time
Redis的缓存穿透、缓存击穿和缓存雪崩
conv2d详解--在数组和图像中的使用
Fund clients and sales agencies
Introduction to digital transformation solutions for enterprises going to sea
基金客户服务
Prospects of world digitalization and machine intelligence in the next decade
What is flush software? In addition, is it safe to open an account online now?
How cloud computing can protect online education in the post epidemic Era
5G智慧建筑解决方案2021
QQmlApplicationEngine failed to load component qrc:/main. qml:-1 No such file or directory
pytorch 的Conv2d的详细解释