وبلاگ وحید نوروزی

تجربه و ترجمه و تحقیق درباره اوراکل را در این وبلاگ خواهید یافت.

وبلاگ وحید نوروزی

تجربه و ترجمه و تحقیق درباره اوراکل را در این وبلاگ خواهید یافت.

  • ۰
  • ۰

گاهی اوقات تصمیم می گیریم که به کلاستر node جدیدی اضافه کنیم. این کار بر خلاف اسمش کار آسونیه.

در ابتدای کار باید سرور خود را مشابه سرورهای دیگر از لحاظ ارتباط شبکه ای و ارتباط storage  بسازیم.

همچنین باید آدرسهای public و vip و private مورد نیاز آنرا از قبل در نظر داشته باشیم. چون ما از dns بیرونی برای اینکار استفاده می کنیم، این آدرسها را به dns اضافه خواهیم کرد. (اینکار اجباری نیست)

$TTL 1D

@       IN SOA  vahidnow.lab. root.vahidnow.lab. (

                                        0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

                NS      vahidnow.lab.

vahidnow.lab.   A       192.168.56.103

oracle12c-node1 A       192.168.56.2

oracle12c-node2 A       192.168.56.3

oracle12c-node3 A       192.168.56.8

oracle12c-node1-vip     A       192.168.56.4

oracle12c-node2-vip     A       192.168.56.5

oracle12c-node3-vip     A       192.168.56.9

oracle12c-scan          A       192.168.56.6

oracle12c-gns           A       192.168.56.7

همینطور فایل REVERSE را هم تغییر می دهیم.

$TTL 1D

@       IN SOA  vahidnow.lab.   root.vahidnow.lab (

                                        0       ; serial



                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

        NS      vahidnow.lab.

103     PTR     vahidnow.lab.

2       IN      PTR     oracle12c-node1.vahidnow.lab.

4       IN      PTR     oracle12c-node1-vip.vahidnow.lab.

3       IN      PTR     oracle12c-node2.vahidnow.lab.

5       IN      PTR     oracle12c-node2-vip.vahidnow.lab.

6       IN      PTR     oracle12c-scan.vahidnow.lab.

7       IN      PTR     oracle12c-gns.vahidnow.lab.

8       IN      PTR     oracle12c-node3.vahidnow.lab.

9       IN      PTR     oracle12c-node3-vip.vahidnow.lab.

و بعد سرویس dns را ریستارت می کنیم.

systemctl  restart named

برای تست می توانیم یکبار آدرس جدید را nsloolup  کنیم:

nslookup oracle12c-node3-vip.vahidnow.lab

Server:         192.168.56.103

Address:        192.168.56.103#53


Name:   oracle12c-node3-vip.vahidnow.lab

Address: 192.168.56.9

ماشین جدید را برای نصب os استارت می کنیم. مثل بخش ویژه آخر خبر ، تصاویر با شما سخن می گویند:

 

 

 

 

 

 

ماشین جدید را با حداقل پکیچ های مورد نیاز نصب می کنیم و پس از بالا اومدن پکیج های مورد نیاز رو با ساختن yum repo از iso موجود نصب می کنیم:

 

جاهایی که باید تغییر دهیم date & time و installation destination است:

 

 

 

در حین نصب پسورد root رو تنظیم می کنیم.

بر اساس محیط خودم این تنظیمات رو روی کارت شبکه اول زدم که بتونم بهش ssh داشته باشم و کارها آسونتر پیش بره:

TYPE=Ethernet
BOOTPROTO=none
NAME=enp0s3
UUID=48a5b73b-5524-438b-a5e5-1087caff9e0c
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.56.8
NETMASK=255.255.255.0
GATEWAY=192.168.56.103
DOMAIN=vahidnow.lab
DNS1=192.168.56.103

 

حالا سرویس NETWORK رو ریستارت کنید بهش SSH بزنید

در قدم بعدی همه /etc/hosts ها رو شبیه هم می کنیم:

1   localhost localhost.localdomain localhost4 localhost4.localdomain4


#public
192.168.56.2            oracle12c-node1                 oracle12c-node1.vahidnow.lab
192.168.56.3            oracle12c-node2                 oracle12c-node2.vahidnow.lab
192.168.56.8            oracle12c-node3                 oracle12c-node3.vahidnow.lab



#vip
192.168.56.4            oracle12c-node1-vip             oracle12c-node1-vip.vahidnow.lab
192.168.56.5            oracle12c-node2-vip             oracle12c-node2-vip.vahidnow.lab
192.168.56.9            oracle12c-node3-vip             oracle12c-node3-vip.vahidnow.lab



#private
10.1.1.1                oracle12c-node1-priv
10.1.1.2                oracle12c-node2-priv
10.1.1.3                oracle12c-node3-priv


#scan & gns
192.168.56.6            oracle12c-scan                  oracle12c-scan.vahidnow.lab
192.168.56.7            oracle12c-gns                   oracle12c-gns.vahidnow.lab

برای اینکه اشتباه نکنیم توصیه میکنم که از سروری که درست کردیم scp کنید روی دو سرور دیگه :

scp /etc/hosts oracle-node2:/etc/hosts
scp /etc/hosts oracle-node3:/etc/hosts

نام host رو ست می کنیم:

hostnamectl set-hostname oracle12c-node3.vahidnow.lab

روی host جدید yum رو کانفیگ می کنیم:

یکبار دیگه از طریق vm ایزو رو روی این ماشین mount میکنیم و بعدش دستورات زیر رو میزنیم:

 

mkdir /cdrom
mount /dev/cdrom /cdrom/
cd /etc/yum.repos.d/
mv ./* /tmp/
vi local.repo

داخل فایل local.repo اینجوری میشه:

[localrepo]
name=localrepo
baseurl=file:///cdrom
enabled=1
gpgcheck=0

در ادامه دستورات زیر رو برای نصب پکیچهای مورد نیاز میزنیم. چون vm هست نیازی به همه اینها نیست ولی برای اینکه بدونیم در محیط عملیاتی چه چیزهایی احتیاج داریم، من همش رو میزنم:

yum clean all
yum.repos.d]# yum install oracle-database-* vim oracleasm*  device-mapper-multipath* gcc* glibc* chrony

 

پکیج vim رو بخاطر علاقه شخصی نصب کردم.

تا یادمون نرفته، کارت شبکه private رو کانفیگ کنیم:

 

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s8
UUID=92a05dba-f6e5-401a-8e3b-8685d7fea612
DEVICE=enp0s8
ONBOOT=yes
IPADDR=10.1.1.3
NETMASK=255.255.255.0

باقی کانفیگ ها:

systemctl disable firewalld
vi /etc/selinux/config     
  #  -- > change to diabled


systemctl enable chronyd
vi /etc/chrony.conf  
 #  -- > server 192.168.56.103 iburst

systemctl restart chronyd
chronyc sources

دستور آخر باید آدرس ntp server رو برگردونه

من برای راحتی کاربر اوراکل رو بعد از نصب روی سرور جدید پاک میکنم و دوباره میسازم.  ( این کاربر با پکیج پیش فرض نصب میشه ولی گروه های مربوط به asm ر ونداره) اگر نمیخواید که اینکار رو انجام بدید، بعد از اضافه کردن گروه هایی که اضافه نشدن، می تونید از usermod استفاده کنید:

userdel -r oracle
groupadd -g 54327 asmdba
groupadd -g 54328 asmoper
groupadd -g 54329 asmadmin
useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmdba,asmoper,asmadmin,racdba oracle
passwd oracle
mkdir -p /u01/app/12.2.0/grid
chown -R oracle:oinstall /u01

cat >> /etc/security/limits.conf <<EOF
 oracle   soft   nofile    1024
 oracle   hard   nofile    65536
 oracle   soft   nproc    16384
 oracle   hard   nproc    16384
 oracle   soft   stack    10240
 oracle   hard   stack    32768
 oracle   hard   memlock    134217728
 oracle   soft   memlock    134217728
 EOF



cat >> /etc/pam.d/login <<EOF   
session required pam_limits.so 
EOF



/usr/sbin/oracleasm configure –i

اطلاعاتی مشابه با نودهای دیگر را وارد میکنیم. من oracle و  asmadmin و y و y را وارد کردم

در نظر داشته باشید که این preinstallation کامل نیست و می تونید به اینجا که جزو پستهای قبلی هست مراجعه کنید تا اطلاعات کاملی رو به دست بیارید

حالا ماشین رو خاموش می کنیم برای اینکه بتوانیم دیسکهای share را بشناسانیم به ماشین جدید. یادمون باشه ایزو رو dismount کنیم از طریق vm  وگرنه سری بعد دوباره با اون میاد بالا.

بعد از روشن شدن ، حالا اگر دستور زیر رو بزنیم می تونیم دیسکها رو ببینیم:

oracleasm listdisks

روی node1 به مسیر زیر تحت grid_home می رویم:

/u01/app/12.2.0/grid/oui/prov/resources/scripts

دستور زیر را اجرا میکنیم:

./sshUserSetup.sh -user oracle -hosts "oracle12c-node1 oracle12c-node2 oracle12c-node3" -noPromptPassphrase -confirm –advanced

بعد از اجرای این دستور، محتوای تحت home و ssh. را به روی سرورهای دیگه هم کپی میکنیم و  به راحتی passwordless میشویم

[root@oracle12c-node2 u01]# scp ./app/12.2.0/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm oracle12c-node3:/root/

[root@oracle12c-node3 ~]# rpm -ivh cvuqdisk-1.0.10-1.rpm

 

دستور زیر را اجرا می کنیم و تمامی خطاهایی که ممکن است بدهد را باید رفع کنیم:

[oracle@oracle12c-node1 bin]$ ./cluvfy stage -pre nodeadd -n oracle12c-node3.vahidnow.lab   -verbose

 

به مسیر زیر می رویم:

/u01/app/12.2.0/grid/addnode

دستور addnode را اجرا می کنیم:

./addnode.sh -silent "CLUSTER_NEW_NODES={oracle12c-node3}"  "CLUSTER_NEW_VIRTUAL_HOSTNAMES={oracle12c-node3-vip}" "CLUSTER_NEW_NODE_ROLES={hub}"

حالا دستوراتی که مربوط به root هست رو و در انتهای اجرا به ما گفته میشه رو به ترتیب روی node جدید اجرا می کنیم.

مبارکتون باشه node جدید :)

 

 

 

#oracle #addnode #oracle12c #مشاوره_اوراکل

 

--------------------------------------------------------------------

در هنگام رانندگی به احترام عابرین پیاده بایستیم.

 

 

 

 

  • ۹۹/۰۷/۲۹
  • قدیر نوروزی میرصادقی

نظرات (۲)

  • امیر فرزام
  • بسیار عالی

    ممنون

    پایدار باشی

    سلام

    در تمام اموزشها از جمله همین آموزش به جزییات اهمیت داده شده و همین موضوع باعث کابردی بودن و ارزش دو چندان ان گردیده است. 

    سپاس از زحمات شما 

    ارسال نظر

    ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
    شما میتوانید از این تگهای html استفاده کنید:
    <b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
    تجدید کد امنیتی