Solaris裸裝置安裝三節點RAC102(一)

yangtingkun發表於2011-01-26

利用裸裝置安裝Solaris上的三節點Oracle 10.2 RAC

這一篇介紹環境準備工作。

 

 

三個節點中的兩個伺服器的版本是Solaris8,另外一個是Solaris10。對於Solaris8安裝10gRAC,需要打以下的補丁:

108528-23, SunOS 5.8: kernel update patch

108652-66, X11 6.4.1: Xsun patch

108773-18, SunOS 5.8: IIIM and X I/O Method patch

108921-16, CDE 1.4: dtwm patch

108940-53, Motif 1.2.7 and 2.1.1: Runtime lib. patch for Solaris 8

108987-13, SunOS 5.8: Patch for patchadd and patchrm

108989-02, /usr/kernel/sys/acctctl & /.../exacctsys patch

108993-45, SunOS 5.8: LDAP2 client, libc, libthread and libnsl libraries patch

109147-24, SunOS 5.8: linker patch

110386-03, SunOS 5.8: RBAC Feature Patch

111023-02, SunOS 5.8: /kernel/fs/mntfs and ... sparcv9/mntfs

111111-03, SunOS 5.8: /usr/bin/nawk patch

111308-03, SunOS 5.8: /usr/lib/libmtmalloc.so.1 patch

111310-01, SunOS 5.8: /usr/lib/libdhcpagent.so.1 patch

112396-02, SunOS 5.8: /usr/bin/fgrep patch

111721-04, SunOS 5.8: Math Library (libm) patch

112003-03, SunOS 5.8: Unable to load fontset ... iso-1 or iso-15

112138-01, SunOS 5.8: usr/bin/domainname patch

其中最後三個是可選的。這些補丁可以單獨打,也可以透過J2SE補丁包一起打。單個補丁的下載和安裝可以參考:http://yangtingkun.itpub.net/post/468/252372

下面簡單介紹一下安裝J2SE Patch Cluster的步驟:

安裝補丁的下載地址是:

選擇J2SE Solaris 8,下載到本地後,執行unzip解壓:

# unzip J2SE_Solaris_8_Recommended.zip

# cd J2SE_Solaris_8_Recommended
# ./install_cluster

安裝之後為了使補丁生效需要重啟系統:

# reboot

當然,也可以等到一會修改系統引數後一起重啟:

對於Solaris10系統,不需要任何的補丁,Oracle10g要求的版本小於Solaris 10提供的版本。

伺服器作業系統和補丁都安裝結束後,下面檢查系統是否滿足RAC的安裝需求,這些檢查需要在三個伺服器上進行:

# /usr/sbin/prtconf |grep "Memory Size"
# /usr/sbin/prtconf | grep "Memory size"
Memory size: 4096 Megabytes
# /usr/sbin/swap -s
total: 20928k bytes allocated + 4680k reserved = 25608k used, 11801848k available
# df -k /tmp
Filesystem            kbytes    used   avail capacity  Mounted on
swap                 11799856      24 11799832     1%    /tmp
# df -k /data
Filesystem            kbytes    used   avail capacity  Mounted on
/dev/dsk/c1t1d0s7    35009161 1427455 33231615     5%    /data
# /bin/isainfo -kv
64-bit sparcv9 kernel modules

系統滿足安裝需要,下面可以建立oracle使用者和相關組了,在一個節點上先建立:

# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# mkdir /export/home/oracle
# /usr/sbin/useradd -g oinstall -G dba -d /export/home/oracle oracle
# chown oracle:oinstall /export/home/oracle
# chown -R oracle:oinstall /data
# passwd oracle

下面檢查nobody使用者是否存在,如果nobody不存在,需要建立該使用者。並檢測oracle的使用者iddbaoinstall的組id

# id nobody
uid=60001(nobody) gid=60001(nobody)
# id oracle
uid=100(oracle) gid=100(oinstall)
# more /etc/group
root::0:root
other::1:
bin::2:root,bin,daemon
sys::3:root,bin,sys,adm
adm::4:root,adm,daemon
uucp::5:root,uucp
mail::6:root
tty::7:root,tty,adm
lp::8:root,lp,adm
nuucp::9:root,nuucp
staff::10:
daemon::12:root,daemon
sysadmin::14:
nobody::60001:
noaccess::60002:
nogroup::65534:
oinstall::100:
dba::101:oracle

根據上面的資訊,在另兩臺伺服器上建立組和使用者:

# groupadd -g 100 oinstall
# groupadd -g 101 dba
# mkdir /export/home/oracle
# useradd -u 100 -g oinstall -G dba -d /export/home/oracle oracle
# chown oracle:oinstall /export/home/oracle
# chown -R oracle:oinstall /data
# id nobody
uid=60001(nobody) gid=60001(nobody)
# passwd oracle

下面為ORACLE使用者設定環境變數,在一臺伺服器上切換oracle使用者登陸,編輯.profile檔案,輸入以下內容:

# su - oracle
Sun Microsystems Inc.   SunOS 5.8       Generic Patch   October 2001
$ vi .profile
umask 022
ORACLE_SID=testrac1
export ORACLE_SID
ORACLE_BASE=/data/oracle
export ORACLE_BASE
ORACLE_HOME=/data/oracle/product/10.2/database
export ORACLE_HOME
NLS_LANG='SIMPLIFIED CHINESE_CHINA.ZHS16GBK'
export NLS_LANG
PATH=$PATH:$ORACLE_HOME/bin
export PATH
DISPLAY=172.25.5.202:1.0
export DISPLAY

由於準備使用XMANAGE作為圖形工具進行安裝,所以DISPLAY變數設定的是當前本機的IP地址。

在另兩臺伺服器執行同樣的操作,不過將ORACLE_SID的內容替換為testrac2testrac3

下面設定網路環境,選擇簡單的rcp方式。首先編輯三個伺服器的/etc/hosts檔案,分別輸入下面的資訊:

# more /etc/hosts
#
# Internet host table
#
127.0.0.1       localhost      
172.25.198.222  racnode1        loghost
172.25.198.224  racnode1-vip
10.0.0.1        racnode1-priv
172.25.198.223  racnode2
172.25.198.225  racnode2-vip
10.0.0.2        racnode2-priv
172.25.198.226 racnode3
172.25.198.227 racnode3-vip
10.0.0.3 racnode3-priv

第二個伺服器:

$ more /etc/hosts
#
# Internet host table
#
127.0.0.1       localhost      
172.25.198.223  racnode2        loghost
172.25.198.222  racnode1        loghost
172.25.198.224  racnode1-vip
10.0.0.1        racnode1-priv
172.25.198.225  racnode2-vip
10.0.0.2        racnode2-priv
172.25.198.250  backup
172.25.198.226 racnode3
172.25.198.227 racnode3-vip
10.0.0.3 racnode3-priv

第三個伺服器:

$ more /etc/hosts
#
# Internet host table
#
::1     localhost      
127.0.0.1       localhost
172.25.198.226 racnode3 loghost
172.25.198.227 racnode3-vip
10.0.0.3 racnode3-priv
172.25.198.222 racnode1
172.25.198.224 racnode1-vip
10.0.0.1 racnode1-priv
172.25.198.223 racnode2
172.25.198.225 racnode2-vip
10.0.0.2 racnode2-priv

分別在racnode1racnode2racnode3上編輯oracle使用者下的/export/home/oracle/.rhosts檔案,新增如下內容:

$ vi .rhosts
racnode1
racnode1-vip
racnode1-priv
racnode2
racnode2-vip
racnode2-priv
racnode3
racnode3-vip
racnode3-priv

下面為系統新增私有IP地址:

# ifconfig -a
lo0: flags=1000849 mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
ce0: flags=1000843 mtu 1500 index 2
        inet 172.25.198.222 netmask ffff0000 broadcast 172.25.255.255
        ether 0:3:ba:38:4a:2f
