Oracle ACFS Support on Linux詳解

來源:互聯網
上載者:User

標籤:rac   oracle   acfs   

最近準備使用Oracle ACFS在RAC環境下搭建OGG-HA,於是在RedHat6.5 64位系統上搭建了一套Oracle11.2.0.4.0 RAC,發現ACFS無法使用。之後尋找大量資料,發現11G ACFS並不支援RedHat6.5,11.2.0.4.0只支援到RedHat6.3。接下來介紹一下OracleACFS Support on Linux的資訊。

不支援ACFS的描述

[[email protected] ~]$cat /etc/issue|sed –n ‘1p’Red Hat Enterprise Linux Server release 6.5(Santiago)[[email protected] ~]$ lsmod | grep acfs                 #不支援的OS上 [[email protected] ~]$cat /etc/issue|sed –n ‘1p’Red Hat Enterprise Linux Server release 6.2(Santiago)[[email protected] ~]$lsmod| grep acfs                    #支援的OS上oracleacfs          1670360  0oracleoks             321904  2 oracleacfs,oracleadvm

從上可以看到對於不支援ACFS的OS Kernel模組上是沒有ACFS相關資訊的。接下來我們看看Cluster服務上的ACFS相關的服務

[[email protected] ~]$ crs_stat -t -vora.registry.acfs           #不支援的OS上CRS-0210: Could not find resource ‘ora.registry.acfs’. [[email protected] ~]$ crs_stat -t -vora.registry.acfs            #支援的OS上Name          Type     R/RA  F/FT   Target    State    Host         --------------------------------------------------------------------------------------- ora....ry.acfs    ora....fs.type 0/5    0/  ONLINE   ONLINE    note1  [[email protected] ~]$crsctl status resora.drivers.acfs –init        #支援的OS上NAME=ora.drivers.acfsTYPE=ora.drivers.acfs.typeTARGET=ONLINESTATE=ONLINE on note1

在安裝Grid Infrastructure執行root.sh指令碼的時候建立ACFS註冊表資源(ora.registry.acfs)。此過程會初始化叢集內節點的ACFS載入註冊表,若初始化成功,ora.registry.acfs資源狀態為ONLINE,否則初始化失敗。對於不支援的OS都會初始化失敗。可以通過以下方法驗證:

[[email protected] ~]$ acfsdriverstate -orahome$ORACLE_HOME supportedACFS-9200: Supported [[email protected] ~]$ acfsdriverstate-orahome $ORACLE_HOME supportedACFS-9459: ADVM/ACFS is not supported on this OSversion: ’unknown’ACFS-9201:Not Supported

acfsdriverstate是一個shell指令碼,通過調用$ORACLE_HOME/lib/acfstoolsdriver.sh指令碼,之後由acfstoolsdriver.sh調用$ORACLE_HOME/lib/osds-*.pm指令碼進行驗證。其中osds-acfslib.pm的perl指令碼就是用於驗證支援的OSPlatforms及對應的版本。接下來我們來看看這個指令碼(由於本人對perl不瞭解,也只是能看懂一點)

# Testing for "oraclelinux_release", etcprevents us from dropping# into the code below from other RH based distroslike CentOS, for example.if ((defined($release)) &&               #Redhat or OEL if defined     (($release =~ /^redhat-release/) ||     # straight RH      ($release =~ /^enterprise-release/) ||   # Oracle Enterprise Linux      ($release =~ /^oraclelinux-release/)))    # Oracle Linux

這裡提到基於RedHat的發行版,如CentOS,Oracle Linux等都是基於RedHat開源源碼編譯的OS是支援ACFS的,於是就有大神此基礎上對指令碼添加了對CentOS的支援如下:

