zoukankan      html  css  js  c++  java
  • Linux UDEV和为MySQL InnoDB共享表空间配置裸设备

      ⑴ 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"

    By WaterBin

    2013-07-20

    Good LUCK



  • 相关阅读:
    模仿企业在宣传中的动画效果页面
    模仿头条导航的左右滚动效果
    Ubuntu 1210怎么获得root权限登录
    Linux嵌入式 -- 内核简介(x86)
    linux ioctl()函数
    BUTTON标签和INPUT标签的区别【转】
    如何删除列表中的空格
    python第一模块数据类型
    python第一模块基础语法
    最短路 dijkstra+优先队列+邻接表
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3202836.html
Copyright © 2011-2022 走看看