阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

99次阅读
没有评论

共计 3616 个字符,预计需要花费 10 分钟才能阅读完成。

选择 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

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计3616字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中