ค้นหาเว็บไซต์

4 เครื่องมือที่มีประโยชน์ในการรันคำสั่งบนเซิร์ฟเวอร์ Linux หลายเครื่อง


ในบทความนี้ เราจะแสดงวิธีเรียกใช้คำสั่งบนเซิร์ฟเวอร์ Linux หลายเครื่องพร้อมกัน เราจะอธิบายวิธีการใช้เครื่องมือที่เป็นที่รู้จักกันอย่างแพร่หลาย ซึ่งออกแบบมาเพื่อดำเนินการชุดคำสั่งซ้ำๆ บนเซิร์ฟเวอร์หลายเครื่องพร้อมกัน คู่มือนี้มีประโยชน์สำหรับผู้ดูแลระบบที่มักจะต้องตรวจสอบสภาพของเซิร์ฟเวอร์ Linux หลายตัวทุกวัน

สำหรับวัตถุประสงค์ของบทความนี้ เราถือว่าคุณมีการตั้งค่า SSH เพื่อเข้าถึงเซิร์ฟเวอร์ทั้งหมดของคุณอยู่แล้ว และประการที่สอง เมื่อเข้าถึงเซิร์ฟเวอร์หลายเครื่องพร้อมกัน คุณควรตั้งค่า SSH โดยไม่ต้องใช้รหัสผ่านแบบใช้คีย์บนเซิร์ฟเวอร์ Linux ทั้งหมดของคุณ เหนือสิ่งอื่นใดนี้ช่วยเพิ่มความปลอดภัยของเซิร์ฟเวอร์และยังช่วยให้เข้าถึงได้ง่ายอีกด้วย

อ่านเพิ่มเติม: วิธีกำหนดค่าการเชื่อมต่อ SSH แบบกำหนดเองเพื่อทำให้การเข้าถึงระยะไกลง่ายขึ้น

1. PSSH – SSH แบบขนาน

Parallel-SSH เป็นชุดเครื่องมือ Python แบบโอเพ่นซอร์ส รวดเร็วและใช้งานง่ายสำหรับการดำเนินการ ssh แบบขนานบนระบบ Linux หลายระบบ ประกอบด้วยเครื่องมือจำนวนหนึ่งสำหรับวัตถุประสงค์ต่างๆ เช่น parallel-ssh, Parallel-SCP, parallel-rsync, parallel-slurp และ parallel-nuke (อ่าน man page ของเครื่องมือเฉพาะเพื่อดูข้อมูลเพิ่มเติม)

หากต้องการติดตั้ง parallel-ssh คุณต้องติดตั้ง PIP บนระบบ Linux ก่อน

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+

จากนั้นติดตั้ง parallel-ssh โดยใช้ pip ดังนี้

sudo pip install parallel-ssh

จากนั้น ป้อนชื่อโฮสต์หรือที่อยู่ IP ของเซิร์ฟเวอร์ Linux ระยะไกลด้วยพอร์ต SSH ในไฟล์ชื่อ โฮสต์ (คุณสามารถตั้งชื่ออะไรก็ได้ที่คุณต้องการ):

vim hosts
192.168.0.10:22
192.168.0.11:22
192.168.0.12:22

บันทึกไฟล์และปิด

ตอนนี้รัน parallel-ssh ระบุไฟล์โฮสต์โดยใช้ตัวเลือก -h และคำสั่งที่จะดำเนินการบนเซิร์ฟเวอร์ที่ระบุทั้งหมด ธง -i หมายถึงการแสดง เอาต์พุต std และ ข้อผิดพลาด std เมื่อการดำเนินการคำสั่งบนแต่ละเซิร์ฟเวอร์เสร็จสมบูรณ์

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

คุณควรตรวจสอบ: วิธีเรียกใช้คำสั่งหลายคำสั่งบนเซิร์ฟเวอร์ Linux หลายเครื่อง

2. Pdsh – ยูทิลิตี้เชลล์ระยะไกลแบบขนาน

Pdsh เป็นเครื่องมือเชลล์ระยะไกลแบบโอเพ่นซอร์สที่เรียบง่ายแบบขนานสำหรับดำเนินการคำสั่งบนเซิร์ฟเวอร์ Linux หลายเครื่องในเวลาเดียวกัน มันใช้หน้าต่างเลื่อนของเธรดเพื่อดำเนินการคำสั่งระยะไกล

หากต้องการติดตั้ง Pdsh บนเครื่อง Linux ให้เรียกใช้คำสั่งที่เหมาะสมด้านล่าง

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

