linux fedora จำกัด การเชื่อมต่อการเปิดพร้อมกันในเทอร์มินัล


0

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

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

ฉันมี 16 เครื่องที่ใช้งาน Fedora, เซิร์ฟเวอร์มี Cent OS 5, s120 & s121 - เป็น 2 severs ที่ฉันเป็นเจ้าของด้วยที่อยู่ IP ที่กำหนดใน/etc/hostss121 & s120

นี่เป็นคำสั่งตัวอย่างที่เปิดการเชื่อมต่อ 9 กับ s120 + 9 การเชื่อมต่อกับ s121 ในเชลล์เดียวกันในเวลาเดียวกัน .. และมันทำงาน!

gnome-terminal --tab -e "bash -c \"ssh root@s120;\"" --tab -e "bash -c \"ssh root@s120;\"" --tab
-  e "bash -c \"ssh root@s120;\"" --tab -e "bash -c \"ssh root@s120;\"" --tab -e "bash -c \"ssh
root@s120;\"" --tab -e "bash -c \"ssh root@s120;\"" --tab -e "bash -c \"ssh root@s120;\"" -- tab 
-e "bash -c \"ssh root@s120;\"" --tab -e "bash -c \"ssh root@s120;\"" --tab -e "bash -c \"ssh
root@s121;\"" --tab -e "bash -c \"ssh root@s121;\"" --tab -e "bash -c \"ssh root@s121;\"" --tab 
-e "bash -c \"ssh root@s121;\"" --tab -e "bash -c \"ssh root@s121;\"" --tab -e "bash -c \"ssh
 root@s121;\"" --tab -e "bash -c \"ssh root@s121;\"" --tab -e "bash -c \"ssh root@s121;\"" --tab 
-e "bash -c \"ssh root@s121;\""

คำสั่งนี้พยายามเปิดการเชื่อมต่อ 15 บนเชลล์เดียวกันทั้ง 15 TO-> s120

gnome-terminal --tab -e "bash -c \"ssh root@s120;\"" --tab -e "bash -c \"ssh root@s120;\"" --tab
-e "bash -c \"ssh root@s120;\"" --tab -e "bash -c \"ssh root@s120;\"" --tab -e "bash -c \"ssh 
root@s120;\"" --tab -e "bash -c \"ssh root@s120;\"" --tab -e "bash -c \"ssh root@s120;\""       
--tab - e   "bash -c \"ssh root@s120;\"" --tab -e "bash -c \"ssh root@s120;\""  --tab -e "bash 
- c \"ssh
 root@s120;\""  --tab -e "bash -c \"ssh root@s120;\""  --tab -e "bash -c \"ssh root@s120;\""  
--tab -e "bash -c \"ssh root@s120;\""  --tab -e "bash -c \"ssh root@s120;\""  --tab -e "bash -c 
\"ssh root@s120;\""

และจะพยายามเปิดการเชื่อมต่อ 15 ครั้งซึ่งเกือบจะในทันที 5 แท็บปิดตัวเองและมีเพียง 10 การเชื่อมต่อที่เปิดอยู่ ปัญหานี้ก็เกิดขึ้นด้วยterminal_xfce(ซึ่งฉันชอบเพราะฉันพบว่า gnome-terminal เสถียรน้อยลง)

ดูเหมือนว่าไม่อนุญาตการเชื่อมต่อการเปิดพร้อมกันมากกว่า 10 รายการ

ดูเหมือนว่าอนุญาตการเชื่อมต่อพร้อมกันไม่เกิน 10 รายการเมื่อเริ่มต้น แต่ถ้าฉันเปิด 10 แท็บและรอการเชื่อมต่อเพื่อเริ่มต้นการเชื่อมต่อฉันสามารถเปิดเทอร์มินัลอื่นที่มี 10 แท็บไปยังเซิร์ฟเวอร์เดียวกัน

(ฉันอยากจะบอกว่าผลการทดสอบนี้เหมือนกันกับ IP TABLES firewall ปิดการใช้งานทั้งลูกค้าและเซิร์ฟเวอร์)

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

คำตอบ:


0

หากการเชื่อมต่อทั้งหมดของคุณกำลังจะใช้คำสั่งแบบสคริปต์ ... ทำไมต้องใช้แท็บ gnome-terminal คุณกำลังใช้ทรัพยากรจำนวนมากซึ่งคุณไม่ต้องการและอาจมีส่วนทำให้ปัจจัย จำกัด ที่คุณประสบอยู่

คุณควรจะสามารถเชื่อมต่อได้ไม่ จำกัด จำนวน (สำหรับวัตถุประสงค์ของคุณ) หากคุณให้ระบบจัดการการเชื่อมต่อแทนการบังคับให้ gnome-terminal เชื่อมต่อ

for a in $( seq 1 50 ); do
  ssh root@s120 my_cool_script &
  ssh root@s121 my_cool_script &
done
wait

สิ่งนี้ควรสร้างการเชื่อมต่อ 100 รายการ (50 ถึง s120, 50 ถึง s121) ภายในไม่กี่วินาทีซึ่งทั้งหมดเรียกใช้ ' my_cool_script ' ตราบใดที่คุณกำลังทำสคริปต์อยู่มันก็จะดำเนินต่อไปอย่างดี

คำสั่ง 'รอ' ทำให้สคริปต์ที่นั่นรองานพื้นหลังทั้งหมดให้เสร็จสมบูรณ์ก่อนที่จะดำเนินการต่อ คุณอาจไม่ต้องการ / ต้องการ

(รวมทั้งพิมพ์น้อยกว่าทั้งหมด ... )


0

ค้นหา MaxStartups ใน / etc / ssh / sshd_config

  • มัน จำกัด การเข้าสู่ระบบพร้อมกันไม่ได้รับอนุญาตเพื่อ sshd

  • ค่าเริ่มต้นคือ 10

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.