اضافه کردن نود به RAC 18c

کلاستری با سه نود در حال سرویس دهی می باشد که به دلایل پرفورمنسی قصد داریم نود دیگری را به این کلاستر اضافه کنیم:

 [grid@RAC2 ~]$ olsnodes -s -t

RAC2 Active  Unpinned

RAC1 Active  Unpinned

RAC4 Active  Unpinned

[oracle@RAC2 ~]$ srvctl status database -d db18c

Instance db18c1 is running on node RAC2

Instance db18c3 is running on node RAC1

Instance db18c4 is running on node RAC4

همانطور که در خروجی دستور مشاهده می کنید، سه نود با نامهای RAC1,RAC2,RAC4 در کلاستر موجود هستند و قصد داریم نود RAC3 را به این مجموعه اضافه کنیم.

با این فرض که مقدمات پیکربندی  Oracle RAC 18c قبلا در سرور RAC3 انجام شده، در طی سه مرحله زیر، نود RAC3 را به کلاستر اضافه می کنیم:

1.اجرای gridSetup.sh برای نصب grid در نود جدید

2.اجرای addnode.sh برای نصب نرم افزار اوراکل در نود جدید

3.اجرای DBCA برای اضافه و اجرا کردن instance در کلاستر جدید

 

قبل از استارت این مراحل، با اتصال به نود شماره یک(RAC1) و با اجرای دستور زیر بررسی می کنیم که RAC3 آماده اضافه شدن به کلاستر هست؟

[grid@RAC1 ~]$ cluvfy stage -pre nodeadd -n RAC3

بخشی از خروجی این دستور را در قسمت زیر مشاهده می کنید:

Verifying Physical Memory …PASSED

Verifying Free Space: RAC3:/usr,RAC3:/var,RAC3:/etc,RAC3:/grid18c/home,RAC3:/sbin …PASSED

  Verifying Users With Same UID: 502 …PASSED

Verifying User Existence: oracle …PASSED

Verifying User Existence: grid …

  Verifying Users With Same UID: 501 …PASSED

Verifying User Existence: grid …PASSED

Verifying Package: binutils-2.20.51.0.2 …PASSED

Verifying Package: compat-libcap1-1.10 …PASSED

Verifying Group Existence: asmadmin …PASSED

  Verifying ‘/etc/init.d/oracleasm’ …PASSED

CVU operation performed:      stage -pre nodeadd

Date:                         Aug 13, 2020 2:27:48 PM

CVU home:                     /grid18c/home/

User:                         grid

 

اجرای دستور gridSetup.sh

برای نصب نرم افزار Grid Infrastructure در نود RAC3 می توان gridSetup.sh را به صورت گرافیکی و یا silent اجرا کرد که در ادامه نحوه اجرای گرافیگی آن را مشاهده خواهید کرد.

 

توجه: به جای استفاده از اسکریپت gridSetup.sh می توان از اسکریپت addnode.sh هم استفاده کرد:

./addNode.sh -silent “CLUSTER_NEW_NODES={RAC3}” “CLUSTER_NEW_VIRTUAL_HOSTNAMES={RAC3-vip}”

 

برای شروع، دستور gridSetup.sh را در یکی از نودهای موجود در کلاستر {RAC1,RAC2,RAC4} اجرا می کنیم:

[grid@RAC2 ~]$ cd /grid18c/home/

[grid@RAC2 home]$ ./gridSetup.sh

 

در مرحله اول از اجرای gridSetup.sh، گزینه Add more nodes to the cluster را انتخاب می کنیم:

 

در مرحله بعد، public hostname و virtual hostname نود جدید را تعیین می کنیم:

 

با تعیین پسورد کاربر grid، عملیات ssh connectivity را هم در این مرحله انجام می دهیم:

 

نرم افزار گرید آماده نصب در نود جدید می باشد:

 

به عنوان گام پایانی از اجرای gridSetup.sh، اسکریپت root.sh را در نود RAC3 اجرا می کنیم تا resourceهای کلاستر به این نود اضافه و اجرا شوند:

 [root@RAC3 ~]# /grid18c/home/root.sh

CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on ‘RAC3’

CRS-2793: Shutdown of Oracle High Availability Services-managed resources on ‘RAC3’ has completed

CRS-4133: Oracle High Availability Services has been stopped.

CRS-4123: Oracle High Availability Services has been started.

2020/08/15 09:09:18 CLSRSC-594: Executing installation step 16 of 20: ‘InstallKA’.

2020/08/15 09:09:19 CLSRSC-594: Executing installation step 17 of 20: ‘InitConfig’.

CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on ‘RAC3’

CRS-2793: Shutdown of Oracle High Availability Services-managed resources on ‘RAC3’ has completed

CRS-4133: Oracle High Availability Services has been stopped.

CRS-4123: Oracle High Availability Services has been started.

CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on ‘RAC3’

CRS-2673: Attempting to stop ‘ora.drivers.acfs’ on ‘RAC3’

CRS-2677: Stop of ‘ora.drivers.acfs’ on ‘RAC3’ succeeded

CRS-2793: Shutdown of Oracle High Availability Services-managed resources on ‘RAC3’ has completed

CRS-4133: Oracle High Availability Services has been stopped.

2020/08/15 09:09:29 CLSRSC-594: Executing installation step 18 of 20: ‘StartCluster’.

2020/08/15 09:11:12 CLSRSC-594: Executing installation step 19 of 20: ‘ConfigNode’.

clscfg: EXISTING configuration version 5 detected.

clscfg: version 5 is 12c Release 2.

Successfully accumulated necessary OCR keys.

Creating OCR keys for user ‘root’, privgrp ‘root’..

Operation successful.

2020/08/15 09:11:38 CLSRSC-594: Executing installation step 20 of 20: ‘PostConfig’.

2020/08/15 09:11:45 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster … succeeded

با اجرای root.sh، اجرای gridSetup.sh هم به پایان خواهد رسید.

با دستورات زیر خواهیم دید که عملیات به درستی انجام شده و نود RAC3 به کلاستر اضافه شده است:

[grid@RAC3 bin]$ olsnodes -s -t

RAC2 Active  Unpinned

RAC1 Active  Unpinned

RAC4 Active  Unpinned

RAC3    Active  Unpinned

[grid@RAC3 ~]$ cd /grid18c/home/bin/

[grid@RAC3 bin]$ ./cluvfy stage -post nodeadd -n RAC3

Verifying Node Connectivity …

  Verifying Hosts File …PASSED

  Verifying Check that maximum (MTU) size packet goes through subnet …PASSED

Verifying Node Connectivity …PASSED

Verifying Cluster Integrity …PASSED

Verifying Node Addition …

  Verifying CRS Integrity …PASSED

  Verifying Clusterware Version Consistency …PASSED

  Verifying ‘/grid18c/home’ …PASSED

Verifying Node Addition …PASSED

Verifying Multicast or broadcast check …PASSED

Verifying Node Application Existence …PASSED

Verifying Single Client Access Name (SCAN) …

  Verifying DNS/NIS name service ‘s010.ensn.k0.naja’ …

    Verifying Name Service Switch Configuration File Integrity …PASSED

  Verifying DNS/NIS name service ‘s010.ensn.k0.naja’ …PASSED

Verifying Single Client Access Name (SCAN) …PASSED

Verifying User Not In Group “root”: grid …PASSED

CVU operation performed:      stage -post nodeadd

Date:                         Aug 15, 2020 9:13:22 AM

CVU home:                     /grid18c/home/

User:                         grid

 

اجرای addnode.sh برای نصب نرم افزار اوراکل در نود جدید

در این مرحله قصد داریم با اجرای اسکریپت addnode.sh، نرم افزار اوراکل را در نود RAC3 نصب کنیم. برای این کار به یکی از نودهای {RAC1,RAC2,RAC4} متصل شده و دستور زیر را از طریق کاربر اوراکل اجرا می کنیم:

[oracle@RAC2 ~]$ cd /oracle18c/home/addnode/

[oracle@RAC2 addnode]$ ./addnode.sh “CLUSTER_NEW_NODES={RAC3}”

 

مشابه مرحله قبلی، اجرای این اسکریپت هم پیچیدگی خاصی ندارد از اینرو از توضیحات اضافه پرهیز می کنیم:

 

 

 

[root@RAC3 ~]# /oracle18c/home/root.sh

Performing root user operation.

The following environment variables are set as:

    ORACLE_OWNER= oracle

    ORACLE_HOME=  /oracle18c/home

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root script.

Now product-specific root actions will be performed.

 

اجرای DBCA

در مرحله قبلی، با اجرای اسکریپت addnode.sh، صرفا نرم افزار اوراکل به نود جدید اضافه شد و هنوز instanceای در این سرور اضافه و اجرا نشده است:

[oracle@RAC3 ~]$ srvctl status database –d db18c

Instance db18c1 is running on node RAC2

Instance db18c3 is running on node RAC1

Instance db18c4 is running on node RAC4

برای اضافه کردن instance به کلاستر نود RAC3، دستور dbca را در سرور RAC2 اجرا می کنیم:

 

 

 

 

 

 

پس از پایان یافتن اجرای دستور DBCA، با استفاده از دستور زیر خواهیم دید که instanceای در نود RAC3 در حال اجرا می باشد:

[oracle@RAC3 ~]$ srvctl status database –d db18c

Instance db18c1 is running on node RAC2

Instance db18c2 is running on node RAC3

Instance db18c3 is running on node RAC1

Instance db18c4 is running on node RAC4

همچنین تناظر بین instance و نود را با ویوی gv$instance می توان مشاهده کرد:

SQL> select inst_id,instance_name,host_name from gv$instance;

   INST_ID INSTANCE_NAME    HOST_NAME

———- —————- —————————————-

         2 db18c2           RAC3

         3 db18c3           RAC1

         4 db18c4           RAC4

         1 db18c1           RAC2

در پایان با اجرای دستور زیر خواهیم دید که نود RAC3 به کلاستر اضافه شده و resourceهای ضروری هم در حالت online قرار دارند:

[root@RAC3 bin]# ./crsctl status resource -t -n rac3

 

 

 

 

ارتباط با نویسنده مطلب:vahidusefzadeh@ کانال تخصصی اوراکل و لینوکس: OracleDB@

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.