if ((defined($release)) &&                #Redhat or OEL if defined     (($release =~ /^redhat-release/) ||       # straight RH       ($release=~ /^enterprise-release/) ||   # Oracle Enterprise Linux       ($release =~ /^centos-release/)||      #Centos Linux      ($release =~ /^oraclelinux-release/)))   # Oracle Linux

看到這裡會不會有朋友靈感爆發,嘗試去修改osds-acfslib.pm裡支援核心版本的相關資訊呢?對的,筆者就嘗試過,但對於筆者這種菜鳥來說,肯定是以失敗告終的。接下來再進一步分析失敗的原因:

[[email protected] redhat6.2 ~]#/u/app/11.2.0/grid/bin/acfsroot version_check   #支援的OS上ACFS-9316: Valid ADVM/ACFS distribution mediadetected at: ‘/u/app/11.2.0/grid/install/usm/EL6/x86_64/2.6.32-220/2.6.32-220.el6-x86_64/bin‘ [[email protected] redhat6.5 ~]#/u/app/11.2.0/grid/bin/acfsroot version_check    #不支援的OS上ACFS-9459: ADVM/ACFS is not supported on this OSversion: ’unknown’ACFS-9319:Unknown OS kernel version ’26.32-431.el6.x86_64’detectedACFS-9320:Missing file: ’oracleoks.ko’ACFS-9320:Missing file: ’oracleacfs.ko’ACFS-9317: No ADVM/ACFS distribution media detectedat location: ‘/u/app/11.2.0/grid/install/usm‘

到這裡原因應該很清楚了,/u/app/11.2.0/grid/install/usm目錄下會有相應的核心支援目錄,這是安裝GridInfrastructure時建立的,詳情請查看grep “acfs”/u/app/oraInventory/logs/installActions*.log的相關資訊,對於不支援的OS Platforms及核心版本是不會建立的,裡麵包含了ACFS驅動模組(oracleoks.ko,oracleadvm.ko oracleacfs.ko)。因此我們可以通過/u/app/11.2.0/grid/install/usm目錄查看ACFS支援的Linux作業系統不同的核心類型(這裡我列舉2個Oracle版本的):


11.2.0.3.0版本:

/u/app/11.2.0/grid/install/usm目錄下有(cmds,EL5,EL6,SLES10 ,SLES11)五個子目錄

[[email protected] redhat6.2 usm]# tree -L 3 EL5 EL6EL5|-- i386|   `--2.6.18-8|       |--2.6.18-8.el5-i686|       |--2.6.18-8.el5PAE-i686|       `--2.6.18-8.el5xen-i686`-- x86_64    |--2.6.18-8    |   |-- 2.6.18-8.el5-x86_64    |   `-- 2.6.18-8.el5xen-x86_64    |--2.6.32-100    |   `-- 2.6.32-100-x86_64    `--2.6.32-200        `--2.6.32-200-x86_64EL6`-- x86_64    |--2.6.32-100    |   `-- 2.6.32-100-x86_64    |--2.6.32-200    |   `-- 2.6.32-200-x86_64    `--2.6.32-71        `--2.6.32-71.el6-x86_64

 11.2.0.4.0版本:

/u/app/11.2.0/grid/install/usm目錄下有(cmds,Novell,Oracle)三個子目錄

[[email protected] usm]# tree -L 3 Oracle NovellOracle├── EL5│   └── x86_64│      └── 2.6.18-8├── EL5UEK│   └── x86_64│      ├── 2.6.32-100│      ├── 2.6.32-200│      ├── 2.6.32-300│      ├── 2.6.32-400│      ├── 2.6.39-100│      ├── 2.6.39-200│      ├── 2.6.39-300│      └── 2.6.39-400├── EL6│   └── x86_64│      ├── 2.6.32-220│      ├── 2.6.32-279 #RedHat 6.3│      └── 2.6.32-71└── EL6UEK    └──x86_64        ├──2.6.32-100        ├──2.6.32-200        ├──2.6.32-300        ├──2.6.32-400        ├──2.6.39-100        ├──2.6.39-200        ├──2.6.39-300        └──2.6.39-400Novell├── SLES10│   └── x86_64│      └── 2.6.16.21-0.8└── SLES11    └──x86_64        ├──2.6.27.19-5        ├──2.6.32.12-0.7        ├──3.0.13-0.27        └──3.0.61-0.9

 然後通過命令uname –r (RedHat 6)、uname –r –i (RedHat5)確認OS是否支援ACFS。

 

對於以上總結:

1、若需要使用ACFS時,先規劃選取可用該功能OS,避免重裝,可以使用CentOS,但核心版本是必須滿足支援ACFS的核心。

2、也可以使用UEK(UnbreakableEnterprise Kernel)進行更換核心。

3、要使用ACFS需要將asm的相容性設定為11.2(alterdiskgroup data set attribute ‘COMPATIBLE.ASM‘=‘11.2‘;)

 

請參考:

http://docs.oracle.com/cd/E11882_01/install.112/e47689/oraclerestart.htm#LADBI999

http://docs.oracle.com/database/121/CWLIN/storage.htm#CHDCIIDD

https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=1369107.1




本文出自 “以前,以後” 部落格,謝絕轉載!

Oracle ACFS Support on Linux詳解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.