DSH (Distributed Shell) – اجرای دستورات در چند سرور لینوکسی

موضوعاتی که در این مقاله به آنها پرداخته خواهد شد، به شرح زیر است:

مدیریت سیستم‌های لینوکس: قدرت DSH در مدیریت مرکزی

مدیران سیستم‌های لینوکسی به خوبی می‌دانند که نظارت و مدیریت متمرکز سرورهای لینوکس، به ویژه زمانی که تعداد زیادی سرور درگیر باشد، چقدر اهمیت دارد. در محیط‌هایی مثل سرورهای ابری کوچک یا گروه‌های بزرگ سرور، توانایی اجرای دستورات در چند سرور با DSH برای کنترل کارآمد سیستم‌ها ضروری است.

در این آموزش، شما را با DSH در لینوکس، که همان شل توزیع‌شده (Distributed Shell) است، آشنا خواهیم کرد. DSH ابزاری سبک و قدرتمند برای مدیریت مرکزی سرورهای لینوکس است که امکان اجرای هم‌زمان دستورات در چندین سیستم را فراهم می‌کند.

با بهره‌گیری از Distributed Shell برای مدیریت سرور لینوکس، می‌توانید سیستم‌ها را به‌سرعت و کارایی بالا مدیریت کنید و به زیرساخت‌های فناوری اطلاعات خود تنوع و انعطاف بیشتری بدهید.

DSH در لینوکس (شل توزیع‌شده) چیست؟

DSH یا Distributed Shell، که همچنین به عنوان Dancer’s Shell شناخته می‌شود، ابزاری رایگان و کارآمد برای مدیریت مرکزی سرورهای لینوکسی است. این ابزار در اکثر توزیع‌های اصلی لینوکس به‌صورت پیش‌فرض موجود است، اما در صورتی که توزیع شما آن را در مخازن خود نداشته باشد، می‌توانید DSH را برای اجرای دستورات در چند سرور با Distributed Shell به‌راحتی از سورس نصب کنید.

با استفاده از DSH در لینوکس، مدیران سیستم می‌توانند دستورات مختلف را به‌طور هم‌زمان در چندین سرور اجرا کنند. این ابزار امکان کنترل و نظارت بهتری بر چندین سیستم به صورت هم‌زمان را فراهم می‌کند و به‌ویژه در محیط‌هایی که نیاز به مدیریت متمرکز سرورها وجود دارد، بسیار کارآمد است. Distributed Shell برای مدیریت سرور لینوکس به مدیران کمک می‌کند تا زیرساخت‌های IT خود را با سرعت و کارایی بیشتری سازماندهی کنند و به این ترتیب، زمان و منابع موردنیاز برای انجام وظایف مدیریتی در سرورهای مختلف را کاهش دهند.

پ.ن
آیا نیاز به خرید سرور مجازی ایران دارید؟ لطفا بر روی لینک اون کلیک کنید! اگر نیاز به سرور ایران با آی پی تمیز و بدون محدودیت دارید کلیک کنید.

آموزش نصب DSH (شل توزیع‌شده) در لینوکس

برای این آموزش، فرض ما بر این است که شما در محیطی مبتنی بر دبیان یا اوبونتو هستید. اگر از توزیع لینوکسی دیگری استفاده می‌کنید، لطفاً دستورات مربوط به مدیر بسته توزیع خود را جایگزین کنید.

در توزیع‌های مبتنی بر دبیان، نصب DSH در لینوکس بسیار ساده است و می‌توانید از دستور apt استفاده کنید. برای نصب، کافی است ترمینال را باز کرده و دستور زیر را وارد کنید:

sudo apt install dsh 

در توزیع‌های مبتنی بر RHEL، برای استفاده از DSH در لینوکس باید این ابزار را از بسته‌های منبع کمپایل کنید. پیش از این کار، اطمینان حاصل کنید که کتابخانه libdshconfig را نیز برای مدیریت مرکزی سرورهای لینوکس با Distributed Shell کمپایل و نصب کرده‌اید.

wget http://www.netfort.gr.jp/~dancer/software/downloads/libdshconfig-0.20.10.cvs.1.tar.gz tar xfz libdshconfig*.tar.gz  cd libdshconfig-* ./configure ; make sudo make install

پس dsh رو کامپایل کن و نصبش کن.

wget https://www.netfort.gr.jp/~dancer/software/downloads/dsh-0.22.0.tar.gz tar xfz dsh-0.22.0.tar.gz cd dsh-* ./configure ; make  sudo make install

آموزش استفاده از DSH در لینوکس 

آموزش استفاده از DSH در لینوکس
فایل پیکربندی اصلی برای مدیریت مرکزی سرورهای لینوکس با Distributed Shell در مسیر “/etc/dsh/dsh.conf” (در توزیع دبیان) و “/usr/local/etc/dsh.conf” (در توزیع رد هت) قرار دارد و ساختار ساده‌ای دارد. از آنجا که rsh پروتکلی رمزنگاری نشده است، بهتر است به‌جای آن از SSH برای اجرای دستورات در چند سرور با DSH استفاده کنیم.

