Birden Fazla Linux Sunucusunda Komut Çalıştırmak için 4 Yararlı Araç


Bu yazımızda birden fazla Linux sunucusunda aynı anda komutların nasıl çalıştırılacağını göstereceğiz. Birden fazla sunucuda aynı anda tekrarlanan komut dizilerini yürütmek için tasarlanmış, yaygın olarak bilinen bazı araçların nasıl kullanılacağını açıklayacağız. Bu kılavuz, genellikle her gün birden fazla Linux sunucusunun durumunu kontrol etmek zorunda kalan sistem yöneticileri için kullanışlıdır.

Bu yazının amacı doğrultusunda, tüm sunucularınıza erişim sağlamak için halihazırda SSH kurulumuna sahip olduğunuzu ve ikinci olarak, aynı anda birden fazla sunucuya erişirken, tüm Linux sunucularınızda anahtar tabanlı şifresiz SSH kurmanın uygun olacağını varsayıyoruz. Bu her şeyden önce sunucu güvenliğini artırır ve aynı zamanda erişim kolaylığı sağlar.

Ayrıca Okuyun: Uzaktan Erişimi Kolaylaştırmak için Özel SSH Bağlantılarını Yapılandırma

1. PSSH – Paralel SSH

Parallel-SSH, bir dizi Linux sisteminde ssh'yi paralel olarak yürütmek için açık kaynaklı, hızlı ve kullanımı kolay bir komut satırı tabanlı Python araç setidir. parallel-ssh, paralel-scp, parallel-rsync, parallel-slurp ve gibi çeşitli amaçlara yönelik bir dizi araç içerir. >paralel-nuke (daha fazla bilgi için belirli bir aracın kılavuz sayfasını okuyun).

Paralel-ssh'yi yüklemek için öncelikle Linux sisteminize PIP'i yüklemeniz gerekir.

sudo apt install python-pip python-setuptools 	#Debian/Ubuntu 
yum install python-pip python-setuptools	        #RHEL/CentOS 
dnf install python-pip python-setuptools	        #Fedora 22+

Daha sonra aşağıdaki gibi pip kullanarak parallel-ssh'yi yükleyin.

sudo pip install parallel-ssh

Daha sonra, SSH Bağlantı Noktalı uzak Linux sunucusunun ana bilgisayar adlarını veya IP adreslerini ana bilgisayarlar adlı bir dosyaya girin (bu dosyaya istediğiniz adı verebilirsiniz):

vim hosts
192.168.0.10:22
192.168.0.11:22
192.168.0.12:22

Dosyayı kaydedin ve kapatın.

Şimdi parallel-ssh'yi çalıştırın, -h seçeneğini ve belirtilen tüm sunucularda yürütülecek komutları kullanarak ana bilgisayar dosyasını belirtin. -i bayrağı, her sunucuda komutun yürütülmesi tamamlandığında std çıktısının ve std hatasının görüntüleneceği anlamına gelir.

parallel-ssh -h hosts "uptime; df -h"

Ayrıca şuraya da göz atmalısınız: Birden Çok Linux Sunucusunda Birden Çok Komut Nasıl Çalıştırılır

2. Pdsh – Paralel Uzak Kabuk Yardımcı Programı

Pdsh aynı anda birden fazla Linux sunucusunda komutları yürütmek için kullanılan açık kaynaklı, basit bir paralel uzak kabuk aracıdır. Uzak komutları yürütmek için kayan bir iş parçacığı penceresi kullanır.

Linux makinelerinize Pdsh'i yüklemek için aşağıdaki uygun komutu çalıştırın.

sudo apt install pdsh 	#Debian/Ubuntu 
yum install pdsh	        #RHEL/CentOS 
dnf install pdsh              #Fedora 22+

