专栏首页乐沙弥的世界SUSE Linux 10 配置裸设备(raw devices)

SUSE Linux 10 配置裸设备(raw devices)

     裸设备,是没有经过格式化的分区或磁盘,也叫裸分区(原始分区),不被Unix通过文件系统来读取的特殊字符设备。它由应用程序负责对 它进行读写操作。不经过文件系统的缓冲,是不被操作系统直接管理的设备。由于跨过操作系统管理,使得I/O效率更高。在基于SUSE Linux 10上安装Oracle 10g RAC的话,由于Oracle 10g 不支持将ocr与votingdisk 存放在ASM 磁盘中,因此,依然需要为其使用裸设备方式。SUSE Linux裸设备的配置与其他的Linux稍有差异,下面将具体描述。

1、先对磁盘进行分区,sdd如下面的方法炮制
#下面的示例中使用sdc和sdd来用作裸设备,一块用于ocr,一块用于votingdisk
bo2dbp:~ # fdisk /dev/sdc
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 
Value out of range.
Partition number (1-4): 
Value out of range.
Partition number (1-4): 1
First cylinder (1-200, default 1): 
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-200, default 200): 
Using default value 200

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

2、分区后的结果
bo2dbp:~ # fdisk -l /dev/sdc

Disk /dev/sdc: 209 MB, 209715200 bytes
64 heads, 32 sectors/track, 200 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1         200      204784   83  Linux
bo2dbp:~ # fdisk -l /dev/sdd

Disk /dev/sdd: 209 MB, 209715200 bytes
64 heads, 32 sectors/track, 200 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1               1         200      204784   83  Linux

3、配置裸设备
bo2dbp:~ # vi /etc/raw

# /etc/raw
#
# sample configuration to bind raw devices
# to block devices
#
# The format of this file is:
# raw<N>:<blockdev>
#
# example:
# ---------
# raw1:hdb1
#
# this means: bind /dev/raw/raw1 to /dev/hdb1
#
# ...

#Add new raw devices
raw1:sdc1
raw2:sdd1

4、启动裸设备
bo2dbp:~ # rcraw start
bind /dev/raw/raw1 to /dev/sdc1...                                    done
bind /dev/raw/raw2 to /dev/sdd1...                                    done

5、配置裸设备随系统启动
bo2dbp:~ # chkconfig raw
raw  on
#修改裸设备的权限与所有者,尽管该操作会修改,但重启之后将失效。永久修改见第7点.检查裸设备是否自动激活: chkconfig --list | grep raw
bo2dbp:~ # chown oracle:dba /dev/raw/raw[1-2]
bo2dbp:~ # chmod 660 /dev/raw/raw[1-2]

6、测试裸设备
bo2dbp:~ # dd if=/dev/zero of=/dev/raw/raw1 bs=1024k count=200
dd: writing `/dev/raw/raw1': No space left on device
200+0 records in
199+0 records out
209698816 bytes (210 MB) copied, 2.59567 seconds, 80.8 MB/s

7、修改裸设备启动后权限及所有者
#使用root用户修改/etc/udev/rules.d/50-udev-default.rules,确保raw设备的权限GROUP="dba", MODE="660", OWNER="oracle"
#将其中包含KENREL=="raw"的记录修改为如下
KERNEL=="raw[0-9]*", SUBSYSTEM=="raw", NAME="raw/%k", GROUP="dba", MODE="660", OWNER="oracle"

8、确认配置成功
#重启之后的状态     #Author :Robinson Cheng  Blog:http://blog.csdn.net/robinson_0612
bo2dbp:~ # ls -hltr /dev/raw
total 0
crw-rw---- 1 root   disk 162, 0 Sep 19 10:22 rawctl
crw-rw---- 1 oracle dba  162, 1 Sep 19 10:22 raw1
crw-rw---- 1 oracle dba  162, 2 Sep 19 10:22 raw2

bo2dbs:~ # /usr/sbin/raw -qa 
/dev/raw/raw1:  bound to major 8, minor 33
/dev/raw/raw2:  bound to major 8, minor 49

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Suse 11下多路径及udev配置

        最近给客户基于SuSe 11 SP3下多路径部署Oracle 10g RAC。SuSe 11下用10g,也算一朵奇葩,连篇文档都比较难找,谁叫Oracl...

    Leshami
  • MongoDB 游标

    Leshami
  • mydumper安装及安装故障汇总

       mydumper是针对mysql数据库备份的一个轻量级第三方的开源工具,备份方式术语逻辑备份。它支持多线程,备份速度远高于原生态的mysqldump以及众...

    Leshami
  • Python操作MySQL(二) ORM

    SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后...

    py3study
  • Django in App Urls

    简单、
  • React 进阶:Hooks 该怎么用

    之前如果我们需要抽离一些重复的逻辑,就会选择 HOC 或者 render props 的方式。但是通过这样的方式去实现组件,你打开 React DevTools...

    小生方勤
  • Flask使用SQLAlchemy连接mysql

    人生不如戏
  • Emlog个人博客音乐播放器插件

    目前Emlog播放器出名的也就属明月皓空和鬼少了,而且鬼少的音乐电台已经关闭,目测存活不久。播放器也已经转为本地播放形式,不过我认为这样也不错,至少能逃避版权问...

    空木白博客
  • We found potential security vulnerabilities in your dependencies. Only the owner of this reposito...

    找到一个叫做.gitignore,把package-lock.json贴在这个文件里

    达达前端
  • 分享我在前后端分离项目中Gitlab-CI的经验

    之前我分享了为ASP.NET Core后端搭建Gitlab-CI/CD实践,今天继续聊一聊为

    小码甲

扫码关注云+社区

领取腾讯云代金券