视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
LinuxUDEV和为MySQLInnoDB共享表空间配置裸设备
2020-11-09 10:42:41 责编:小采
文档


udev 可管理保存在/dev 目录下的文件、文件只有在接入相应设备后才会生成、设备被拔出后自动删除,它还允许用户添加规则、以便修

⑴ UDEV 基础

udev 可管理保存在/dev 目录下的文件、文件只有在接入相应设备后才会生成、设备被拔出后自动删除

它还允许用户添加规则、以便修改/dev中默认的名称和权限、规则保存在/etc/udev/rules.d/目录下

⑵ MySQL 绑定裸设备

只有InnoDB可以用裸设备

优点:绕过了文件系统,读写速度会有提高,,并且数据会比较安全、同时降低文件系统负担、也改善系统性能

缺点:太安全了,好多备份工具可能没法用、dd可以考虑

下面介绍如何为mysql共享表空间绑定裸设备

㈠ 制作裸设备

# fdisk /dev/sda
==> /dev/sda5
# partprobe
# fdisk -l
# pvcreate /dev/sda5
# vgcreate -s 16M mysqlvg /dev/sda5
# lvcreate -L 90M -n sharespace mysqlvg
# vim /etc/sysconfig/rawdevices
==> /dev/raw/raw1 /dev/mysqlvg/sharespace
# service rawdevices start
# chkconfig rawdevices on
# chown -R mysql:dba /dev/mapper/mysqlvg-sharespace

㈡ 配置MySQL

① 指定newraw属性

innodb_data_home_dir =

innodb_data_file_path = /dev/mapper/mysqlvg-sharespace:60Mnewraw

② 重启mysql服务,待其完成分区初始化工作后,再关闭mysql服务

③ 修改raw属性

innodb_data_home_dir =

innodb_data_file_path = /dev/mapper/mysqlvg-sharespace:60Mraw

④ 重启mysql服务

如果整个系统重启、裸设备的权限会被回收、导致mysql无法开启

官网描述如下:

will fail after the next reboot, if the /dev-tree is dynamically created by, e.g. udev, a MAKEDEV-script or similar.
After reboot, the device will regain its former permission, typically excluding access by mysql.

alert 报警如下:

130719 20:42:43 InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name /dev/mapper/mysqlvg-sharespace
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.

此时可选方案:

1)写个简单的初始化脚本、当重启的时候自动授权

2)配置 udev条目、

[root@odd rules.d]# pwd
/etc/udev/rules.d

[root@odd rules.d]# cat 60-raw.rules

ACTION=="add", KERNEL=="sda5", GROUP=="dba", MODE=="0660", RUN+="/bin/raw /dev/raw/raw1 %N"
[root@odd rules.d]# cat 65-raw-permissions.rules

KERNEL=="sda5", GROUP="dba", MODE="0660"

推荐阅读:

RHEL6使用UDEV修改asm磁盘名

CentOS 5上部署UDEV

InnoDB存储引擎的启动、关闭与恢复

MySQL InnoDB表空间的配置

MySQL Server 层和 InnoDB 引擎层 体系结构图

下载本文
显示全文
专题