Oracle RAC--在Linux中建立裸裝置
首先解釋一下裸裝置的概念 裸裝置(raw device),也叫裸分割槽(原始分割槽),是一種沒有經過格式化,不被Linux透過檔案系統來讀取的特殊塊裝置檔案。它是不被作業系統直接管理的裝置,是透過字元方式訪問的裝置,這種裝置少了作業系統這一層,I/O效率更高。不少資料庫都能透過使用裸裝置作為儲存介質來提高I/O效率。 缺點就是不容易被管理。
一:先對磁碟分割槽
[root@ENMOEDU ~]# fdisk /dev/sdb #對磁碟/dev/sdb 分割槽
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.
The number of cylinders for this disk is set to 2610.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n #n 就代表分割槽
Command action
e extended
p primary partition (1-4)
p #p 表示選擇主分割槽,
Partition number (1-4): 1 #主分割槽的個數 1
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.
The number of cylinders for this disk is set to 2610.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n #n 就代表分割槽
Command action
e extended
p primary partition (1-4)
p #p 表示選擇主分割槽,
Partition number (1-4): 1 #主分割槽的個數 1
First cylinder (1-2610, default 1): 1 # 預設從第一個柱面開始
Last cylinder or +size or +sizeM or +sizeK (1-2610, default 2610):
Using default value 2610
Command (m for help): w #寫進磁碟,使分割槽生效,
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Last cylinder or +size or +sizeM or +sizeK (1-2610, default 2610):
Using default value 2610
Command (m for help): w #寫進磁碟,使分割槽生效,
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
二:建立裸裝置
方法1:目前最常用的方法
[root@ENMOEDU rules.d]#cd /etc/udev/rules.d #配置裸裝置的目錄
[root@ENMOEDU rules.d]# vi 60-raw.rules #它裡面有例子,兩種配置方法, 在裡面新增下面紅色部分(也就是選擇的第二種)
[root@ENMOEDU rules.d]# cat 60-raw.rules
# Enter raw device bindings here.
#
# An example would be:
# ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N"
# to bind /dev/raw/raw1 to /dev/sda, or
# ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"
# to bind /dev/raw/raw2 to the device with major 8, minor 1.
ACTION=="add", KERNEL=="sdb", RUN+="/bin/raw /dev/raw/raw1 %N"
# Enter raw device bindings here.
#
# An example would be:
# ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N"
# to bind /dev/raw/raw1 to /dev/sda, or
# ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"
# to bind /dev/raw/raw2 to the device with major 8, minor 1.
ACTION=="add", KERNEL=="sdb", RUN+="/bin/raw /dev/raw/raw1 %N"
方法2:以前紅帽4版本 用的的方法
[root@ENMOEDU rules.d]# raw /dev/raw/raw1 /dev/sdb1 # 繫結後生成一個檔案/dev/raw/raw1 記錄繫結的資訊.如果不想要直接刪除這個檔案就行了 重啟都就失效
/dev/raw/raw1: bound to major 8, minor 17
[root@rac2 ~]#vi /etc/sysconfig/rawdevices --編輯檔案,建立對映 重啟之後也能保留住raw的資訊
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw1 /dev/sdb1
[root@ENMOEDU rules.d]# raw -qa #查詢裸裝置
/dev/raw/raw1: bound to major 8, minor 17
[root@ENMOEDU rules.d]# ls -qlt /dev/raw/raw1
crw------- 1 root root 162, 1 Aug 28 20:32 /dev/raw/raw1
crw------- 1 root root 162, 1 Aug 28 20:32 /dev/raw/raw1
三:裸裝置的使用,可
以直接在把Oracle資料庫的表空間建立在裸裝置上,來提高讀寫速度。
SYS@ENMOEDU> create tablespace liuwenhe datafi
le '/dev/raw/raw1' size 50m ;
Tablespace created.
Tablespace created.
總結:裸裝置不經過檔案系統的緩衝,跨越了作業系統這一層,資料直接從Disk到Oracle進行傳輸,提高了資料的讀寫速度,
前提是磁碟的讀寫確實非常頻繁,以至於磁碟讀寫成為系統瓶頸。不可以把整個裸裝置都作為Oracle的資料檔案(必須讓資料檔案的大小稍微小於該裸裝置的實際大小)。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29654823/viewspace-1259820/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux裸裝置總結Linux
- linux udev裸裝置繫結Linuxdev
- AIX中的裸裝置AI
- Linux下基於裸裝置建立10g資料庫Linux資料庫
- vmware + 裸裝置 + crs + oracle10g RAC搭建步驟(二):安裝linuxOracleLinux
- raw 裸裝置資料檔案更改其他raw裸裝置位置
- Linux中的主次裝置Linux
- DM8 使用裸裝置搭建DMRAC
- DM7使用裸裝置搭建DMRAC
- 在Linux中,什麼是裝置驅動程式?如何安裝和解除安裝裝置驅動程式?Linux
- 在Oracle Linux 7.1上安裝DockerOracleLinuxDocker
- Oracle Linux 7.1中安裝MariadbOracleLinux
- 在Oracle Linux 7.1中使用原始碼來安裝PostgreSQL 9.6OracleLinux原始碼SQL
- 在Linux中, 如何建立一個快照?Linux
- 基於裸裝置的ASM磁碟組擴容方案ASM
- rhel 7.x 使用 udev scsi rules 配置裸裝置dev
- 記錄一則AIX使用裸裝置安裝OracleRAC的問題AIOracle
- Linux裝置樹的傳遞及Kernel中對裝置樹的分析Linux
- 在linux中安裝DockerLinuxDocker
- IO裝置在OS中的權衡
- 在Linux中,如何建立一個分割槽?Linux
- Linux裝置節點Linux
- Linux裝置模型(3)Linux模型
- Linux安裝oracleLinuxOracle
- 在Linux中安裝軟體Linux
- 11. Oracle for Linux安裝和配置—11.3. Oracle安裝和配置—11.3.2. 資料庫建立OracleLinux資料庫
- 在 Linux 中建立 LVM 分割槽的分步指南LinuxLVM
- 在Linux中,如何在Linux中安裝和配置KVM?Linux
- 11. Oracle for Linux安裝和配置——11.1. Vm安裝和虛機建立OracleLinux
- linux-中塊裝置檔案和字元裝置檔案的本質區別Linux字元
- Linux磁碟裝置基礎Linux
- linux檢視裝置命令Linux
- Linux中如何安裝RabbitMQ?在linux系統中安裝Rabbitmq的方法LinuxMQ
- 在Linux中,如何建立一個新使用者?Linux
- 在Linux中,如何建立、刪除和修改檔案?Linux
- Linux系統中如何檢視塊裝置資訊?Linux
- 【Linux 中斷】紅外接收器裝置驅動Linux
- Linux裝置掛載和解除安裝Linux
- Linux 高可用仲裁裝置配置Linux