راه اندازی Websphere MQ Cluster بصورت HA تحت RHEL6.x بخش اول

راه اندازی Websphere MQ Cluster بصورت HA تحت RHEL6.x بخش اول

 راه اندازی Websphere MQ Cluster بصورت HA تحت RHEL6.x

بخش اول

در این مستند سعی بر این دارم که نحوه راه  اندازی سرویس WebSphere MQ  تحت دو Nodes بصورت   High Availability را  , قدم به قدم آموزش دهم.

MQ مخفف Message Queueing  می باشد .

برای راه اندازی سرویس MQ نیاز به مراحل زیر داریم :

۱- نصب سیستم عامل RedHat Linux 6.x

۲- بخش تنظیمات شبکه

۳- Leaving the Console

۴- security shortcut

۵- short Node Names

۶- NTP

۷- configure ssh

۸- Install the  Cluster Software

۹- Install the Cluster Management Software

۱۰- setup

۱۱- Enable PCS Daemon

۱۲- Notes on Multicast Address assignment

۱- OS Installation

جهت نصب سیستم عامل Rhel6.X میتوان  بر اساس مراحل نصبی که در آن قرار دارد به نصب این سیستم عامل

پرداخت .

میتوان در این نوع نصب نوع فایل سیستم ها و سایز آنها را بر اساس نوع نیاز از سرویسی که قرار است در این نوع

کلاسترینگ مورد استفاده نماییم تعیین نماییم. همچنین نوع packageهای انتخابی نیز بر اساس کاری که قرار است

این سرور برای ما انجام دهد قابل انتخاب می باشد . سایز فایل سیستمها را می توانید بر اساس نیاز پروژه خود

در نظر بگیرید و کاملا انتخابی و قابل تغییر است .

 از آنجا که این کلاسترینگ را برای سرویس MQ مورد استفاده قرار داده ایم و نیز از آنجهت که این سرویس جهت

ذخیره logfileهای خود نیاز به فضای زیادی دارد لذا سایز فایل سیستم /var را بزرگتر در نظر گرفته ایم .

این کار بدین دلیل است که MQ هنگام نصب در زیر این فایل سیستم دایرکتوری با نام /var/mqm/ میسازد

و مقادیر زیادی از اطلاعات خود را در این قسمت نگهداری مینماید . البته هنگام تعریف و ایجاد Queue ، میتوان مسیر

logfileها و همچنین مسیر Queue را روی فایل سیستم دیگر تعریف نمود که جلوتر به آن اشاره خواهیم کرد .

اما آنچه در هنگام نصب سیستم عامل بهتر است در نظر گرفته شود این است که از روش DHCP جهت مقدار دادن

به network IP استفاده ننمایید . در هنگام IP دادن به سرور با تعریف یک IP fix از نوع IPV4 روی یکی از deviceهای

network مانند eth0 یا eth1 و یا هر deviceی که بدین منظور روی سرور موجود میباشد ، مقدار آنرا بصورت ثابت

تعریف میکنیم. همچنین مقدار default gateway و routing مورد نظر را بدرستی تعریف می نماییم .

۲- Networking

اولا بهتر است سرویس NeworkManager را stop کنید که با دستور زیر این عمل را میتوانید انجام دهید .

# service NetworkManager stop

# chkconfig NetworkManager off

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

# service network restart

با اجرای دستور ip addr مقادیر داده شده به کارتهای شبکه را مشاهده میکنیم .

[root@mq1 ~]# ip addr

۱: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 scope host lo

    inet6 ::1/128 scope host

       valid_lft forever preferred_lft forever

۲: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000

    link/ether 00:18:fe:fd:96:82 brd ff:ff:ff:ff:ff:ff

    inet 192.168.1.16/19 brd 192.168.31.255 scope global eth0

    inet6 fe80::218:feff:fefd:9682/64 scope link

      valid_lft forever preferred_lft forever

