رفتن به مطلب

پياده‌سازي محيط RAC در اوراکل 11g R1 با استفاده از VMware Server


ارسال های توصیه شده

پياده‌سازي محيط RAC در اوراکل 11g R1 با استفاده از VMware Server

 

 

1004279.jpg

منبع: سايت oracle-base.com ترجمه: امين كلانتري

 

اشاره: در قسمت قبل با نحوه نصب و پيکربندي سيستم‌عامل در محيط مجازي و همچنين نحوه انتخاب و نصب پکيج‌هاي مورد نياز براي راه‌اندازي محيط RAC آشنا شديد. در اين قسمت، تنظيمات پيشرفته در سطح ماشين مجازي و نحوه کپي از آن را براي توليد ماشين مجازي دوم ارائه مي‌دهيم. در بخش‌هاي بعدي مقاله تنظيمات دو ماشين مجازي و نحوه نصب نرم‌افزارهاي مورد نياز براي پياده‌سازي محيط RAC ارائه خواهد شد.

نصب ابزارهاي محيط مجازي‌سازي در VMware­­

ابتدا با عنوان کاربر Root وارد ماشين مجازي RAC1 شده، سپس در منوهاي برنامه VMware Server Console، از منوي VM، گزينه Install VMware Tools … را انتخاب کنيد (شكل 1).

ora1_s.jpg

 

با اين کار يک درايو مجازي‌ CD که حاوي نرم‌افزار VMWare Tools است، به سيستم‌عامل لينوکس، به اصطلاح mount مي‌شود. با دوبارکليک روي آيکون CD که «VMWare Tools» نام دارد، اين درايو مجازي باز شده و يک بسته برنامه قابل نصب از نوع «.rpm» در اختيار شما قرار مي‌گيرد. روي بسته راست‌کليک کرده و از ميان گزينه‌ها، مورد Open with را انتخاب کنيد.

 

با انتخاب اين گزينه، صفحه Completed System Preparation ظاهر مي‌شود. در اين صفحه روي دکمه Continue کليک کنيد و منتظرشويد تا نصب برنامه کامل شود.بعد از کامل شدن بارگذاري نصب، بايد CD به صورت خودکار از حالت Mount خارج شود. در اين مرحله بايد با سطح کاربري Root در خط فرمان وارد شده و دستور زير را اجرا كنيد:

 

# vmware-config-tools.pl

 

همه تنظيمات پيش‌فرض را بپذيريد و وضوح صفحه نمايش را مطابق با سليقه خود تغيير دهيد. هر گونه خطا يا اخطار را ناديده بگيريد. به اين ترتيب، نصب ابزارهاي سمت کلاينت براي VMWare کامل شده است. قبل از ادامه کار سرور را راه‌اندازي دوباره کنيد. ممکن است نمايشگر شما شناسايي نشود، اما در صورت وقوع اين وضعيت، وحشت‌زده نشويد. کافي است تا دستورات نمايش داده شده را اجرا کنيد و تنظيمات نمايشگر را تغيير دهيد تا سرويس XServer به درستي کار کند.

 

ايجاد ديسک مشترک

با استفاده از دستور زير در خط فرمان ماشين مجازي RAC1 را خاموش کنيد:

 

# shutdown -h now

 

با اجراي دستور زير در سيستم ميزبان يک مسير براي نگه‌داري فايل‌هاي مربوط به ديسک مجازي اشتراکي ايجاد کنيد:

 

# mkdir -p /u01/VM/shared

 

در برنامـــــه VMware Server Console روي دکمـــــــه Edit Virtual Machine Settings کليک كرده و در پنجره

Virtual Machine Settings روي دکمه + Add کليک کنيد (شكل 2).

ora2-s_s.jpg

 

در پنجره خوشامد گويي، روي دکمه Next کليک كرده و سپس گزينه Hard Disk را به عنوان نوع سخت‌‌افزاري که مي‌خواهيد به سيستم بيافزاييد، انتخاب كرده و روي دکمه Next کليک کنيد (شكل 3).

ora3_s.jpg

 

با انتخــاب دکمــه Next گزينـه پيـــش‌فــرض، يعنــي Create a New Virtual Disk را بپذيريد. با کليک روي Next نوع پيش‌فرض ديسک، يعني SCSI را بپذيريد. اندازه ديسک مجازي را برابر با ده گيگابايت قرار داده و علامت کنار عبارت Allocate all disk space now را برداريد، سپس روي دکمه Next کليک کنيد.

 

نام و مسير ديسک را با عبارت /u01/VM/shared/ocr.vmdk مقداردهي كرده، سپس روي دکمه Advanced کليک‌کنيد (شكل4) دقت داشته‌باشيد که اين مسير همان مسيري است که در ابتداي اين قسمت براي ذخيره ديسک اشتراکي ايجاد کرده‌بوديد.

ora4_s.jpg

 

کادر متني قسمت نود يا گره را براي ديسک مجازي با عبارت «SCSI 1:1» مقداردهي کرده و نوع آن را به Independent و همچنين Persistent تغيير دهيد، سپس روي دکمه Finish کليک کنيد. مراحل ذكر شده را براي ايجاد چهار‌ديسک مجازي ديگر تکرار کنيد و عبارت‌هاي File Name، Virtual Device Node، Mode را به ازاي هر بار تکرار مطابق با مقادير زير کامل کنيد:

 

ديسک اول:

File Name: /u01/VM/shared/votingdisk.vmdk

Virtual Device Node: SCSI 1:2

Mode: Independent and Persistent

 

ديسک دوم:

File Name: /u01/VM/shared/asm1.vmdk

Virtual Device Node: SCSI 1:3

Mode: Independent and Persistent

 

ديسک سوم:

 

File Name: /u01/VM/shared/asm2.vmdk

Virtual Device Node: SCSI 1:4

Mode: Independent and Persistent

ديسک چهارم:

File Name: /u01/VM/shared/asm3.vmdk

Virtual Device Node: SCSI 1:5

Mode: Independent and Persistent

 

 

بعد از انجام اين کار بايد تنظيمات ماشين مجازي مطابق شكل4 باشد.برنامـــه VMware Server را بســـته و محتويـــات فايل «/u01/VM/RAC1/RAC1.vmx» را مطابق با عبارت‌هاي فهرست1 ويرايش کنيد.

disk.locking = «FALSE»

diskLib.dataCacheMaxSize = «0»

diskLib.dataCacheMaxReadAheadSize = «0»

diskLib.dataCacheMinReadAheadSize = «0»

diskLib.dataCachePageSize = «4096»

diskLib.maxUnsyncedWrites = «0»

 

scsi1.present = «TRUE»

scsi1.virtualDev = «lsilogic»

scsi1.sharedBus = «VIRTUAL»

 

scsi1:1.present = «TRUE»

scsi1:1.mode = «independent-persistent»

scsi1:1.fileName = «/u01/VM/shared/ocr.vmdk»

scsi1:1.deviceType = «plainDisk»

scsi1:1.redo = «»

 

scsi1:2.present = «TRUE»

scsi1:2.mode = «independent-persistent»

scsi1:2.fileName = «/u01/VM/shared/votingdisk.vmdk»

scsi1:2.deviceType = «plainDisk»

scsi1:2.redo = «»

 

scsi1:3.present = «TRUE»

scsi1:3.mode = «independent-persistent»

scsi1:3.fileName = «/u01/VM/shared/asm1.vmdk»

scsi1:3.deviceType = «plainDisk»

scsi1:3.redo = «»

 

scsi1:4.present = «TRUE»

scsi1:4.mode = «independent-persistent»

scsi1:4.fileName = «/u01/VM/shared/asm2.vmdk»

scsi1:4.deviceType = «plainDisk»

scsi1:4.redo = «»

 

scsi1:5.present = «TRUE»

scsi1:5.mode = «independent-persistent»

scsi1:5.fileName = «/u01/VM/shared/asm3.vmdk»

scsi1:5.deviceType = «plainDisk»

scsi1:5.redo = «»

 

فهرست 1

 

ممکن است بعضي از خطوط از قبل ايجاد شده‌باشند که در اين صورت باقي خطوط را در فايل ايجاد کنيد.ماشين مجازي RAC1 را روشن کنيد. براي اين کار کافي است در کنسول سرور و در تب مربوط به اين ماشين مجازي، روي دکمه Power On This Virtual Machine کليک کنيد. بعد از بالا آمدن ماشين مجازي با عنوان کاربر Root وارد سيستم شويد تا مجوز پارتيشن‌کردن ديسک‌ها را داشته‌باشيد. ديسک‌هاي موجود را مي‌توانيد با اجراي دستور فهرست2 مشاهده کنيد:

# cd /dev

# ls sd*

sda sda1 sda2 sdb sdc sdd sde sdf

#

 

فهرست 2

براي پارتيشن‌کردن ديسک‌هاي پارتيشن نشده که مطابق با خروجي دستور فوق از sdb تا sdf را شامل مي‌شوند، از دستور fdisk استفاده کنيد. فهرست3 نحوه پارتيشن کردن نخستين ديسک، يعني sdb را نشان مي‌دهد که در انتهاي متن توضيح بيشتري درباره نحوه پارتيشن کردن ديسک و نحوه استفاده از دستور fdisk، ارائه مي‌شود. اين دستور را به ازاي هر پنج ديسک پارتيشن‌نشده اجرا کنيد.

# fdisk /dev/sdb

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel

Building a new DOS disklabel. Changes will remain in memory only,

until you decide to write them. After that, of course, the previous

content won›t be recoverable.

 

The number of cylinders for this disk is set to 1305.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs

(e.g., DOS FDISK, OS/2 FDISK)

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

 

Command (m for help): n

Command action

e extended

p primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-1305, default 1):

Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-1305, default 1305):

Using default value 1305

 

Command (m for help): p

Disk /dev/sdb: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

Device Boot Start End Blocks Id System

/dev/sdb1 1 1305 10482381 83 Linux

 

Command (m for help): w

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

Syncing disks.

#

فهرست 3

 

در هر پنج توالي اجراي دستور فوق به ازاي پنج ديسک مذکور، بعد از اجراي دستور fdisk‌، بايد به ترتيب از کليدها و کاراکترهاي n و p و 1 و Return و دوباره Return و p و در نهايتw استفاده کرد (اين مجموعه کليدها، روي هر يک از ديسک‌هاي مجازي، يک پارتيشن ايجاد کرده که کل فضاي ديسک را شامل مي‌شود و سپس تغييرات را نمايش و در نهايت تغييرات را در سطح ديسک ذخيره مي‌کند). بعد از پارتيشن شدن همه ديسک‌ها، مي‌توان با اجراي دستور ls مطابق فهرست 4 نتيجه عمليات را مشاهده کرد:

# cd /dev

# ls sd*

sda sda1 sda2 sdb sdb1 sdc sdc1 sdd sdd1 sde sde1 sdf sdf1

#

فهرست 4

اکنون دستورات فهرست5 را به فايل /etc/rc.local اضافه کنيد.اکنون ديسک‌هاي مشترک ايجاد‌شده‌اند، اما استفاده از آن‌ها را به بعد موکول مي‌کنيم.

chown oracle:oinstall /dev/sdb1

chown oracle:oinstall /dev/sdc1

chown oracle:oinstall /dev/sdd1

chown oracle:oinstall /dev/sde1

chown oracle:oinstall /dev/sdf1

chmod 600 /dev/sdb1

chmod 600 /dev/sdc1

chmod 600 /dev/sdd1

chmod 600 /dev/sde1

chmod 600 /dev/sdf1

فهرست 5

کپي‌برداري به منظور ايجاد ماشين مجازي دوم

با اجراي مراحل زير مي‌توانيد از ماشين مجازي ايجاد شده، يک کپي ايجاد کرده و بعد از تغييرات کمي، از آن به عنوان ماشين مجازي دوم استفاده کنيد.ابتدا ماشين مجازي RAC1 را خاموش کنيد. براي اين منظور مي‌توانيد در خط فرمان ماشين مجازي از دستور زير استفاده کنيد:

 

 

# shutdown -h now

 

 

بعد از بستن برنامه VMware Server از دستور زير استفاده کنيد تا يک کپي از ماشين مجازي تهيه کرده و آن‌را در مسير مشخصي ذخيره کند.

 

 

# cp -R /u01/VM/RAC1 /u01/VM/RAC2

 

 

محتويات خطي از فايل «/u01/VM/RAC2/RAC1.vmx» را که حاوي عبارت DisplayName است، مطابق با خط زير ويرايش کنيد:

 

 

displayName = «RAC2»

 

 

شباهت بين باقي موارد را در اين دو پوشه ناديده بگيريد، زيرا تأثيري در عملکرد ماشين مجازي دوم نخواهد داشت.در محيط برنامه VMware Server Console به ترتيب منوي File و سپس Open را انتخاب کرده، به فايل و مسير «/u01/VM/RAC2/RAC1.vmx» برويد. با بازکردن اين مسير، ماشين مجازي RAC 2 نيز در اختيار شما قرار مي‌گيرد. ماشين مجازي دوم را با کليک روي دکمه Power on this virtual machine روشن کنيد و در پرسشي که در داخل يک پنجره ظاهر مي‌شود، دکمه Create را انتخاب کنيد. تمام خطاهاي احتمالي هنگام بالا آمدن ماشين مجازي دوم را ناديده بگيريد. انتظار مي‌رود که هنگام بالا آمدن ماشين، تنظيمات و مؤلفه‌هاي شبکه آن با خطا مواجه شود. به عنوان کاربر Root وارد محيط ماشين مجازي شويد و ابزار Network Configuration را از مسيرSystem > Administration > Network اجرا کنيد.

 

در پنجره ظاهر شده، تمام تجهيزات شناخته شده را به صورت «%.bak» پاک کنيد. براي انجام اين کار، به ترتيب اين نوع تجهيزات را انتخاب کرده و ابتدا آن‌را با استفاده از دکمه Deactivate غير فعال کرده و بعدبا دکمه Delete پاک کنيد. با اين کار فقط دو کارت شبکه‌ eth0 و eth1 باقي مي‌ماند. در اين برنامه، با کليک کردن روي کارت شبکه eth0 آن‌را انتخاب كرده و در نوارابزار برنامه، روي دکمه Edit کليک کنيد سپس در کادر محاوره ظاهر شده، آدرس کارت شبکه را برابر با 192.168.2.102 قرار دهيد.

 

زبانه Hardware Device را انتخاب کرده و روي برگه Probe کليک کرده. سپس با انتخاب دکمه OK تغييرات ايجاد شده را تأييد کنيد. همين فرآيند را براي کارت شبکه eth1 نيز انجام دهيد و اين بار براي آدرس IP از مقدار 192.168.0.102 استفاده کنيد، اما بخش default gateway را خالي رها کنيد. روي زبانه با نام DNS کليک کرده و براي نام ميزبان از عبارت rac2.localdomain استفاده کرده و در مرحله بعد روي زبانه Devices کليک کنيد. بعد از انجام اين مراحل، گزينه Save را از منوي فايل انتخاب کرده و هر دو کارت شبکه را با انتخاب کردن و سپس کليک روي دکمه Activate فعال کنيد.

 

در ماشين‌مجازي RAC2، فايل /home/oracle/.bash_profile را ويرايش کنيد و مدخل‌هاي مربوط به ORACLE_SID وORACLE_HOSTNAME را مطابق با خطوط فهرست6 به آن بيافزاييد:

ORACLE_SID=RAC2; export ORACLE_SID

ORACLE_HOSTNAME=rac2.localdomain; export ORACLE_HOSTNAME

فهرست 6

ماشين مجازي RAC1 را روشن کرده و ماشين مجازي RAC2 را دوباره راه‌اندازي کنيد. وقتي که هر دو نود بالا آمد، بررسي کنيد که هر دو ماشين بتوانند به هر دو آدرس IP نوع public و private يکديگر دسترسي داشته‌باشند و براي اين منظور از دستور فهرست7 استفاده کنيد:

ping -c 3 rac1

ping -c 3 rac1-priv

ping -c 3 rac2

ping -c 3 rac2-priv

فهرست 7

در اين مرحله آدرس‌هاي نوع Virtual که در فايل /etc/hosts معرفي شده‌است، درست کار نخواهند کرد، پس در اين مورد نگران نشويد. با استفاده از دستورات زير در هر نوع تنظيمات SSH را انجام دهيد. براي اين منظور با کاربر اوراكل وارد شده و در خط فرمان هر دو نود دستورات فهرست8 را انجام دهيد:

su - oracle

mkdir ~/.ssh

chmod 700 ~/.ssh

/usr/bin/ssh-keygen -t rsa # Accept the default settings.

فهرست 8

کليد عمومي مربوط به تنظيمات RSA در فايل ~/.ssh/id_rsa.pub و کليد عمومي آن‌ها در فايل ~/.ssh/id_rsa ذخيره مي‌شود. با نام کاربري Root وارد ماشين مجازي RAC1 شده و مطابق دستورات فهرست9، فايل «authorized_keys» را ايجاد کنيد. بخشي از همين دستورات، فايل مذکور را به ماشين مجازي RAC2، کپي مي‌کند.

su - oracle

cd ~/.ssh

cat id_rsa.pub >> authorized_keys

scp authorized_keys rac2:/home/oracle/.ssh/

فهرست 9

 

در مرحله بعد با کاربر اوراكل، وارد ماشين مجازي RAC2 شويد و دستورات فهرست10 را اجرا کنيد:

su - oracle

cd ~/.ssh

cat id_rsa.pub >> authorized_keys

scp authorized_keys rac1:/home/oracle/.ssh/

فهرست 10

 

با اجراي اين دستورات، فايل authorized_keys روي هر دو سرور ايجاد مي‌شود و شامل کليدهاي عمومي مربوط به هر دو نود RAC خواهد بود. براي فعال و مرتبط کردن و دسترسي از طريق SSH در هر يک از نودها، بايد دستورات فهرست11 را اجرا کنيد که قسمت دوم دستور بررسي مي‌کند که آيا مي‌توان از طريق خط فرمان و از مسير شبکه روي هر دو نود دستوراتي را اجرا کرد و براي اين منظور دستور data را اجرا مي‌کنند.

ssh rac1 date

ssh rac2 date

ssh rac1.localdomain date

ssh rac2.localdomain date

exec /usr/bin/ssh-agent $SHELL

/usr/bin/ssh-add

فهرست 11

 

اگر تمامي اين مراحل را درست اجرا کرده‌باشيد، بايد اکنون و بعد از اجراي دستور فوق بتوانيد دستورات SSH و SCP را بدون نياز به وارد کردن کلمه عبور اجرا کنيد. قبل از نصب نرم‌افزار Clusterware به سراغ سي‌دي نصب اين نرم‌افزار رفته و در مسير اصلي آن، با استفاده از برنامه runcluvfy.sh و مطابق با کد فهرست12 بررسي کنيد که آيا پيش‌نيازهاي نصب نرم‌افزار Clusterware به درستي فراهم و پياده‌سازي شده‌است:

/mountpoint/clusterware/runcluvfy.sh stage -pre crsinst -n rac1,rac2 -verbose

فهرست 12

اگر با هرگونه اخطار يا خطا مواجه شديد، در اين صورت قبل از ادامه نصب، حتماً آن خطا را برطرف کنيد.اکنون زمان خوبي است تا قبل از ادامه کار از وضعيت کنوني هر دو ماشين، به اصطلاح يک Snapshot تهيه کنيد تا بتوانيد در صورت بروز مشکل در مراحل بعدي به سراغ آن برويد و دوباره مراحل بعد از تهيه Snapshot را تکرار کنيد. به جز ابزارهاي خود محيط VMware Server Console مي‌توانيد براي انجام اين کار از دستورات فهرست13 نيز استفاده کنيد.اکنون فرآيند آماده‌سازي ماشين‌هاي مجازي، کامل شده‌است.‌

# cd /u01/VM

# tar -cvf RAC-PreClusterware.tar RAC1 RAC2 shared

# gzip RAC-PreClusterware.tar

فهرست 13

  • Like 2
لینک به دیدگاه
×
×
  • اضافه کردن...