Komutları birden fazla sunucuda çalıştırmak için sunucuları daha önce açıklandığı gibi bir hosts dosyasına ekleyin. Ardından gösterildiği gibi pdsh'yi çalıştırın; hosts dosyasını belirtmek için -w bayrağı kullanılır ve uzak komut modülünü belirtmek için -R bayrağı kullanılır (mevcut uzaktan komut modülleri arasında ssh, rsh, exec, the varsayılan rsh'dir).

Hosts dosyasından önceki ^ kısmına dikkat edin.

pdsh -w ^hosts -R ssh "uptime; df -h"

Yukarıda gösterildiği gibi komut satırında yürütülecek bir uzak komut belirtmemeniz durumunda, pdsh etkileşimli olarak çalışır, sizden komutlar ister ve satırbaşı ile sonlandırıldığında bunları çalıştırır. Daha fazla bilgi için pdsh kılavuz sayfasına bakın:

man pdsh 

3. KümeSSH

ClusterSSH, birden fazla sunucunun kümelerini aynı anda yönetmeye yönelik bir komut satırı aracıdır. Belirtilen tüm sunuculara bir yönetim konsolu ve bir xterm başlatır ve bunların hepsinde aynı komutu çalıştırmanıza olanak tanır.

clusterssh'i kullanmak için, yerel Linux bilgisayarınıza gösterildiği gibi yükleyerek başlayın.

sudo apt install clusterssh    #Debian/Ubuntu 
yum install clusterssh         #RHEL/CentOS 
sudo dnf install clusterssh    #Fedora 22+

Artık yüklediğinize göre, uzak sunucularda aynı anda bir yönetici konsolunu ve bir xterm'i aşağıdaki gibi açın. Bir komutu tüm sunucularda çalıştırmak için xterm giriş çubuğuna tıklayın ve komutunuzu yazın; tek bir ana bilgisayarı yönetmek için yönetici konsolunu kullanın.

clusterssh linode cserver contabo
OR
clusterssh username@server1 username@server2 username@server3 

Daha fazla bilgi için Clusterssh kılavuz sayfasına bakın:

man clusterssh

4. Anlayışlı

Ansible, BT süreçlerini otomatikleştirmek için kullanılan açık kaynaklı ve popüler bir araçtır. Sistemleri yapılandırmak ve yönetmek, uygulamaları dağıtmak ve çok daha fazlası için kullanılır.

Linux sistemlerine Ansible'ı yüklemek için aşağıdaki uygun komutu çalıştırın:

sudo apt install ansible       #Debian/Ubuntu 
yum install ansible            #RHEL/CentOS 
sudo dnf install ansible       #Fedora 22+

ansible'ı yükledikten sonra sunucunuzun ana makine adlarını veya IP adreslerini /etc/anasible/hosts dosyasına ekleyebilirsiniz.

sudo vim /etc/anasible/hosts

Bunları gruplar halinde belirtin (ör. web sunucuları).

Ex 2: A collection of hosts belonging to the 'webservers' group
[webservers]
139.10.100.147
139.20.40.90
192.30.152.186

Dosyayı kaydedin ve kapatın.

Şimdi, web sunucusu grubunda belirtilen tüm sunuculara bağlı çalışma süresini ve kullanıcıları kontrol etmek için, yukarıdaki hosts yapılandırma dosyasında, ansible komut satırı aracını aşağıdaki gibi çalıştırmanız yeterlidir.

-a seçenekleri, modüle aktarılacak bağımsız değişkenleri belirtmek için kullanılır ve -u bayrağı, uzak sunuculara bağlanmak için varsayılan kullanıcı adını belirtir. SSH aracılığıyla.

Ansible CLI aracının yalnızca en fazla tek bir komutu yürütmenize izin verdiğini unutmayın.

ansible webservers -a "w " -u admin

Bu kadar! Bu yazımızda yaygın olarak kullanılan araçları kullanarak birden fazla uzak Linux sunucusunda aynı anda komutların nasıl çalıştırılacağını anlattık. Aynı amaca yönelik, bu makaleye dahil etmediğimiz herhangi bir araç biliyorsanız, aşağıdaki yorum formunu kullanarak bize bildirin.