۳: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN qlen 1000

    link/ether 00:18:fe:fd:90:46 brd ff:ff:ff:ff:ff:ff

    inet 192.168.1.16/19 brd 192.168.31.255 scope global eth1

دستور

# chkconfig network on 

را اجرا میکنیم که سرویس شبکه on  شود .

حالا مقدار default reute را با دستور زیر بررسی کنید :

#  ip route 

بررسی میکنیم که مقدار gateway  ما درست باشد و تنظیمات IP شبکه از gateway  موجود در شبکه رد شود .

۳- Leaving the Console

بعد از انجام تنظیمات شبکه روی سرور میتوانید کنسول را ترک کرده و بصورت remote از این ماشین session

 گرفته و ادامه کار را انجام دهید.

حال از روی desktop  و یا هر ماشینی که روی آن قرار داریم از طریق putty  ویا ssh  ارتباط خود را با این ماشین

برقرار میکنیم . برای برقراری ارتباط  از طریق ssh  بصورت زیر عمل میکنیم :

[sophia@localhost]$   ssh    -l   root   ۱۹۲٫۱۶۸٫۱٫۱۶

۴- Security Shortcut

جهت ایجاد کلاسترینگ و استفاده از آن ، ابتدا مقدار SELinux  را disable می کنیم .

همچنین در ابتدا سرویس iptables را stop  می کنیم . بدین منظور از دستور زیر استفاده می کنیم :

 

# setenforce  ۰

#iptables  stop

۵- short Node Names

 در زمان نصب سیستم عامل معمولا ما نام ماشین را به همراه نام دامنه آن وارد مینماییم که با دستور زیر میتوان

دید که نام ماشین ترکیبی از نام + دامنه می باشد .

# uname   -n

جهت کلاسترینگ در این مثال ما از نام کوتاه خود ماشین بدون دامنه میخواهیم استفاده نماییم. به همین دلیل

چنانچه نام ماشین به همراه نام دامنه آن نمایش داده شد با استفاده از دستورات زیر مقدار آنرا کوتاه کرده بطوریکه

فقط نام ماشین بدون نام دامنه منظور گردد .

#cat /etc/syscnfig/network

NETWORK=yes

HOSTMAME=mq1.mislinux.ir

GATEWAY=192.168.0.1

حال با دستور زیر مقدار دامنه را از نام ماشین جدا کرده و در فایل NETWORK  لحاظ میکنیم :

# sed    -i.sed  ‘s/\.[a-z].*//g’      /etc/sysconfig/network

حالا اگر دستور زیر را وارد کنیم مقدار دامنه از نام ماشین حذف شده است :

# cat /etc/sysconfig/network

NETWORKING= yes

HOSTNAME=mq1

۶- NTP

حتما در زمان نصب و راه اندازی سرورهایی که برای کلاسترینگ در نظر گرفته اید یادتان باشد که مقدار ساعت و

تاریخ این ماشینها با یکدیگر هم خوانی داشته و یا توسط NTP SERVER ی با هم هماهنگ باشند .

 

و اما قبل از نصب چه باید کرد ؟

کلیه مراحل ذکر شده در بالا را روی Node دوم نیز با IP Address دیگری انجام می دهیم .

مثلا در Node  دوم نام ماشین را mq2 گذاشته و مثلا IP  ۱۹۲٫۱۶۸٫۲٫۱۸   را به آن می دهیم .

 

۷- چک کردن شبکه در انتهای کار

پس از راه اندازی دو node مربوط به mq  ؛ بررسی میکنیم که ارتباط بین این دو Node در شبکه برقرار بوده و یکدیگر

را ping  میکنند .

یعنی از ماشین mq1 باید بتوانیم mq2 را ping کرده و از mq2 ماشین mq1 را ping  کنیم .

۸- بررسی etc/hosts/

