【轉】虛擬機器VMware安裝OracleRAC.環境綜述
一、重要提示
構建RAC最好能有實際的硬體環境,這樣不僅能有實戰經驗,也會獲得穩定的環境!
用虛擬機器安裝是萬不得已的選擇,安裝問題比較多而且不 穩定,也不能獲得ORACLE的技術
幫助。虛擬機器的單機Oracle還可以,但是安裝RAC就差強人意了。
二、虛擬機器環境
虛擬機器VMware小常識:
VMware Workstation 用於個人桌面系統,VMware GSX Server 與 VMWare ESX Server
用於企業伺服器。VMware Workstation與VMware GSX Server需要作業系統的支援,但
VMWare ESX Server不需要作業系統支援,可以在主機無作業系統的情況下也可安裝。
VMware GSX Server界於VMware Workstation與VMWare ESX Server之間。
可以說,ESX是企業級,GSX工作組級,Workstation個人 單機級。
VMware Workstation和VMware GSX是作業系統上(Windows/Linux)的一個應用程式,必須
先 安裝主機作業系統後才能安裝,之後再虛擬新的系統。
VMware ESX則是獨立的,可在一臺裸機上進行安裝。比VMware GSX,VMware ESX效能
有很大提升。
安裝Oracle RAC可以使用VMware GSX Server,也可使用Workstation。VMware GSX Server
並不支援share folder,這一點需要注意。
事實表明,個人使用者不需要安裝VMware GSX Server,推薦使用VMware Workstation。VMware
GSX Server 執行速度較慢。
三、虛擬機器Linux作業系統
作業系統的安裝介質(安裝光碟等...)很重要,要盡力保證介質的可用性。
不良介質會導致如下問題:
讀 取安裝包問題發生致命錯誤
複製完安裝包不能引導
驅動裝置不能識別
其他意外問題
安裝RAC環 境,不推薦使用Red Hat Enterprise Linux AS 4安裝Oracle 9i RAC,BUG較多。
安裝作業系統,選擇安裝包時可根據自已需要,不必盲目全選(當然如果你空間夠大另當別論),
即便後面過程需要別的元件,也可從光碟上十分 方便地RPM。
有些情況下,正常安裝企業版,複製完所有檔案包後,系統提示重啟,然而重啟後從硬碟引導
卻無法啟動,游標停留 在左上角或者列印一些資訊再停留在左上角。這個問題是由於grub引導被
破壞,或者grub引導安裝失敗,解決方案就是手工再進行安裝(詳細方法 在《伺服器配置例項(一).
HP Prolient ML570 伺服器》也描述過,請檢視):
即使用Red Hat Linux 啟動光碟,在boot下輸入linux rescure回車,載入完一堆鏡象,會出現提示
符,可進行 命令列操作。
注意:有時在boot下輸入linux rescure回車,載入一些東西后,不提示命令列,這時多半與引導
介質有關,請 更換可靠的安裝介質。使用不同版本的安裝介質引導後,在命令列下輸入fdisk -l 會
無任何反應,儘量使用相同版本的介質引導修復。
四、使用虛擬機器Linux作業系統
系統啟動執行日誌記錄在/var/log/messages,對於日常問題可以檢視詳細原因。這裡列舉
一些常見問題:
1. smart 服務啟動失敗,日誌裡顯示 Device: /dev/sda, Bad IEC (SMART) mode page,
err=-5, skip device
解答:SMART是硬碟生產商建立的一個工業標準,這個標準就是在硬碟上儲存一些實時情況。
如讀寫情況,可靠程度,錯誤率等屬性。每個屬 性都有一個1位元組(bytes,大小1-253)的標準值,其
中還有另一個位元組儲存關鍵值,如果此時硬碟某個屬性值接近小於或達到關鍵值,那你硬 盤你就
差不多該報廢了。SMART一般用於檢視硬碟的健康情況,也還需要實際的硬碟支援。虛擬機器是沒
有任何必要去啟動這個服務的。
另 系統啟動的服務一定要篩選一些,沒有必要啟動一大堆服務佔用大量的時間與記憶體,尤其在
虛擬機器這個有限資源下,這裡列出筆者服務列表:
gpm
network
readahead
readahead_early
rexec
rlogin
rsh
sshd
syslog
xinetd
rexec rlogin rsh,這三個屬於rsh相關服務,如服務列表沒有顯示,可以去安裝光碟裡查詢
rsh-server RPM包進行安裝。這個服務的作用以後會提到。
第四張光碟上 rsh-server-0.17-25.3.i386.rpm
[root@linuxrac6 RPMS]# rpm -ivh rsh-server-0.17-25.3.i386.rpm
[root@linuxrac6 RPMS]# chkconfig rsh on
[root@linuxrac6 RPMS]# chkconfig rlogin on
[root@linuxrac6 RPMS]# chkconfig rexec on
[oracle@linuxrac9 ~]$ rpm -qa | grep rsh
rsh-0.17-25.3
rsh-server-0.17-25.3
[root@linuxrac6 RPMS]# chkconfig --list
...
xinetd based services:
rsh: on
chargen-udp: off
finger: off
rlogin: on
chargen: off
krb5-telnet: off
rexec: on
rsync: off
安裝其他服務方面,方法相似。
2. 在Linux環境下點選選單項(如teminal),不能彈出視窗
解答:圖省事的話重啟就能解決,沒有小bug的操作 系統是不存在的。
五、配置兩臺虛擬機器
安裝好一臺虛擬機器作業系統後,可以透過複製方法,構建另一臺環境。
示例:
LinuxRac6.vmdk
LinuxRac6-s001.vmdk
LinuxRac6-s002.vmdk
LinuxRac6-s003.vmdk
LinuxRac6-s004.vmdk
LinuxRac6-s005.vmdk
nvram
rhel4.vmx
LinuxRac6 是虛擬機器的名稱,全部複製完成後,不要修改檔名,只需要單機啟動修改
主機名和IP地址即可,複製後網路卡會有衝突,可從VM -> VM Setttings -> 刪除並重新新增
網路卡即可。
六、配置雙機環境
這裡假設有兩臺主機 linuxrac9 與 linuxrac6。
---A.雙網路卡
RAC裡每個節點機都需要兩塊網路卡並使用固定IP,其中一個作為兩個節點機內部互相通訊之用,
另外一個網路卡作為外部網路連線之用。
添 加多個網路卡,可從虛擬機器軟體選單 VM -> VM Setttings -> 新增,要選擇 Ethernet Adapter,
然 後一直預設並點選NEXT直到結束。
兩臺節點機全部新增完成後,分別啟動兩臺節點機,在System Setting -> Network 配置網路。
具體配置示例如下(因為是複製的,虛擬機器名稱一樣是沒有關係的):
虛擬機器1名:LinuxRac6
主機名:linuxrac9
eth0:134.98.105.70
eth1:192.168.0.6
虛擬機器2名:LinuxRac6
主 機名:linuxrac6
eth0:134.98.105.71
eth1:192.168.0.9
---B.節點間hosts檔案配置
RAC節點機互相不能透過IP來訪問,而必須使用 主機名。因此需要設定hosts內容。另外
需要確保RAC節點名沒有出現在回送地址中。
即在 /etc/hosts 檔案的回送地址中不包含節點名(linuxrac9 或 linuxrac6)。
如下所示:
127.0.0.1 linuxrac9 localhost.localdomain localhost
在 RAC 安裝期間將接收到以下錯誤資訊:
ORA-00603:ORACLE server session terminated by fatal error
ORA-29702:error occurred in Cluster Group Service operation
下面是兩臺節點機的 /etc/hosts 內容:
$ cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
134.98.105.170 linuxrac9
134.98.105.171 linuxrac6
192.168.0.9 linuxrac9-priv
192.168.0.6 linuxrac6-priv
設定完成後,可在多個節點上ping linuxrac9 ,ping linuxrac6, ping linuxrac9-priv ... 來測試是否
正確。
---C.節點間訪問配置
在節點上執行Oracle Universal Installer進行RAC安裝時,它會使用 rsh(或 ssh)命令將
Oracle 軟體複製到RAC叢集的其他節點上。執行Oracle Installer (runInstaller) 的節點必須為
RAC叢集的其他節點所 信任。
即你可以在任一臺節點,透過rsh(或ssh)訪問其他所有節點,而不需要輸入密碼。
(1) 配置(rsh)
rsh 使用 /etc/hosts.equiv 檔案 或 使用者目錄下 .rhosts 檔案進行驗證。
rsh安裝配置見上面< 四、使用虛擬機器Linux作業系統>一節。
下面是兩臺節點機的 /etc/hosts.equiv 內容:
$ cat /etc/hosts.equiv
linuxrac9
linuxrac6
linuxrac9-priv
linuxrac6-priv
或 者
root使用者設定
$ cat /root/.rhosts
linuxrac9
linuxrac6
linuxrac9-priv
linuxrac6-priv
root 使用者需要使用/etc/hosts.equiv檔案,另外須修改/etc/pam.d/rsh驗證。
#%PAM-1.0
# For root login to succeed here with pam_securetty, "rsh" must be
# listed in /etc/securetty.
auth required pam_nologin.so
#auth required pam_securetty.so
auth required pam_env.so
auth required pam_rhosts_auth.so
account required pam_stack.so service=system-auth
session required pam_stack.so service=system-auth
oracle使用者設定
$ cat /home/oracle/.rhosts
linuxrac9
linuxrac6
linuxrac9-priv
linuxrac6-priv
測 試:
正確效果:在linuxrac6節點透過rsh訪問linuxrac9節點(注意最後一行):
[root@linuxrac6 ~]# rsh linuxrac9 date
connect to address 134.98.105.170: Connection refused
Trying krb4 rsh...
connect to address 134.98.105.170: Connection refused
trying normal rsh (/usr/bin/rsh)
Fri Mar 14 18:40:12 CST 2008
錯誤效果:在linuxrac9節點透過rsh訪問linuxrac6節點(注 意最後一行):
[root@linuxrac9 ~]# rsh linuxrac6 date
connect to address 134.98.105.171: Connection refused
Trying krb4 rsh...
connect to address 134.98.105.171: Connection refused
trying normal rsh (/usr/bin/rsh)
Permission denied.
(2) 配置(ssh)
但在實際 安裝Oracle10g過程中,發現rsh系列的rcp操作會失敗,Oracle10g還是最好配置ssh
方式。Oracle9i還沒有發現這個 問題。
設定oracle使用者的互相信任機制,分別在所有節點機下以oracle使用者執行:
$ /usr/bin/ssh-keygen -t rsa
命令會
將公共金鑰寫入 ~/.ssh/id_rsa.pub 檔案
將 私有金鑰寫入 ~/.ssh/id_rsa 檔案
$ /usr/bin/ssh-keygen -t dsa
命令會
將公共金鑰寫入 ~/.ssh/id_dsa.pub 檔案
將私有金鑰寫入 ~/.ssh/id_dsa 檔案
兩個命令都會提示確認生成檔案的路徑和密碼,密碼可為空。這些金鑰不能隨意傳遞給其它
機器。
[oracle@linuxrac9 .ssh]$ /usr/bin/ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/oracle/.ssh/id_rsa.
Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.
The key fingerprint is:
99:0d:1e:cb:7c:12:09:02:15:78:3e:f9:55:e7:12:38
[oracle@linuxrac9 .ssh]$ /usr/bin/ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/oracle/.ssh/id_dsa.
Your public key has been saved in /home/oracle/.ssh/id_dsa.pub.
The key fingerprint is:
3e:43:04:7e:23:1c:87:25:74:9b:ef:53:42:17:af:79
確定所有節點上是否已經存在授權金鑰檔案 (~/.ssh/authorized_keys),我們將在所有節點機上
重新創 建,同樣在某臺節點機(如linuxrac9)的oracle使用者下執行:
$ touch ~/.ssh/authorized_keys
$ ssh linuxrac9 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ ssh linuxrac9 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$ ssh linuxrac6 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ ssh linuxrac6 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
命令執行會提示一些資訊,按提示執行即可。
在linuxrac9上,我們在授權金鑰檔案 (~/.ssh/authorized_keys) 中已經獲得了來自叢集中各個節點
的 RSA 和 DSA 公共金鑰內容。現在將其複製到叢集中的其餘節點。雙節點叢集中,剩下的節點就是
linuxrac6。使用 scp 命令將授權金鑰檔案複製到叢集中的其餘所有節點:
$ scp ~/.ssh/authorized_keys linuxrac6:~/.ssh/authorized_keys
最後在所有節點下測試ssh,第一次需要密碼,以後不用,方法與 rsh相同:
$ ssh linuxrac9 date
$ ssh linuxrac6 hostname
$ ssh linuxrac9-priv date
$ ssh linuxrac6-priv hostname
---D. 節點間時間同步
RAC不能容忍有時間不同步的現象發生,否則在安裝和執行過程會出現各類嚴重錯誤。
然而虛擬機器經常會出現每個節點機時間步調不一致的現 象,很有必要每隔一段時間同步所有節點
機的時間。筆者這裡圖省事,使用簡單的rsh linuxrac6 date -s的方法,透過crontab呼叫儲存shell進行
同步,這種方法不推薦,呼叫頻繁會產生殭屍程式。
[root@linuxrac9 liwei]# cat setdate.sh
#!/bin/bash
SETVALUE=`date +'%H:%M:%S'`
rsh linuxrac6 date -s $SETVALUE
echo "linuxrac9:" `date` >> /root/liwei/setdate.log
echo "linuxrac6:" `rsh linuxrac6 date` >> /root/liwei/setdate.log
[root@linuxrac9 liwei]# crontab -e
* * * * * /root/liwei/setdate.sh
方法很多可以使用ntp之類的工具。
七、設定共享磁碟
很多網上文章提及plainmaker.exe去建立共享磁碟,是以前的版本,新版本使用vm-diskmanager。
命令列下進行 目錄 E:\Program Files\VMware\VMware GSX Server使用vmware-vdiskmanager
建立共 享磁碟。
如:
E:\Program Files\VMware\VMware GSX Server>vmware-vdiskmanager -c -s 4Gb -a lsilogic -t 1
"E:\LinuxRacShareDisk\LinuxShareDisk.vmdk"
Using log file C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\vdiskmanager.log
Creating a split disk 'E:\LinuxRacShareDisk\LinuxShareDisk.vmdk'
Virtual disk creation successful.
實際使用中,發現共享磁碟極不穩定,複製檔案會突然關機,後重新建立,仍然如此。試了不少
次, 這裡列出最後建立語句,也許是運氣吧,一直比較穩定:
E:\Program Files\VMware\VMware GSX Server>vmware-vdiskmanager -c -s 1Gb -a lsilogic -t 2 "E:\VMDISK\LinuxShareDisk.vmdk"
Using log file C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\vdiskmanager.log
Creating monolithic preallocated disk 'E:\VMDISK\LinuxShareDisk.vmdk'
Create: 100% done.
Virtual disk creation successful.
筆者認為,在虛擬機器硬碟的設定中,“動態增加大小”和“分割成小檔案”兩個選項不僅降低了效能,也
是系統很不穩定的重要因素。推薦不要使 用!
命令的具體引數含義,可以輸入vmware-vdiskmanager詳細檢視,不再說明。
共享磁碟建立後,需要將它分別新增到兩臺 節點機上。
方法:
Edit Vitrual Machine -> Hard Disk -> Add -> Next -> 選擇Hard Disk Next ->Using an exsit virtual
disk Next-> Browse 選擇 E:\LinuxRacShareDisk\LinuxShareDisk.vmdk 注意這裡必須設定 Advance
SCSI 1:0。具體為何設定為SCSI 1:0,可以仔細研讀配置檔案rhel4.vmx,便可知曉。
確定後會 在配置檔案rhel4.vmx中體現,另一臺節點機同樣處理。
注意,新增完共享磁碟後,必須在各自rhel4.vmx檔案中新增如 下內容,不可重複新增:
disk.locking = "FALSE"
scsi1.sharedBus = "virtual"
scsi1:0.mode = "persistent"
這樣兩臺節點機才可以正常使用共享磁碟。
測試方法,可以在兩臺節點機上透過fdisk -l檢視。以下是已經分好區的示例:
[root@linuxrac9 ~]# fdisk -l
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 978 7855753+ 83 Linux
/dev/sda2 979 1043 522112+ 82 Linux swap
Disk /dev/sdb: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 522 4192933+ 83 Linux
八、最後
本文主要綜述RAC環境的基本條件,後續文章會介紹實際操作的示例。安裝配置RAC是比較複雜的,須要有足夠的耐心一點一點的克服下去。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11411056/viewspace-733432/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【虛擬機器】VMware-VMware Tool安裝虛擬機
- 使用VMware Workstation安裝 Linux虛擬環境Linux
- 【RAC】使用VMware虛擬機器搭建RAC環境虛擬機
- 虛擬機器VMware下 Oracle RAC環境新增磁碟虛擬機Oracle
- 在 VMware workstation 安裝 CentOS 虛擬機器CentOS虛擬機
- VMware虛擬機器安裝Centos-7.9虛擬機CentOS
- VMware Workstation17虛擬機器安裝虛擬機
- Windows下搭載虛擬機器以及環境安裝Windows虛擬機
- VMware vSphere 5.5 虛擬機器中VMware Tools安裝虛擬機
- FreeBSD虛擬機器 VMware Tools 安裝教程虛擬機
- 虛擬機器Virtual PC,Vmware裡安裝SoftICE虛擬機
- 虛擬機器arm虛擬環境搭建虛擬機
- 安裝python虛擬環境並配置虛擬環境以及安裝scrapy模組Python
- 部署虛擬機器環境安裝RHEL7系統虛擬機
- 本地訪問虛擬機器(Vmware)環境下配置的域名虛擬機
- VMware Fusion下建立Oracle Linux虛擬機器環境-續OracleLinux虛擬機
- VMware 安裝 Centos 7 虛擬機器配置網路CentOS虛擬機
- VMware安裝CentOS虛擬機器與配置網路CentOS虛擬機
- 使用VMWare Workstation安裝ESXI(vmware vsphere client 建立虛擬機器)client虛擬機
- 環境維護(二):虛擬機器中安裝win7虛擬機Win7
- VMware虛擬機器虛擬機
- VMware虛擬機器如何安裝win10系統 VMware虛擬機器裝win10系統教程圖解虛擬機Win10圖解
- vmware安裝win10教程_vmware虛擬機器怎麼安裝windows10Win10虛擬機Windows
- win10安裝vmware虛擬機器教程_win10怎麼安裝vmwareWin10虛擬機
- VMware虛擬機器搭建Linux Oracle 10g ASM環境虛擬機LinuxOracle 10gASM
- 一、虛擬機器環境配置虛擬機
- 【VMware】虛擬機器安裝Windows 10安裝教程(秒看秒懂)虛擬機Windows
- 應用虛擬機器VMware安裝archlabs系統虛擬機
- vSphere Client上安裝虛擬機器工具VMware Toolsclient虛擬機
- VMware 虛擬機器安裝CentOS映象詳細步驟虛擬機CentOS
- VMware 11 安裝 OS X 10.10 虛擬機器虛擬機
- 虛擬機器中Linux中安裝VMware tool工具虛擬機Linux
- VMWare安裝與拖動檔案到虛擬機器虛擬機
- 安裝虛擬機器虛擬機
- windows安裝Python虛擬環境WindowsPython
- 虛擬機器裝win10系統的教程 虛擬機器VMware怎樣安裝win10虛擬機Win10
- mac免費的虛擬機器怎麼安裝?VMware虛擬機器免費獲取教程Mac虛擬機
- NGFS:金融機構環境風險分析綜述