วิธีกำหนดค่า UPS ให้รีสตาร์ทเซิร์ฟเวอร์ในลำดับที่ถูกต้อง


12

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

power the load xx seconds after power is restoredยูพีเอสของเรามีราคาถูกมากและการกำหนดค่าพารามิเตอร์ที่มีประโยชน์สำหรับเป้าหมายของฉันคือ ในทางทฤษฎีแล้วการวางเครื่องล่าช้าในแต่ละ UPS ฉันสามารถแก้ไขลำดับการรีสตาร์ทเซิร์ฟเวอร์ แต่ฉันไม่เชื่อว่า UPS จะทำงานตามที่คาดไว้

มันเป็นวิธีที่ถูกต้องหรือไม่?
UPS ระดับสูงมีตัวเลือกอื่นเพื่อแก้ไขลำดับการรีสตาร์ทหรือไม่
หนึ่งหมายเหตุสุดท้าย: Ups ของฉันอยู่ในช่วง 1000 - 2200 VA


1
นี่เป็นหนึ่งในสิ่งที่ดีที่นำเสนอโดยsystemd- ความสามารถในการกำหนดการอ้างอิงที่เหมาะสมในกระบวนการเริ่มต้น รอจนกว่าบริการ X จะพร้อมใช้งานก่อนที่จะเริ่มบริการ Y
MSalters

1
@MSalters AFAIK systemd การจัดการการพึ่งพาทำงานเฉพาะเมื่อหน่วยจัดการโดยsystemdอินสแตนซ์เดียวกันและไม่ได้สำหรับบริการที่ทำงานบนเซิร์ฟเวอร์ที่แตกต่างกันอย่างสมบูรณ์ ...
HBruijn

1
@HBruijn: การเรียงลำดับเครือข่ายเชื่อมต่อเช่นทำงานข้ามเซิร์ฟเวอร์ กล่าวคือหากเซิร์ฟเวอร์ 1 เมานต์ระบบไฟล์ที่โฮสต์โดย server2 บริการของ service1 ซึ่งขึ้นอยู่กับการเมาต์จะหยุดชั่วคราวจนกว่า server2 จะเริ่มบริการเหล่านั้น และ IIRC คุณยังสามารถมีเซิร์ฟเวอร์รอ DHCP (อย่าถามฉันว่าทำไมเซิร์ฟเวอร์ใช้ DHCP แต่มันก็ถูกกล่าวถึงในคำตอบ)
MSalters

คำตอบ:


25

คำตอบมาตรฐานสำหรับเรื่องนี้คือ "ไม่ได้ทั้งหมด" แก้ไขซอฟต์แวร์เพื่อจัดการการรีสตาร์ทตามลำดับแบบสุ่ม หากคุณต้องการเซิร์ฟเวอร์ SOME จริงๆให้เริ่มต้นก่อน (ตัวอย่าง: Active Directory) วางไว้บน USV ซึ่งอาจรอดชีวิตได้นานกว่ามาก เซิร์ฟเวอร์ที่ใช้พลังงานต่ำอะตอมดีพอที่เป็นตัวควบคุม Active Directory และจะอยู่รอดได้หนึ่งวันใน USV ขนาดเล็ก

UPS ระดับสูงมีตัวเลือกอื่นเพื่อแก้ไขลำดับการรีสตาร์ทหรือไม่

ไม่ฉันจะบอกว่าโดยทั่วไปแล้วโปรแกรมเมอร์จะถือว่ามีความสามารถพอที่จะแก้ไขปัญหาได้อย่างเหมาะสม

สิ่งที่คุณสามารถทำได้คือ:

  • ให้เซิร์ฟเวอร์เริ่ม "สุ่ม" ยกเว้น DHCP / Active Directory ไม่มีสิ่งใดที่ต้องการใบสั่งที่ไม่สามารถแก้ไขได้
  • มีเซิร์ฟเวอร์ควบคุมหลังจากเวลา (5 นาที) เริ่มบริการบนเครื่องต่าง ๆ ในลำดับที่ถูกต้อง

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

