用戶一個(gè)Oracle 10g RAC的基于ocfs2的集群,redhat 5.4 64bit環(huán)境,需要更換存儲(chǔ)和升級(jí)更換8GHBA卡,過程總結(jié)如下:
用戶一個(gè)Oracle 10g RAC的基于ocfs2的集群,RedHat 5.4 64bit環(huán)境,需要更換存儲(chǔ)和升級(jí)更換8GHBA卡,過程總結(jié)如下:
準(zhǔn)備篇:
1、先在root用戶下,用df -h 查看原存儲(chǔ)掛載的使用情況,評(píng)估遷移的數(shù)據(jù)量
2、用mount顯示現(xiàn)在存儲(chǔ)的掛載的情況和格式,把/etc/fstab 文件備份、記錄下來
3、考慮到加入新HBA卡,原存儲(chǔ)LUN識(shí)別位置會(huì)發(fā)生改變,難以識(shí)別,通過
/sbin/scsi_id -g -u -s /block/sdX,查看現(xiàn)有存儲(chǔ)的每個(gè)LUN的uuid,記錄下來,為保險(xiǎn)起見,在每個(gè)掛載的LUN,touch 一個(gè)標(biāo)識(shí)原sdX的和掛載點(diǎn)的空文件,以便同時(shí)掛載新老存儲(chǔ)時(shí)方便識(shí)別。
4、記錄下新的存儲(chǔ)的LUN的UUID,截圖備查。
操作篇:
1、oracle下
su - oracle 切換到oracle用戶
sqlplus / as sysdba
shutdown immediate
退出oracle
在oracle安裝的$ORACLE_HOME/crs/bin目錄下,以root用戶執(zhí)行 ./crs_ctl disable crs,以便在這個(gè)切換重啟過程中RAC crs資源不自動(dòng)啟動(dòng),防止數(shù)據(jù)損壞。
2、把/etc/fstab里的原存儲(chǔ)的自動(dòng)掛載注解掉,逐臺(tái)關(guān)閉服務(wù)器,插入新8G FC HBA卡,先啟動(dòng)1臺(tái)rac主機(jī),啟動(dòng)后果然存儲(chǔ)的ID發(fā)生改變,自動(dòng)發(fā)現(xiàn)與原來fdisk -l 的id不一致,先不管
3、在存儲(chǔ)端發(fā)現(xiàn)新的服務(wù)器,將預(yù)先分好的LUN分配給主機(jī),原服務(wù)器上已經(jīng)安裝過多路徑軟件,這里沒有做改變,主機(jī)端需要重新啟動(dòng)以便發(fā)現(xiàn)新分配的存儲(chǔ),重起后fdisk-l發(fā)現(xiàn)更多的存儲(chǔ)LUN,有文件格式是原LUN,但sdX的存儲(chǔ)完全不對(duì),這時(shí)原來記錄的UUID使用上了,用/sbin/scsi_id -g -u -s /block/sdX,逐個(gè)查看,用cat /sys/block/sda/device/vendor 也可以看到存儲(chǔ)的生產(chǎn)廠商(新老存儲(chǔ)不同廠商),這里一定仔細(xì),老存儲(chǔ)有數(shù)據(jù),新存儲(chǔ)需要掛載后格式化。
4、根據(jù)uuid把原存儲(chǔ)的LUN還掛載到原目錄下,如
mount -o datavolume,nointr -t ocfs2 /dev/sdi1 /oa 類似,把原來的存儲(chǔ)逐一掛載到原目錄,這時(shí)可以在$ORACLE_HOME/crs/bin目錄下,通過./crs_crl start crs把crs啟動(dòng)起來,可以通過 ./crs_crl check crs 來檢查,切換到oracle下,通過crs_stat -t查看RAC資源是否在線,RAC online后,那原存儲(chǔ)和RAC啟動(dòng)沒有問題
5、在根目錄下,根據(jù)原來的掛載目錄建立新目錄,如原/oa,那就建/oa1目錄,用來掛載新存儲(chǔ),LUN大于2T,需要用parted來分區(qū),操作如下:
parted /dev/sdX
mklabel gpt
mkpart primary 0% 100%
quit
把規(guī)劃的LUN都分好區(qū)后,需要把分區(qū)格式化為ocfs2,只需要在一個(gè)node做一次,命令mkfs.ocfs2 -b 4K -C 32K -N 4 -L oa /dev/sdc1,逐一格式化
通過mount -o datavolume,nointr -t ocfs2 /dev/sdi1 /oa1類似的命令,把規(guī)劃的新存儲(chǔ)按對(duì)應(yīng)關(guān)系掛載到新的目錄下。
6、停掉oracle ,停掉crs資源,通過cp -rp /原存儲(chǔ)掛載目錄 /新存儲(chǔ)掛載目錄,把文件和子目錄及對(duì)應(yīng)的權(quán)限都拷貝到新存儲(chǔ)中,過程漫長(zhǎng),可以通過du -sh 查看新存儲(chǔ)的容量變化,把老存儲(chǔ)的內(nèi)容原封不動(dòng)拷貝到新存儲(chǔ)。
7、拷貝完成后,umount掉所有掛載到存儲(chǔ),然后按原來的掛載目錄,把新存儲(chǔ)掛載到原來的掛載點(diǎn),重新啟動(dòng)crs資源,用crs_stat -t 查看rac是否在線,如正常,那說明新存儲(chǔ)已經(jīng)可以正常工作了。
8、停數(shù)據(jù)庫,停crs,關(guān)機(jī),,把原4G HBA卡那掉,重新開機(jī)后,盤符發(fā)生改變,通過mount先手工加載,起動(dòng)crs,都正常后,在/etc/fstab 下,語法如下
/dev/sde1 on /oa type ocfs2 (rw,_netdev,datavolume,nointr,heartbeat=local),逐條加入,這樣新存儲(chǔ)就可以開機(jī)自動(dòng)加載了,不要忘了 crscrl enable crs,讓crs可以自動(dòng)啟動(dòng)。
9、另一個(gè)節(jié)點(diǎn)只要同樣分配LUN,也按原來的目錄掛載,最后crs_stat -t 2個(gè)節(jié)點(diǎn)都在線,并且重啟后存儲(chǔ)掛載和crs都自動(dòng)啟動(dòng),工作正常,可通過在sqlplus下執(zhí)行
select instance_name from v$instance;
select open_mode fromv$database;
查看數(shù)據(jù)庫工作情況,這樣存儲(chǔ)遷移和HBA卡更換就完成了。
總結(jié):
通過以上遷移方式,只涉及到數(shù)據(jù)庫很少的操作,不需要導(dǎo)入導(dǎo)出數(shù)據(jù)庫,完全在linux的文件層面完成遷移,對(duì)oracle水平要求比較低,邏輯上簡(jiǎn)單,可操作性強(qiáng),可以比較順利完成遷移。
本文永久更新鏈接地址:
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com