DSH (Dancer's Shell) - Jalankan Perintah di Beberapa Host Linux


Administrator Sistem sangat menyadari pentingnya kemampuan memantau dan mengelola banyak mesin dalam waktu singkat, sebaiknya dengan gerakan fisik minimal. Baik itu lingkungan cloud kecil atau cluster server besar, kemampuan untuk mengelola komputer secara terpusat sangatlah penting.

Untuk mencapai sebagian hal ini, saya akan menunjukkan kepada Anda cara menggunakan alat kecil yang bagus yang disebut DSH (shell penari/shell terdistribusi) yang memungkinkan pengguna menjalankan perintah di beberapa mesin.

Apa itu DSH?

DSH adalah kependekan dari 'Distributed Shell' atau 'Dancer's Shell', yang merupakan alat yang tersedia secara gratis di sebagian besar distribusi utama Linux tetapi dapat mudah dibuat dari sumber jika distribusi Anda tidak memasukkannya ke dalam repositori paketnya.

Instal DSH (Shell Terdistribusi) di Linux

Kita akan menggunakan lingkungan Debian/Ubuntu untuk cakupan tutorial ini. Jika Anda menggunakan distribusi lain, harap gantikan perintah yang sesuai untuk manajer paket Anda.

Pada distribusi berbasis Debian, Anda dapat menginstal DSH menggunakan perintah apt berikut di terminal.

sudo apt install dsh

Pada distribusi berbasis RHEL, Anda perlu mengompilasinya dari bola tar sumber, namun sebelum melakukannya, pastikan untuk mengkompilasi dan menginstal pustaka 'libdshconfig'.

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

Kemudian kompilasi dsh dan instal.

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

Cara Menggunakan DSH di Linux

File konfigurasi utama “/etc/dsh/dsh.conf” (Untuk Debian) dan “/usr/local/etc/dsh.conf ” (untuk Red Hat) cukup mudah, namun karena rsh adalah protokol yang tidak terenkripsi, kita akan menggunakan SSH sebagai shell jarak jauh.

Menggunakan editor teks pilihan Anda, temukan baris ini:

remoteshell =rsh

dan ubah menjadi:

remoteshell =ssh

Ada opsi lain yang dapat Anda sampaikan di sini jika Anda mau, dan ada banyak opsi yang dapat ditemukan di halaman manual dsh. Untuk saat ini, kita akan menerima defaultnya dan melihat file berikutnya, /etc/dsh/machines.list (untuk Debian).

Untuk sistem berbasis Red Hat, Anda perlu membuat file bernama “machines.list” di “/usr/local/etc/” direktori.

Sintaksnya di sini cukup mudah. Yang perlu Anda lakukan hanyalah memasukkan kredensial mesin (Nama Host, Alamat IP, atau FQDN) satu per baris.

Catatan: Saat mengakses lebih dari satu mesin secara bersamaan, Anda sebaiknya menyiapkan SSH tanpa kata sandi berbasis kunci di semua mesin Anda. Hal ini tidak hanya memberikan kemudahan akses, namun dari segi keamanan, hal ini juga memperkeras mesin Anda.

File “/etc/dsh/machines.list” atau “/usr/local/etc/machines.list” saya berbunyi:

172.16.25.125
172.16.25.126

Setelah Anda memasukkan kredensial mesin yang ingin Anda akses, mari jalankan perintah sederhana seperti uptime untuk semua mesin.

dsh -aM -c uptime

Contoh Keluaran:

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

Jadi, Apa Fungsi Perintah 'dsh'?

Cukup mudah. Pertama, kita menjalankan dsh dan meneruskan opsi “-a” ke sana, yang menyatakan untuk mengirimkan perintah “uptime” ke “SEMUA” mesin yang terdaftar di “/etc/dsh/machines.list“.

Selanjutnya, kita menentukan opsi “-M”, yang menyatakan untuk mengembalikan “nama mesin” (ditentukan dalam “/etc/dsh/machines.list<“) beserta output dari perintah uptime. (Sangat berguna untuk mengurutkan ketika menjalankan perintah pada sejumlah mesin).

Opsi “-c” berarti “perintah yang harus dieksekusi” dalam hal ini, “waktu aktif”.

DSH juga dapat dikonfigurasi dengan grup mesin di file “/etc/dsh/groups/”, yang merupakan file dengan daftar mesin dalam format yang sama dengan file “/etc/dsh/machines.list”. Saat menjalankan dsh pada grup, tentukan nama grup setelah opsi “-g”.

Untuk sistem berbasis Red Hat Anda perlu membuat folder bernama “grup” di direktori “/usr/local/etc/”. Di direktori “grup” Anda membuat file bernama “cluster“.

Misalnya, jalankan perintah “w” pada semua mesin yang terdaftar dalam file grup “cluster” “/etc/dsh/groups/cluster ” atau “/usr/local/etc/groups/cluster“.

dsh -M -g cluster -c w

DSH memberikan lebih banyak fleksibilitas, dan tutorial ini hanya membahas permukaan saja. Selain menjalankan perintah, DSH dapat digunakan untuk mentransfer file, menginstal perangkat lunak, menambahkan rute, dan banyak lagi.

Bagi Administrator Sistem yang ditugasi memikul tanggung jawab jaringan besar, hal ini sangat berharga.