xuanhao 发表于 2018-5-11 10:37:59

RedHat Linux 下RAW的应用

RedHat Linux 下RAW的应用   

        裸设备,也叫裸分区(原始分区),是一种没有经过格式化,上被unix通过文件系统来读取的特殊字符设备。它由应用程序负责对它进行读写操作。上经过文件系统的缓冲。
         因为使用裸设备避免了再经过unix操作系统这一层,数据直接从disk到oracle进行传输,所以使用裸设备对于读写频繁的数据库应用来说,可以极大地提高数据库系统的性能。当然,这是以磁盘的 i/o 非常大,磁盘i/o已经称为系统瓶颈的情况下才成立。如果磁盘读写确实非常频繁,以至于磁盘读写成为系统瓶颈的情况成立,那么采用裸设备确实可以大大提高性能
  

  RedHat EL4 绑定裸设备
  两种方式:
  1)命令绑定
  raw /dev/raw/raw /dev/xxx
  其中n的范围是0-8191。raw目录上存在可以创建。
  执行这个命令,就会在/dev/raw下生成一个对应的raw文件
  用命令方式绑定裸设备在系统重启后会失效。
  2)修改raw配置文件
  修改/etc/sysconfig/rawdevices文件如下,以开机时自动加载裸设备,如:
  /dev/raw/raw1 /dev/sdb1
  这种方式是通过启动朊务的方式来绑定裸设备。
  也可以把这个命令写在/etc/rc.local上,使每次启动都执行这些命令。
  3)改变裸设备属主
  两种方法:
  把命令卸载/etc/rc.local上:
  chown oracle:oinstall /dev/raw/raw1
  修改/etc/udev/permissions.d/50-udev.permissions文件 :
  从
  raw/*:root:disk:0660
  修改为
  raw/*:oracle:oinstall:0660
  这个的意思是修改裸设备的默认属主为oracle:oinstall,默认的mode是0660。
  

  RedHat EL5 绑定裸设备
  Redhat 5 以上版本已经取消了对裸设备的支持,所以在安装 Oracle RAC 时所使用的的裸设备,需要通过 Udev 进行设置:
  设置重新启动自动挂载裸设备
  

  # vi /etc/udev/rules.d/60-raw.rules
  添加以下部分的内容   -----两种方式均可
  设备名称:
  ACTION=="add", KERNEL="<device name>", RUN+="raw /dev/raw/rawX %N"
  主/次号码:
  ACTION=="add", ENV{MAJOR}="A", ENV{MINOR}="B", RUN+="raw /dev/raw/rawX %M %m"
  用你需要绑定的设备吊称替换 <device name>(如:/dev/sda1)。"A" 和 "B" 是设备的主/次号码,X 是系统使用的 raw 设备号码。
  ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"   
  ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"
  注意确定raw命令在/bin目录下,有的linux是在/usr/bin目录下
  

  设置自动挂载裸设备的用户属性:
  

  #vi/etc/udev/rules.d/65-raw-permissions.rules
  # Set permissions of raw bindings to Oracle Clusterware devices
  KERNEL=="raw1", OWNER="root", GROUP="oinstall", MODE="660"
  KERNEL=="raw2", OWNER="oracle", GROUP="oinstall", MODE="660"
  KERNEL=="raw3", OWNER="oracle", GROUP="oinstall", MODE="660"
  

  # vi /etc/udev/rules.d/65-raw-permissions.rules
  # Set permissions of raw bindings to Oracle Clusterware devices
  KERNEL=="raw1", OWNER="oracle", GROUP="dba", MODE="660"
  KERNEL=="raw2", OWNER="oracle", GROUP="dba", MODE="660"
  

  注意:
  

  使用裸设备作为oracle的数据文件必须注意以下几点:
  1)一个裸设备只能放置一个数据文件
  2)数据文件的大小上能超过裸设备的大小
  如果是日志文件,则裸设备最大可用大小=裸设备对应分区大小 - 1 * 512 (保留一个redo lock)
  如果是数据文件,则裸设备最大可用大小=裸设备对应分区大小 - 2 * db_block_size(保留两个block)
  为了简单起见,对所有的文件设置称比裸设备小1M即可。
  3)数据文件最好上要设置称自动扩展,如果设置称自动扩展,一定要把maxsize设置设置为比裸设备小


  
页: [1]
查看完整版本: RedHat Linux 下RAW的应用