Linux UDEV和为MySQL InnoDB共享表空间配置裸设备

页面导航:首页 > 数据库 > Mysql > Linux UDEV和为MySQL InnoDB共享表空间配置裸设备

Linux UDEV和为MySQL InnoDB共享表空间配置裸设备

来源: 作者: 时间:2016-02-18 10:28 【

Linux UDEV和为MySQL InnoDB共享表空间配置裸设备 ⑴ UDEV 基础 udev 可管理保存在/dev 目录下的文件、文件只有在接入相应设备后才会生成、设备被拔出后自动删除 它还允许用户添加规则、以便
Linux UDEV和为MySQL InnoDB共享表空间配置裸设备
 
  ⑴ UDEV 基础
  
     udev 可管理保存在/dev 目录下的文件、文件只有在接入相应设备后才会生成、设备被拔出后自动删除
     它还允许用户添加规则、以便修改/dev中默认的名称和权限、规则保存在/etc/udev/rules.d/目录下
  
  
  ⑵ MySQL 绑定裸设备
  
     只有InnoDB可以用裸设备
  
     优点:绕过了文件系统,读写速度会有提高,并且数据会比较安全、同时降低文件系统负担、也改善系统性能
     缺点:太安全了,好多备份工具可能没法用、dd可以考虑
  
     下面介绍如何为mysql共享表空间绑定裸设备
  
     ㈠ 制作裸设备
     
     # fdisk /dev/sda
     ==> /dev/sda5
     # partprobe
     # fdisk -l
     # preate /dev/sda5
     # vgcreate -s 16M vg /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无法开启
     官网描述如下:
[plain] 
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 报警如下:
[plain] 
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条目、
[plain] 
[[email protected] rules.d]# pwd  
/etc/udev/rules.d  
  
[[email protected] rules.d]# cat 60-raw.rules  
  
ACTION=="add", KERNEL=="sda5", GROUP=="dba", MODE=="0660", RUN+="/bin/raw /dev/raw/raw1 %N"  
[[email protected] rules.d]# cat 65-raw-permissions.rules  
  
KERNEL=="sda5", GROUP="dba", MODE="0660"  

 


Tags:

文章评论

最 近 更 新
热 点 排 行
Js与CSS工具
代码转换工具

<