歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

SUSE Linux 10中如何配置裸設備

裸設備,是沒有經過格式化的分區或磁盤,也叫裸分區(原始分區),不被Unix通過文件系統來讀取的特殊字符設備。它由應用程序負責對它進行讀寫操作。不經過文件系統的緩沖,是不被操作系統直接管理的設備。由於跨過操作系統管理,使得I/O效率更高。在基於SUSE Linux 10上安裝Oracle 10g RAC的話,由於Oracle 10g 不支持將ocr與votingdisk 存放在ASM 磁盤中,因此,依然需要為其使用裸設備方式。SUSE Linux裸設備的配置與其他的Linux稍有差異,下面將具體描述。

[python] view plaincopyprint?

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

本文URL:http://www.bianceng.cn/OS/Linux/201410/45623.htm

/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

本文URL:http://www.bianceng.cn/OS/Linux/201410/45623.htm

Copyright © Linux教程網 All Rights Reserved