|
主節(jié)點(diǎn)設(shè)置完畢之后,下面來到副節(jié)點(diǎn)的設(shè)置。
說點(diǎn)題外話,在沒有看君三思《手把手教你用VMware在linux下安裝oracle10g RAC》這篇文章的時(shí)候,我沒有把握好順序,也就是說沒有按照先主后副的順序來進(jìn)行實(shí)驗(yàn),完全沒有想到可以在主節(jié)點(diǎn)配置完成之后克隆一個(gè)副節(jié)點(diǎn)出來,稍加修改,就成了一個(gè)完備的系統(tǒng)。
我最初做實(shí)驗(yàn)的時(shí)候,同時(shí)配置兩個(gè)虛擬機(jī),同時(shí)安裝兩套linux操作系統(tǒng)。在安裝操作系統(tǒng)的時(shí)候,我的電腦基本就不動(dòng)了,CPU占用率居高不下。正常情況下兩個(gè)小時(shí)就完工了,我同時(shí)安裝兩套操作系統(tǒng)用去了足足三個(gè)半小時(shí),后來因?yàn)椴环弦筮€是其他什么原因,我又刪去一個(gè)。這樣的傻事我連續(xù)干了兩次,在看到三思文章里面系統(tǒng)克隆大法的時(shí)候我心都要碎了,我想的是為什么沒有早一些看到這篇美文。在即將隆重介紹的就是系統(tǒng)克隆大法之前再說點(diǎn)題外話,這個(gè)題外話尤為重要,因?yàn)檫@個(gè)地方卡殼,導(dǎo)致我重裝系統(tǒng)三次有余,累計(jì)起來,我重裝系統(tǒng)的次數(shù)已經(jīng)達(dá)到了十次。不過也是在最后一次重裝系統(tǒng)的時(shí)候,找到了其中的奧妙所在。
先獻(xiàn)上一副美圖:
![]() 這副圖里面展示了三個(gè)文件夾,其中RAC1文件夾包含了主節(jié)點(diǎn)的配置文件、RAC2文件夾包含了副節(jié)點(diǎn)的配置文件(這個(gè)文件夾里面的內(nèi)容實(shí)際是從RAC1里面克隆過來的)、raw_disk文件夾里面存放的便是裸設(shè)備文件。而在這之前實(shí)際存在的文件夾只有兩個(gè):RAC1和RAC2。至于raw_disk里面的文件是和RAC1里面的文件放置在一起的。自然,經(jīng)過克隆之后,RAC2文件夾里面也有了裸設(shè)備文件??瓷先ズ苊溃?yàn)榭寺“寻阍O(shè)備文件在內(nèi)的所有文件都給弄過來了,但實(shí)際不是這么回事,這么做恰恰為之后創(chuàng)建共享磁盤這一實(shí)驗(yàn)步驟埋下了劇毒,具體原因?qū)懙絼?chuàng)建共享磁盤的時(shí)候再點(diǎn)明,那樣會(huì)印象更加深刻一些。這里先按照正確的方法往下做:
1,關(guān)閉主節(jié)點(diǎn)(shutdown -hy 0掉linux操作系統(tǒng)),然后在和RAC1、raw_disk文件夾相同目錄下創(chuàng)建目錄RAC2,然后將RAC1目錄下所有文件運(yùn)用操作系統(tǒng)復(fù)制粘貼技術(shù)原模原樣的給弄到RAC2下來:
![]() ![]() ![]() 這里根據(jù)各自系統(tǒng)分配空間而定,因?yàn)槲仪捌诮o用來創(chuàng)建linux操作系統(tǒng)的本地虛擬磁盤指定了25GB大小,所以復(fù)制的時(shí)候時(shí)間稍長,有七分鐘左右。
2,復(fù)制完畢之后,可以看到RAC2下的文件和RAC1無論大小以及文件名完全相同:
![]() 3,使用文本編輯器打開RAC2下的vmx文件進(jìn)行修改,將凡是命為RAC1的地方改為RAC2,如下圖所示:
![]() 這里需要更改的只有兩處,改完之后我們退回到RAC2目錄下,將RAC1.VMDK這個(gè)文件改為RAC2.VMDK:
![]() 4,改完之后,我們?cè)谔摂M機(jī)中按照RAC2的路徑對(duì)vmx文件做open操作,這樣,另一個(gè)活生生的系統(tǒng)又出現(xiàn)在人民大眾面前:
![]() 5,點(diǎn)擊綠色啟動(dòng)按鈕進(jìn)行對(duì)RAC2的啟動(dòng),在彈出來的對(duì)話框中選擇“CREATE”:
![]() 6,啟動(dòng)到系統(tǒng)后,因?yàn)楸A袅薘AC1的所有參數(shù),所以我們要略做一些修改,首當(dāng)其沖的,自然是系統(tǒng)名稱,修改過程如下:
![]() 7,然后將網(wǎng)卡的MAC地址修改為正確形式,首先通過ifconfig命令記錄正確的網(wǎng)卡MAC地址,注意這個(gè)地方我們用ifconfig觀察到的MAC地址是正確的,而存在于/etc/sysconfig/network-scripts目錄下諸如ifcfg-eth0、ifcfg-eth1、ifcfg-eth2等文件下的MAC地址是錯(cuò)誤的,我們要做的就是用ifconfig命令記錄下來正確的MAC地址去替換ifcfg-ethx文件中錯(cuò)誤的MAC地址:
![]() ![]() 有一點(diǎn)要引起注意,在我們克隆過來的系統(tǒng)剛啟動(dòng)時(shí),所有之前設(shè)置的網(wǎng)卡,不管是動(dòng)態(tài)的、靜態(tài)的,這個(gè)時(shí)候都會(huì)作為動(dòng)態(tài)獲取IP地址去獲得一個(gè)和本機(jī)處于同一網(wǎng)段的IP地址,所以除了MAC地址之外,還需要我們將動(dòng)態(tài)獲得的IP地址還原為/etc/hosts文件中為RAC2定義的IP地址,然后重啟網(wǎng)絡(luò),如下圖所示:
![]() 8,除此之外,還要切換到oracle用戶下修改ORACLE_SID這個(gè)環(huán)境變量:
![]() 9,值得一提的是,興許有很多人會(huì)在這個(gè)過程中忽略一點(diǎn),也包括我。這一點(diǎn)如非仔細(xì)觀察不易發(fā)現(xiàn),而忽略這一點(diǎn)導(dǎo)致的后果就是在啟動(dòng)系統(tǒng)到sendmail的時(shí)候會(huì)停留很久,短則三五分鐘,長則十二、三分鐘,讓人誤解系統(tǒng)死機(jī)。好心好意的重啟系統(tǒng),到這個(gè)地方又很自然的放慢了春天的腳步,這就很讓人郁悶了。經(jīng)過多次觀察,我終于發(fā)現(xiàn)了癥結(jié)所在。原來在系統(tǒng)啟動(dòng)到sendmail這個(gè)模塊的時(shí)候會(huì)去檢查環(huán)回地址loopback ip,如果這個(gè)地方設(shè)置有問題或者跟系統(tǒng)自身不符,那么就會(huì)花時(shí)間去不斷的檢測(cè),檢測(cè)到最后也沒有結(jié)果系統(tǒng)就主動(dòng)放棄,跳過這一環(huán)節(jié)去執(zhí)行剩余的啟動(dòng)進(jìn)程。這就是為什么系統(tǒng)久久停留在sendmail這里揮之不去的原因,弄清這點(diǎn)之后,這個(gè)問題也就迎刃而解了:
至此,副節(jié)點(diǎn)的設(shè)置完畢,我們需要做的,就是重啟系統(tǒng),讓新的主機(jī)名、IP地址等生效。 下面開始配置clusterware:
1,設(shè)置ssh
設(shè)置ssh是整個(gè)實(shí)驗(yàn)過程不可或缺的環(huán)節(jié),簡單說就是配置主節(jié)點(diǎn)和副節(jié)點(diǎn)之間的信任機(jī)制,讓兩臺(tái)機(jī)器能夠相互通信。這點(diǎn)跟在三大unix平臺(tái)hp/aix/solaris下建立.rhosts文件然后添加各節(jié)點(diǎn)IP地址跟主機(jī)名到文件中類似。首先在主節(jié)點(diǎn)RAC1上ping副節(jié)點(diǎn)RAC2上的不同網(wǎng)段地址看是否能ping通:
![]() 2,在主節(jié)點(diǎn)上以oracle用戶身份生成用戶的公匙和私匙:
![]() 3,在副節(jié)點(diǎn)RAC2上執(zhí)行相同的操作,確保通信無阻:
![]() ![]() 4,在主節(jié)點(diǎn)RAC1上執(zhí)行以下操作:
![]() ![]() 5,主節(jié)點(diǎn)上執(zhí)行檢驗(yàn):
![]() 要注意觀察返回時(shí)間誤差不要相差太大,否則需要執(zhí)行時(shí)間同步。
6,在副節(jié)點(diǎn)上執(zhí)行類似操作:
![]() ![]() 7,接下來要配置共享磁盤,這一步非常之關(guān)鍵,我很多次都在這里遭遇滑鐵盧,但也因?yàn)榕龅降?、解決的問題的增多,這一步執(zhí)行起來也越來越順利。下面演示具體過程,首先在主節(jié)點(diǎn)上配置共享磁盤:
![]() 8,在副節(jié)點(diǎn)RAC2上執(zhí)行類似操作:
9,在主節(jié)點(diǎn)RAC1上創(chuàng)建卷組VOL1/VOL2,分別對(duì)應(yīng)/dev/sdd和/dev/sde:
![]() 10,在主節(jié)點(diǎn)上配置,在副節(jié)點(diǎn)上掃描,如果能掃描出主節(jié)點(diǎn)上創(chuàng)建的VOL1/VOL2,那表示成功:
![]() 到這里,clusterware的配置完成,下一節(jié)要花點(diǎn)時(shí)間介紹創(chuàng)建共享磁盤中可能遇到的不少問題以及解決方案。
clusterware的配置在整個(gè)實(shí)驗(yàn)過程中是最為核心的步驟,而ASM磁盤的創(chuàng)建過程又是核心中的核心。如果這一步走對(duì)了,接下來就輕松很多。反之,如果這一步始終過不去,那不僅后面的實(shí)驗(yàn)沒法進(jìn)行,而且很打擊人的積極性。我就在這一步躑躅了很長時(shí)間,因?yàn)樗庥龅墓收暇镁脽o法解決,比如無法創(chuàng)建VOL1/VOL2的問題,比如在主節(jié)點(diǎn)上創(chuàng)建了VOL1/VOL2,但是在副節(jié)點(diǎn)上無法識(shí)別到的問題等等。還好,搜索引擎足夠強(qiáng)大,很多問題我碰到的,人家也碰到了,而且也給出了解決方案,順著一個(gè)個(gè)的解決方案總算是過了這一關(guān),下面來具體探討一下所遭遇的故障們。
1,同樣的,為了跟前面的文章首尾呼應(yīng),這里先貼出一副圖:
![]() 這幅圖所透露出來的一個(gè)強(qiáng)烈的信息就是,裸設(shè)備文件和系統(tǒng)文件一定要隔離開,分別存放于不同的文件夾。為什么要這樣做前面沒有提,這里詳細(xì)解釋一下。我剛開始做實(shí)驗(yàn)的時(shí)候就是把系統(tǒng)文件跟裸設(shè)備文件全置放在一個(gè)文件夾內(nèi),到克隆操作系統(tǒng)的時(shí)候,這些文件也跟著一起到了副節(jié)點(diǎn)。到了創(chuàng)建共享磁盤的時(shí)候,潛伏的毒藥就釋放出來。比如我在RAC1上面創(chuàng)建了VOL1/VOL2,但是在RAC2上執(zhí)行/etc/init.d/oracleasm scandisks后再執(zhí)行/etc/init.d/oracleasm listdisks,沒有任何顯示,也就意味著在RAC2節(jié)點(diǎn)上識(shí)別不到RAC1節(jié)點(diǎn)上使用裸設(shè)備文件所創(chuàng)建的卷VOL1/VOL2。
造成這種現(xiàn)象的原因是此刻在RAC1和RAC2之間已經(jīng)不存在任何聯(lián)系,大家各自為政。在RAC1中存在實(shí)驗(yàn)所需裸設(shè)備文件,但是在系統(tǒng)克隆階段,這些裸設(shè)備文件又隨之涌入到了RAC2中,成了RAC2所獨(dú)有的裸設(shè)備。舉個(gè)簡單的例子,政府規(guī)定低保戶可以享受每月500圓人民幣的補(bǔ)貼用來維持生活,甲因?yàn)榧揖池毨В]有裸設(shè)備),每月都靠政府發(fā)放的500圓人民幣過日子。突然有一天,甲買福利彩票中了500萬人民幣(得到了裸設(shè)備),突然一躍成為富人階級(jí),那么他當(dāng)然無權(quán)繼續(xù)享受每月500圓的補(bǔ)貼了。
理解了這一點(diǎn),就比較好解決了,按照之前給出的正確方法,將系統(tǒng)文件和裸設(shè)備文件隔離開,分別存放在不同的文件夾,這樣系統(tǒng)克隆的時(shí)候就把裸設(shè)備文件排除在外。RAC1創(chuàng)建了VOL1/VOL2之后,RAC2再一掃描,就能夠順利的看到VOL1跟VOL2的身影了,這也就代表著共享磁盤創(chuàng)建成功。
2,針對(duì)另外一個(gè)問題再給出一幅圖片:
![]() 這幅圖前面已經(jīng)單獨(dú)給過一次,而且也就為什么這樣做給出了詳細(xì)的解釋,這里再啰嗦一下。除去系統(tǒng)磁盤之外的四塊磁盤不能在安裝操作系統(tǒng)的時(shí)候捆綁在一起,否則后期磁盤分區(qū)的時(shí)候系統(tǒng)會(huì)提示你分區(qū)信息已經(jīng)存在,如果你刪去已經(jīng)存在的分區(qū)再重新格式化磁盤并重新分區(qū),在系統(tǒng)還沒有重啟的時(shí)候興許感覺不出來,但只要系統(tǒng)一重啟,就再也無法正常進(jìn)入到系統(tǒng)了,因?yàn)樽鳛橄到y(tǒng)一個(gè)組成部分遭到了毀滅性的破壞,系統(tǒng)也隨之灰飛煙滅了。如果在沒有重啟的情況下,再使用這重新分區(qū)的磁盤來創(chuàng)建ASM磁盤,這時(shí)系統(tǒng)會(huì)認(rèn)為這塊盤還處于繁忙狀態(tài),并不是一塊干凈的磁盤,所以就無法創(chuàng)建可用的ASM磁盤。
碰到這樣的問題,我還沒有發(fā)現(xiàn)比較好的解決辦法,唯有從頭再來,這實(shí)在是一件讓人痛苦不堪的事,這樣的事,經(jīng)歷過一次也就夠了。
3,在給出一張很有代表性的圖片:
![]() 我看很多人在網(wǎng)上都貼出了類似這樣的圖片,問創(chuàng)建ASM磁盤不成功跟這個(gè)有沒有關(guān)系,因?yàn)檩^之官方給出的配置過程不太一樣,似乎少了些步驟:
Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba Start Oracle ASM library driver on boot (y/n) [n]: y Fix permissions of Oracle ASM disks on boot (y/n) [y]: y Writing Oracle ASM library driver configuration: [ OK ] Loading module "oracleasm": [ OK ] Mounting ASMlib driver filesystem: [ OK ] Scanning system for ASM disks: [ OK ] 看到了吧,官方給出的配置過程和我實(shí)驗(yàn)中的配置過程還真不一樣,乍看上去是少了一些步驟。很奇怪,我每次ASM磁盤配置過程都和我貼圖上面一樣,從來沒有一次與官方這個(gè)配置雷同。在我還沒有找到為什么不能創(chuàng)建ASM磁盤時(shí)我還真懷疑大概跟配置過程不完整有關(guān)系,也導(dǎo)致我一怒之下關(guān)了虛擬機(jī),刪去所有系統(tǒng)文件,從頭來過(算上這一次,重裝操作系統(tǒng)次數(shù)達(dá)到11次),但讓人氣餒非常的是到配置ASM磁盤的時(shí)候仍然和之前所顯示一模一樣。在我發(fā)現(xiàn)不能創(chuàng)建ASM磁盤的原因竟然跟安裝操作系統(tǒng)時(shí)犯下的錯(cuò)誤有關(guān)之后,我跳過這一步不去管它,繼續(xù)創(chuàng)建VOL1跟VOL2,然后再RAC2節(jié)點(diǎn)上scandisks、listdisks,發(fā)現(xiàn)也能成功識(shí)別到VOL1跟VOL2,這說明我的配置也是沒有問題的,雖然跟官方仍然存在那么一點(diǎn)點(diǎn)不同。
這段文字寫完,希望所有對(duì)ASM磁盤配置過程心存疑慮的人們放心大膽的朝前邁,一點(diǎn)問題沒有。
|
|
|