Oracle 叢集檔案系統 (OCFS)

beatony發表於2010-06-15

Oracle 叢集檔案系統 (OCFS)

OCFS 1 版是原始裝置的一個優秀替代品。 它不僅更易於管理和維護,而且克服了 255 個原始裝置的限制。 但是,它並不是一個通用叢集檔案系統。 它只能用於儲存以下型別的檔案:

  • Oracle 資料檔案
  • 聯機重做日誌
  • 歸檔重做日誌
  • 控制檔案
  • Spfile
  • CRS 共享檔案(Oracle Cluster Registry CRS voting disk)。

有關 OCFS 的更多背景知識,請閱讀 OTN 技術文章“Linux 叢集檔案系統簡介

獲取 OCFS

轉到 並下載適於您的 Linux 版本的 OCFS RPM 您需要三個 RPM ocfs-supportocfs-tools ocfs-kernel-specific 模組。 要確定您所需要的核心專用模組,可使用 uname -r

# uname -r

2.4.21-15.0.2.ELsmp

對於本示例,我下載了:

ocfs-support-1.0.10-1.i386.rpm
ocfs-tools-1.0.10-1.i386.rpm
ocfs-2.4.21-EL-smp-1.0.12-1.i686.rpm

安裝 OCFS

# rpm -Uvh ocfs-support-1.0.10-1.i386.rpm

ocfs-tools-1.0.10-1.i386.rpm

ocfs-2.4.21-EL-smp-1.0.12-1.i686.rpm

Preparing... ########################################### [100%]

1:ocfs-support ########################################### [ 33%]

2:ocfs-tools ########################################### [67%]

3:ocfs-2.4.21-EL-smp ########################################### [100%]

Linking OCFS module into the module path [ OK ]

配置 OCFS

root 使用者身份執行 ocfstool

# ocfstool

選擇 Tasks → Generate Config選擇與 RAC 專用網路相對應的介面單擊 OK 生成 /etc/ocfs.conf 檔案,然後退出 ocfstool對叢集中的每個節點重複這些操作。

 

在每個節點上裝載 OCFS

# /sbin/load_ocfs

/sbin/insmod ocfs node_name=ds1.orademo.org ip_address=192.168.100.51

cs=1795 guid=2FB60EDD8B872FC4216C00010324C023 comm_voting=1 ip_port=7000

Using /lib/modules/2.4.21-EL-smp-ABI/ocfs/ocfs.o

Warning:kernel-module version mismatch

/lib/modules/2.4.21-EL-smp-ABI/ocfs/ocfs.o was compiled for kernel version 2.4.21-4.ELsmp

while this kernel is version 2.4.21-15.0.2.ELsmp

Warning:loading /lib/modules/2.4.21-EL-smp-ABI/ocfs/ocfs.o will taint the kernel:forced load

See for information about tainted modules

Module ocfs loaded, with warnings

不必擔心關於不同核心版本和損壞模組的警告。 這僅僅是模組實用工具讓我們瞭解該 ocfs 模組是為 Linux 核心較早版本編譯的。 只要我們的核心版本與該 ocfs 模組相同或者比它更新,ocfs 就會正常工作。

OCFS 檔案系統建立一個掛載點:

mkdir /u02

建立 OCFS 檔案系統:

mkfs.ocfs -b 128 -L /u02 -m /u02 -p 0775

-u root -g root /dev/sdb1 -F

神奇的掛載

mkfs.ocfs 只完成 OCFS 檔案系統初始化工作的一部分。其餘的初始化工作在第一次掛載檔案系統時進行。 因此,對於新建立的檔案系統,您必須在建立它的同一主機上掛載它。

mount -t ocfs -L /u02 /u02

請注意,mount 命令使用了在建立檔案系統期間所使用的檔案系統標籤 (-L /u02) 這是一種既引用檔案系統又不必記住裝置名的便利方法。

要驗證已掛載 OCFS 檔案系統,可執行 mount 命令或執行 df

mount -t ocfs

/dev/sdb1 on /u02 type ocfs (rw)

 

df /u02

Filesystem 1K-blocks Used Available Use% Mounted on

/dev/sdb1 35557856 36064 35521792 1% /u02

在其他節點上掛載 OCFS 檔案系統之前,最好在建立該檔案系統的節點上進行卸下並再次掛載該檔案系統的迴圈掛載操作:

umount /u02

mount -t ocfs -L /u02 /u02

現在就可以在其他叢集節點上掛載 OCFS 檔案系統了。

要在系統啟動時自動掛載 OCFS 檔案系統,可以在 /etc/fstab 中新增類似以下的一行:

LABEL=/u02 /u02 ocfs _netdev 0 0

我再次選擇了使用裝置標籤 (LABEL=/u02) 而非裝置名 (/dev/sdb1) 這在裝置名在每個節點上均不同時尤其有用。 在我的示例中,OCFS 裝置在節點 ds1 名為 /dev/sdb1,而在節點 ds2 上名為 /dev/sdf1 透過使用裝置標籤而非裝置名,我可以在每個節點上使用相同的 /etc/fstab 項。

為共享檔案建立目錄:

CRS 檔案

mkdir /u02/oracrs

chown oracle:oinstall /u02/oracrs

chmod 775 /u02/oracrs

 

資料庫檔案

mkdir /u02/oradata

chown oracle:oinstall /u02/oradata

chmod 775 /u02/oradata

對每個將要用於 ocfs 的磁碟分割槽重複這一過程。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22578826/viewspace-665356/,如需轉載,請註明出處,否則將追究法律責任。

相關文章