# ifconfig ce1 plumb
# ifconfig ce1 10.0.0.1 netmask 255.255.255.0 broadcast 10.0.0.255 up

為了啟動後,ce1可以自動配置,編輯/etc/hostname.ce1檔案:

# vi /etc/hostname.ce1
racnode1-priv

然後新增相應的掩碼和廣播地址,在/etc/netmasks檔案後面新增:

10.0.0.0        255.255.255.0

另外需要新增預設的閘道器:

# vi /etc/defaultrouter
172.25.2.1

racnode2racnode3上衝突類似的操作。至此,網路配置完成。

在三個節點上檢查nscd程式是否啟動,該程式預設會在系統啟動時啟動:

# ps -ef|grep nscd
    root   216     1  0 16:14:27 ?        0:00 /usr/sbin/nscd
    root   374   342  0 16:30:23 pts/1    0:00 grep nscd

如果沒有啟動,可以使用/etc/init.d/nscd start來啟動。

在三個節點上下面檢查軟體包是否都已經安裝:

# uname -r
5.8
# pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibC SUNWlibm SUNWlibms SUNWsprot SUNWtoo SUNWi1of SUNWxwfnt SUNWsprox
system      SUNWarc        Archive Libraries
system      SUNWbtool      CCS tools bundled with SunOS
system      SUNWhea        SunOS Header Files
system      SUNWi1of       ISO-8859-1 (Latin-1) Optional Fonts
system      SUNWlibC       Sun Workshop Compilers Bundled libC
system      SUNWlibm       Sun WorkShop Bundled libm
system      SUNWlibms      Sun WorkShop Bundled shared libm
system      SUNWsprot      Solaris Bundled tools
system      SUNWsprox      Sun WorkShop Bundled 64-bit make library
system      SUNWtoo        Programming Tools
system      SUNWxwfnt      X Window System platform. required fonts

 

下面要修改作業系統的核心引數,在三個節點上編輯/etc/system檔案,新增下列內容:

set noexec_user_stack=1
set semsys:seminfo_semmni=100
set semsys:seminfo_semmns=1024
set semsys:seminfo_semmsl=256
set semsys:seminfo_semvmx=32767
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=10

修改完成後重啟系統:

# reboot

檢查UDP協議的配置:

# ndd /dev/udp udp_xmit_hiwat
8192
# ndd /dev/udp udp_recv_hiwat
8192

增加其配置,將其修改為65536。在兩個節點上執行:

# ndd -set /dev/udp udp_xmit_hiwat 65536
# ndd -set /dev/udp udp_recv_hiwat 65536

為了確保修改在重啟後仍然有效,新增/ect/init.d/nddudp檔案:

# vi /etc/init.d/nddudp
ndd -set /dev/udp udp_xmit_hiwat 65536
ndd -set /dev/udp udp_recv_hiwat 65536

然後在/etcrc1.drc2.drcS.d目錄下建立連線,連線必須以S70S71為字首:

# ln -s -f /etc/init.d/nddudp /etc/rc1.d/S70nddudp
# ln -s -f /etc/init.d/nddudp /etc/rc2.d/S70nddudp
# ln -s -f /etc/init.d/nddudp /etc/rcS.d/S70nddudp

注意,這裡Oracle文件給出的方法是錯誤的,在/etc/system目錄下設定這兩個引數是無效的。具體描述見:http://yangtingkun.itpub.net/post/468/271793

對於Solaris10環境,則不需要進行上面的步驟,系統預設值已經足夠。

下面在三個節點上建立ORACLE的安裝目錄和ORACLECRS安裝目錄:

# su - oracle
Sun Microsystems Inc.   SunOS 5.8       Generic Patch   October 2001
$ mkdir -p /data/oracle/product/10.2
$ mkdir /data/oracle/oraInventory
$ mkdir /data/oracle/product/10.2/crs
$ mkdir /data/oracle/product/10.2/database

至此,作業系統的準備工作已經完成,下面準備安裝ORACLECLUSTERWARE軟體。

 

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

相關文章