با دستور زیر بررسی میکنیم که نام هر دو node در فایل etc/hosts/ موجود باشد .

#  grep  mq  /etc/hosts

۱۹۲٫۱۶۸٫۱٫۱۶   mq1.mislinux.ir  mq1

۱۹۲٫۱۶۸٫۱٫۱۸  mq2.mislinux.ir   mq2

۹- Configuring SSH

جهت برقراری ارتباط بین دو ماشین نیاز به ایجاد کلید امن ارتباطی بین این دو ماشین می باشد . بدین منظور ابتدا

کلیدی بدون کلمه رمز روی یک ماشین ایجاد کرده و public key  آنرا روی ماشین دیگر کپی مینماییم . از این به بعد

ارتباط بین این دو ماشین از طریق این کلید انجام پذیر خواهد بود .

Creating and Activation a new SSH key

#ssh-keyge   -t   dsa   -f   ~/.ssh/id_dsa   -N “”

حالا کل دایرکتوری .ssh  را در ماشین دوم کپی میکنیم :

# scp  -r   .ssh   mq2

و با دستور زیر مقدار نام ماشین دوم را با استفاده از دستور ssh  پیدا میکنیم :

#  ssh  mq2   –uname  -n

که دستور بالا باید نام ماشین mq2 یا Node دوم را برگرداند

mq2

۱۰- Installing the Cluster software

به منظور نصب برنامه های لازم مربوط به کلاسترینگ روی هر سرور به صورت زیر عمل میکنیم :

در اینجا ما از مکانیزم yum repository  برای نصب برنامه های لازم استفاده میکنیم . لذا برای این منظور ابتدا باید

تنظیمات لازم مربوط به فایلی که در آن مسیر ماشینی که در آن کلیه repositoryها تعریف شده است را به درستی

تعریف نماییم .

به منظور مشاهده مقاله ای در خصوص راه اندازی local repository  به اینجا مراجعه نمایید .

غالبا ممکن است مثلا فایلی با نام base.repo در مسیر etc/yum.repos.d/  داشته باشیم که در آن به آدرس

repository server  با مثلا پروتکل ftp  دسترسی داریم و می توانیم کلیه package های خود را روی آن نصب نماییم . 

که می تواند شکل فایل base.repo بصورت زیر تعریف شده باشد :

 

[rhel-packages]

name=Red Hat Enterprise Linux $releasever – $basearch – Source

baseurl=ftp://IP-of-repository-server/Directory-of-packages

enabled=1

gpgcheck=0

[rhel-server]

name=Red Hat Enterprise Linux $releasever Beta – $basearch – Source

baseurl= ftp://IP-of-repository-server/Directory-of-server

enabled=1

gpgcheck=0

 

با توجه به شکل بالا فرض بر این است که Repository Server دارای IP خاص خود بوده و کلیه دایرکتوریهای مربوط

به کل packageها و کل نرم افزار های بروز رسانی شده  در مسیر های مورد نظر قرار دارند . حال با توجه به

تنظیمات  yum repository  دستور زیر را روی هر ماشینی که بمنظور کلاسترینگ در نظر گرفته ایم اجرا میکنیم :

# yum install  -y    pacemaker    corosync    *cluster*

 

با اجرای دستور بالا کلیه نرم افزارهای مربوط به کلاسترینگ با تمام برنامه های مرتبط با آن روی ماشین نصب

خواهد شد .

۱۱- Install the Cluster Management Software

بمنظور دسترسی به دستورات کلاسترینگ از طریق command line باید برنامه pcs را روی ماشینها نصب نمود .

بدین منظور با اجرای دستور زیر این کار را انجام میدهیم .

# yum  -y install pcs

برای مشاهده مفهوم Pacemaker  بعنوان یکی از اجزاء کلاسترینگ به این مقاله مراجعه نمایید

در مقاله بعدی در مورد setup  کردن  cluster  روی دو node  توضیح می دهیم :

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *