گاهی اوقات تصمیم می گیریم که به کلاستر 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 #مشاوره_اوراکل
--------------------------------------------------------------------
در هنگام رانندگی به احترام عابرین پیاده بایستیم.
- ۹۹/۰۷/۲۹
بسیار عالی
ممنون
پایدار باشی