ดังที่ทราบ: การตั้งค่าของเราเองคือต้นทุนต่ำ 20kva USV (ราคาถูกเพราะเราใช้ไปแล้ว) สำหรับเซิร์ฟเวอร์ที่มี 2000VA USV แบบ slaved สำหรับเครื่องที่ทำหน้าที่เป็น "รูท" ของเครือข่าย (และเครื่องสำรองข้อมูล) Slaved หมายความว่า USV อยู่หลังตัวใหญ่ดังนั้นจึงเปลี่ยนเป็นแบตเตอรี่เมื่อขนาดใหญ่ (ซึ่งอยู่ระหว่างครึ่งชั่วโมงและ 8 ชั่วโมงขึ้นอยู่กับจำนวนตารางการคำนวณของเราออนไลน์) จะเข้าสู่การปิดเครื่องเทอร์มินัล


2
ฉันคิดว่าบางครั้งพูดง่ายกว่าทำ (โฆษณาอย่างที่คุณพูดเป็นตัวอย่างที่ชัดเจน) แต่ฉันเห็นด้วย ทางออกที่ถูกต้องคือการกำจัดการพึ่งพาสำหรับสิ่งต่างๆเช่นลำดับการเริ่มต้นของเซิร์ฟเวอร์หรือบริการ หากไม่มีอะไรอื่นมันควรจะเป็นไปได้ในเว็บแอปตัวอย่างเช่นในการเขียนโค้ดที่ระบุว่า "ถ้าฉันไม่สามารถเชื่อมต่อกับแบ็คเอนด์ของฉัน" หลับ "และลองอีกครั้งในภายหลังแทนที่จะล้มเหลวอย่างน่ากลัว"
Rob Moir

เขามีปัญหากับ AD ไม่แม้แต่โฆษณา - มันเป็น IPv4 DHCP ส่วนใหญ่ซึ่งไม่ได้เตรียมไว้สำหรับคอมพิวเตอร์ที่ออนไลน์ก่อนเซิร์ฟเวอร์ dhcp Ipv6 จัดการสิ่งนี้;)
TomTom

นั่นเป็นเรื่องจริง IPv4 เป็นความเจ็บปวด ... และฉันก็ยังได้รับคนที่นี่ถามฉันว่าทำไมเราต้องไปกังวลกับ "ขยะ IPv6 ใหม่ที่ใหม่นี้"
Rob Moir

1
"โดยทั่วไปโปรแกรมเมอร์จะถือว่ามีความสามารถพอที่จะแก้ไขปัญหา" - คุณต้องไม่เขียนโปรแกรมมาก! ไม่ในความร้ายแรงทั้งหมดมีเหตุผลมากมายที่ระบบอาจต้องนำมาใช้ในการสั่งซื้อที่เฉพาะเจาะจง ใช่ซอฟต์แวร์ควร "ล้มเหลวอย่างสง่างาม" และลองเชื่อมต่อใหม่ที่ใช้งานไม่ได้ แต่ไม่สามารถทำได้เสมอไป จากสิ่งที่ฉันจำได้ PDU ที่ดีบางอย่างมีความสามารถในการเริ่ม / หยุดพอร์ตแต่ละพอร์ตดังนั้นอาจมีบางสิ่งที่ทำที่นั่น
SnakeDoc

1
ฉันต้องค้นหา "USV" และพบ "ยานพาหนะพื้นผิวที่ไม่มีคนควบคุม" ฉันรู้ว่ามันผิด แต่ฉันต้องการให้มันถูกต้อง
Braiam

14

หน่วยการกระจายพลังงานที่มีการจัดการ(แทนที่จะเป็น UPS) มักจะสนับสนุนความล่าช้าที่กำหนดเองในการเปิดใช้งานแต่ละช่องหลังจากที่จ่ายกระแสไฟกลับมาทำงานต่อ

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


ใช่ถูกต้อง นี่คือฟังก์ชั่นขั้นสูงและไม่ถือว่า USV เชื่อมต่อกับเซิร์ฟเวอร์จริง ๆ แต่เป็นการเปิดเครื่องแร็คที่ใช้ PDU เพื่อจัดการกับรายละเอียด
TomTom

6

ฉันมีปัญหาตรงนี้ ความแตกต่างเพียงอย่างเดียวที่เราลงทุนในหน่วยพลังงาน APC แบบแร็คที่แข็งแรง (เช่นAPC SmartUPS 3000 ) ด้วยซอฟต์แวร์การปิดระบบเครือข่าย APC PowerChute (ซอฟต์แวร์PowerChute Network Shutdown)ฉันสามารถปิดและเปิดเซิร์ฟเวอร์ตามลำดับเฉพาะได้ อีกคุณสมบัติที่มีประโยชน์ของซอฟต์แวร์คือการตั้งค่าเซิร์ฟเวอร์ให้ปิดในนาทีสุดท้ายเช่นคำนวณจำนวนพลังงานแบตเตอรี่ที่หน่วย APC ทิ้งไว้และปิดเซิร์ฟเวอร์ด้วยเวลาเพียงพอสำหรับพวกเขาอย่างถูกต้องแทนที่จะปิดเครื่อง

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


1
เรามี Apc Smart Ups ด้วยเช่นกันบางอันค่อนข้างเก่าและอาจมีแบตเตอรี่อ่อน เป็นการยากที่จะทำการทดสอบกับพวกเขาเพราะพวกเขาอยู่ในการผลิต นอกจากเราไม่มีโหลดประหลาดฉันหมายถึงโหลดที่สามารถแบกพลังงานลงโดยไม่มีปัญหา ที่กล่าวไว้ทุกครั้งที่ฉันจำลองการปิดไฟของ UPS ที่ทำงานผิดไปจากที่คาดไว้อาจเป็นเพราะการกำหนดค่าผิดพลาด แต่ความรู้สึกของฉันคือ UPS เหล่านั้นไม่น่าเชื่อถือ
Filippo

@Filippo แน่นอน YMMV แต่ฉันมีการผสมผสานของ SmartUPS 3000 และ 3000XLMs ในหลาย ๆ ไซต์โดยใช้ซอฟต์แวร์ PowerChute สำหรับการใช้งานต่อเนื่อง 3 ปีและหลังจากหาซอฟต์แวร์มีช่วงการเรียนรู้ที่แน่นอนและการทดสอบบางอย่างนั้นค่อนข้างแข็งแกร่ง
Winski Tech

2

ดูเหมือนว่าหน่วยของ UPS มีต้นทุนต่ำและไม่สามารถกำหนดค่าสำหรับเวลารอส่งเอาต์พุตเฉพาะหลังจากการคืนพลังงาน (หน่วยปลายที่สูงกว่าบางหน่วย) ในการรับฟังก์ชั่นเดียวกันคุณต้องเลือกโฮสต์ที่เฉพาะเจาะจงเพื่อเปิดเครื่องทันที (อาจระบบใดก็ได้ที่ได้รับอนุญาตให้บูตได้ตลอดเวลา) และปล่อยให้เซิร์ฟเวอร์อื่น ๆ ทั้งหมดอยู่ในสถานะปิดเครื่อง (กำหนดค่าเป็นไบออสเพื่อกลับสู่อำนาจ ปิดเมื่อ AC ถูกนำไปใช้และเพื่อให้เกียรติแพ็คเก็ตเวค On Wake On เพื่อเปิดเมื่อบอกให้ทำ) จากนั้นในโฮสต์หลักที่บูตให้รันสคริปต์ / ยูทิลิตีเพื่อกำหนดเวลาการส่งแพ็กเก็ตเวทย์มนตร์ WOL ไปยังแต่ละโฮสต์

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