หากต้องการรันคำสั่งบนเซิร์ฟเวอร์หลายเครื่อง ให้เพิ่มเซิร์ฟเวอร์ลงในไฟล์โฮสต์ตามที่อธิบายไว้ก่อนหน้านี้ จากนั้นรัน pdsh ดังรูป ธง -w ใช้เพื่อระบุไฟล์โฮสต์ และ -R ใช้เพื่อระบุโมดูลคำสั่งระยะไกล (โมดูลคำสั่งระยะไกลที่มีอยู่ ได้แก่ ssh, rsh, exec, ค่าเริ่มต้นคือ rsh)

จด ^ หน้าไฟล์โฮสต์

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

ในกรณีที่คุณไม่ได้ระบุคำสั่งระยะไกลที่จะดำเนินการบนบรรทัดคำสั่งดังที่แสดงด้านบน pdsh จะทำงานแบบโต้ตอบ โดยแจ้งให้คุณใส่คำสั่งและรันคำสั่งเหล่านั้นเมื่อสิ้นสุดด้วยการขึ้นบรรทัดใหม่ สำหรับข้อมูลเพิ่มเติม โปรดดูที่หน้า pdsh man:

man pdsh 

3. คลัสเตอร์SSH

ClusterSSH เป็นเครื่องมือบรรทัดคำสั่งสำหรับการจัดการคลัสเตอร์ของเซิร์ฟเวอร์หลายเครื่องในเวลาเดียวกัน โดยจะเปิดคอนโซลการดูแลระบบและ xterm ไปยังเซิร์ฟเวอร์ที่ระบุทั้งหมด ทำให้คุณสามารถรันคำสั่งเดียวกันบนเซิร์ฟเวอร์ทั้งหมดได้

หากต้องการใช้ clusterssh ให้เริ่มต้นด้วยการติดตั้งลงในคอมพิวเตอร์ Linux ในพื้นที่ของคุณดังที่แสดง

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

เมื่อคุณติดตั้งแล้ว ให้เปิดคอนโซลผู้ดูแลระบบและ xterm บนเซิร์ฟเวอร์ระยะไกลพร้อมกัน ดังนี้ หากต้องการรันคำสั่งบนเซิร์ฟเวอร์ทั้งหมด ให้คลิกในแถบอินพุต xterm แล้วพิมพ์คำสั่งของคุณ หากต้องการจัดการโฮสต์เดียว ให้ใช้คอนโซลผู้ดูแลระบบ

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

สำหรับข้อมูลเพิ่มเติม โปรดดูที่หน้าคนคลัสเตอร์:

man clusterssh

4. เข้าใจได้

Ansible เป็นโอเพ่นซอร์สและเครื่องมือยอดนิยมในการทำให้กระบวนการไอทีเป็นอัตโนมัติ ใช้สำหรับการกำหนดค่าและการจัดการระบบ การปรับใช้แอปพลิเคชัน และอื่นๆ อีกมากมาย

หากต้องการติดตั้ง Ansible บนระบบ Linux ให้เรียกใช้คำสั่งที่เหมาะสมด้านล่าง:

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

เมื่อคุณติดตั้ง ansible แล้ว คุณสามารถเพิ่มชื่อโฮสต์หรือที่อยู่ IP ของเซิร์ฟเวอร์ของคุณในไฟล์ /etc/anasible/hosts

sudo vim /etc/anasible/hosts

ระบุเป็นกลุ่ม เช่น เว็บเซิร์ฟเวอร์

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

บันทึกไฟล์และปิด

ตอนนี้เพื่อตรวจสอบ เวลาทำงาน และผู้ใช้ที่เชื่อมต่อกับเซิร์ฟเวอร์ทั้งหมดที่ระบุในกลุ่ม เว็บเซิร์ฟเวอร์ ในไฟล์กำหนดค่าโฮสต์ด้านบน เพียงเรียกใช้เครื่องมือบรรทัดคำสั่ง ansible ดังต่อไปนี้

ตัวเลือก -a ใช้เพื่อระบุอาร์กิวเมนต์ที่จะส่งผ่านไปยังโมดูลและแฟล็ก -u ระบุ ชื่อผู้ใช้ เริ่มต้นเพื่อเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกล ผ่านทาง SSH

โปรดทราบว่าเครื่องมือ Ansible CLI อนุญาตให้คุณดำเนินการได้มากที่สุดเพียงคำสั่งเดียวเท่านั้น

ansible webservers -a "w " -u admin

นั่นคือทั้งหมด! ในบทความนี้ เราได้อธิบายวิธีเรียกใช้คำสั่งบนเซิร์ฟเวอร์ Linux ระยะไกลหลายเครื่องพร้อมกันโดยใช้เครื่องมือที่ใช้กันอย่างแพร่หลาย หากคุณรู้จักเครื่องมือใดๆ ที่มีเพื่อจุดประสงค์เดียวกันซึ่งเราไม่ได้รวมไว้ในบทความนี้ โปรดแจ้งให้เราทราบผ่านแบบฟอร์มความคิดเห็นด้านล่าง