با استفاده از ویرایشگر متن مورد علاقه‌تان، این خط را در فایل پیکربندی پیدا کنید:

remoteshell =rsh

و عوض کنید به:

remoteshell =ssh

گزینه‌های دیگری نیز وجود دارند که می‌توانید در صورت تمایل در اینجا وارد کنید و بسیاری از آن‌ها را می‌توان در صفحه راهنمای DSH در لینوکس پیدا کرد.

 در حال حاضر، ما تصمیم داریم تنظیمات پیش‌فرض را قبول کنیم و به فایل بعدی، یعنی /etc/dsh/machines.list (برای Debian) نگاهی بیندازیم. برای سیستم‌های مبتنی بر Red Hat، لازم است فایلی با نام “machines.list” در دایرکتوری “/usr/local/etc/” ایجاد کنید. نحو (Syntax) در اینجا بسیار ساده است. تنها کافی است اعتبارنامه‌های یک ماشین (نام میزبان، آدرس IP یا FQDN) را به صورت جداگانه در هر خط وارد کنید. فایل “/etc/dsh/machines.list” یا “/usr/local/etc/machines.list” من به شکل زیر است:

172.16.25.125 172.16.25.126

پس از وارد کردن اعتبار ماشین‌هایی که می‌خواهید به آن‌ها دسترسی داشته باشید، اجازه دهید یک دستور ساده مانند زمان کار را برای همه ماشین‌ها اجرا کنیم.

dsh -aM -c uptime

خروجی نمونه:

172.16.25.125: 05:11:58 up 40 days, 51 min, 0 users, load average: 0.00, 0.01, 0.05 172.16.25.126: 05:11:47 up 13 days, 38 min, 0 users, load average: 0.00, 0.01, 0.05

دستور ‘dsh’ چه کاری انجام می‌دهد؟

دستور DSH در لینوکس (distributed shell) این امکان را به شما می‌دهد که دستورات را به صورت هم‌زمان بر روی چندین ماشین اجرا کنید.

1. گزینه `-a`، دستور را به تمامی ماشین‌های موجود در فایل `/etc/dsh/machines.list` ارسال می‌کند.
2. گزینه `-M`، نام ماشین را به همراه خروجی دستور، مانند `uptime`، بازمی‌گرداند که برای مرتب‌سازی نتایج بسیار مفید است.
3. گزینه `-c` برای اجرای دستوری که تعیین شده است (در اینجا `uptime`) استفاده می‌شود.
4. فایل‌های پیکربندی برای گروه‌بندی ماشین‌ها در مسیر `/etc/dsh/groups/` تعریف می‌شوند و شما می‌توانید با استفاده از گزینه `-g` دستورها را به گروه خاصی از ماشین‌ها ارسال کنید.

برای سیستم‌های مبتنی بر Red Hat، لازم است پوشه‌ای به نام “groups” در مسیر `/usr/local/etc/` ایجاد کنید و فایلی به نام “cluster” بسازید. سپس می‌توانید دستوری مانند `w` را بر روی تمامی ماشین‌های موجود در فایل گروه اجرا کنید.

dsh -M -g cluster -c w 

انعطاف‌پذیری و کارکردهای متنوع DSH

DSH در لینوکس (Distributed Shell) امکانات انعطاف‌پذیری زیادی را فراهم می‌کند و این آموزش تنها سطح ابتدایی آن را پوشش می‌دهد. علاوه بر اجرای دستورات، از مدیریت مرکزی سرورهای لینوکس با Distributed Shell می‌توان برای انتقال فایل‌ها، نصب نرم‌افزار، افزودن مسیرها (routes) و بسیاری کارکردهای دیگر استفاده کرد.

برای مدیر سیستم‌هایی که مسئولیت یک شبکه بزرگ را بر عهده دارند، DSH ابزاری بسیار ارزشمند و حیاتی است. تنوع کاربردهای آن به مدیران این امکان را می‌دهد که فرآیندهای متعددی را به طور همزمان در سیستم‌های مختلف شبکه مدیریت کنند و بهره‌وری خود را به طرز چشم‌گیری افزایش دهند.

این انعطاف‌پذیری و قابلیت‌های منحصر به فرد DSH، آن را به یک انتخاب برتر برای مدیریت سیستم‌های لینوکس در شبکه‌های بزرگ و پیچیده تبدیل می‌کند.

  جمع‌بندی: DSH، راه‌حل جامع مدیریت همزمان سیستم‌های لینوکسی

در پایان، DSH ابزاری قدرتمند و انعطاف‌پذیر برای مدیریت همزمان چندین سیستم لینوکسی است که بهره‌وری و کارایی مدیران سیستم را به طرز چشمگیری افزایش می‌دهد. اگر تجربه‌ای در استفاده از DSH در لینوکس دارید یا سوالاتی در این زمینه برایتان پیش آمده است، خوشحال می‌شویم نظرات و تجربیات ارزشمندتان را در قسمت نظرات با ما به اشتراک بگذارید.

مطالب مرتبط: