กลับไปหน้าบทความ

อ่าน 3 นาที

เครื่องมือ UPS สำหรับเครือข่าย

Network UPS Tools ( NUT ) คือชุดซอฟต์แวร์ที่ออกแบบมาเพื่อตรวจสอบอุปกรณ์ไฟฟ้า เช่น เครื่องสำรองไฟ (UPS) , หน่วยจ่ายไฟ (PDC ), ตัว ควบคุมพลังงานแสงอาทิตย์ และ หน่วยจ่ายไฟ...

เครื่องมือ UPS สำหรับเครือข่าย

เครื่องมือสำรองไฟเครือข่าย (NUT)
นักพัฒนาเยฟเกนี "จิม" คลิมอฟ อาร์โนด์เควตต์ อาร์เยน เดอ คอร์เตชาร์ลส์ เลปเปิล และผู้มีส่วนร่วมอีกมากมาย (...)
ปล่อย8 มีนาคม 2541 ( 8 มีนาคม 1998 )
เวอร์ชันเสถียร
2.8.5 / 7 เมษายน 2569 ( 7 เมษายน 2569 )
เขียนเป็นซี
ระบบปฏิบัติการข้ามแพลตฟอร์ม
ใบอนุญาตจีพีแอล
เว็บไซต์networkupstools.orgแก้ไขข้อมูลนี้ได้ที่วิกิดาต้า
ที่เก็บข้อมูล
  • github.com/networkupstools/nut

Network UPS Tools ( NUT ) คือชุดซอฟต์แวร์ที่ออกแบบมาเพื่อตรวจสอบอุปกรณ์ไฟฟ้า เช่นเครื่องสำรองไฟ (UPS) , หน่วยจ่ายไฟ (PDC ), ตัว ควบคุมพลังงานแสงอาทิตย์และหน่วยจ่ายไฟ สำหรับเซิร์ฟเวอร์ รองรับหลายยี่ห้อและรุ่น และสามารถใช้งานผ่านโปรโตคอลเครือข่ายและอินเทอร์เฟซมาตรฐานได้

ระบบนี้ใช้โมเดลสามระดับ โดยมี เดมอนไดรเวอร์ อุปกรณ์ NUT หลายสิบตัว ที่สื่อสารกับอุปกรณ์ฮาร์ดแวร์ที่เกี่ยวข้องกับพลังงานผ่านสื่อที่เลือกโดยใช้โปรโตคอลเฉพาะของผู้จำหน่าย เซิร์ฟเวอร์ NUT upsdซึ่งเป็นตัวแทนของไดรเวอร์บนเครือข่าย (โดยค่าเริ่มต้นจะใช้พอร์ต3493/tcp ที่ลงทะเบียนกับ IANA [ 1 ] ) โดยใช้โปรโตคอล NUT มาตรฐาน และไคลเอ็นต์ NUT (ทำงานบนlocalhost เดียวกัน กับเซิร์ฟเวอร์ หรือบนระบบระยะไกล) ซึ่งสามารถจัดการอุปกรณ์พลังงานและสอบถามสถานะพลังงานและเมตริกอื่นๆ สำหรับแอปพลิเคชันต่างๆ ซึ่งโดยทั่วไปจะครอบคลุมตั้งแต่การสร้างกราฟประวัติและการปิดระบบอย่างนุ่มนวล ไปจนถึงการจัดการการสลับพลังงานและการย้ายเครื่องเสมือน

โดยอิงตามการออกแบบและโปรโตคอล NUT ชุมชนโครงการได้เขียน "โปรโตคอลการจัดการ UPS" RFC ข้อมูล 9271 ซึ่งเผยแพร่โดย IETF ในเดือนสิงหาคม 2022 [ 2 ]และทะเบียนหมายเลขพอร์ต IANA ได้รับการอัปเดตเพื่อสะท้อน (แม้ว่า RFC นี้จะไม่ใช่มาตรฐานอินเทอร์เน็ต อย่างเป็นทางการก็ตาม )

ไคลเอนต์ที่ได้รับการพัฒนาในโค้ดเบสของ NUT ได้แก่upsc , upsrwและupscmdสำหรับการดำเนินการผ่านบรรทัดคำสั่ง, upsmonสำหรับการตรวจสอบอย่างง่ายและการปิดระบบอย่างนุ่มนวล (โดยคำนึงถึงจำนวนหน่วยจ่ายไฟที่จำเป็นขั้นต่ำเทียบกับจำนวนหน่วยจ่ายไฟทั้งหมดที่มีอยู่ในเซิร์ฟเวอร์ปัจจุบัน), upsschedสำหรับสถานการณ์การตรวจสอบที่ซับซ้อน, upscgiสำหรับอินเทอร์เฟซเว็บแบบง่าย, ไคลเอนต์เดสก์ท็อป NUT-Monitor X11 รวมถึงไลบรารี C, C++ และ Python สำหรับไคลเอนต์ของบุคคลที่สาม โครงการของชุมชนประกอบด้วยไคลเอนต์และส่วนเชื่อมต่อเพิ่มเติมสำหรับภาษาอื่นๆ

เนื่องจากเป็นโครงการข้ามแพลตฟอร์ม NUT จึงทำงานได้บนแพลตฟอร์ม Unix, BSD และ Linux ส่วนใหญ่ที่มีสถาปัตยกรรมระบบที่หลากหลาย ตั้งแต่ระบบฝังตัวไปจนถึงเซิร์ฟเวอร์ Solaris, HP-UXและ AIX รุ่นเก่า นอกจากนี้ยังมีการสร้างเวอร์ชัน Windows ดั้งเดิมโดยอิงจาก NUT เวอร์ชันเสถียรรุ่นก่อนหน้า โดยเวอร์ชันล่าสุดคือ 2.6.5 ความพยายามนี้ได้รับการฟื้นฟูหลังจาก NUT เวอร์ชัน 2.8.0 ออกวางจำหน่าย และกลายเป็นส่วนหนึ่งของโค้ดเบสหลักในเดือนกันยายน 2022 (ในขณะนี้มีบางส่วนของโค้ดเบสที่บันทึกไว้ในโครงการเป็นตัวplaceholder และยังไม่ได้พอร์ตไปยังแพลตฟอร์ม Windows และโครงการยังไม่ได้สร้างแพ็กเกจ) ตั้งแต่ NUT เวอร์ชัน 2.8.1 ถึง 2.8.3 [ 3 ]การสร้าง NUT สำหรับ Windows มีให้ใช้งานในรูปแบบไฟล์เก็บถาวรจาก แพลตฟอร์ม CIแต่แพ็กเกจที่รวมเข้าด้วยกันอย่างเรียบร้อยยังไม่พร้อมใช้ งาน

ประวัติศาสตร์

apcdดั้งเดิมของ Pavel Kořenský เป็นแรงบันดาลใจให้ดำเนินการตาม โปรโตคอล APC Smart-UPSในปี 1996 [ 4 ]นี่คือซอฟต์แวร์เดียวกันกับที่Apcupsdได้รับมาจาก ตามที่ ผู้ดูแล Debianของ Apcupsd กล่าวไว้ [ 5 ]

Russell Kroll ผู้เขียนและผู้ประสานงาน NUT ดั้งเดิม ได้เผยแพร่แพ็กเกจเริ่มต้นชื่อsmartupstoolsในปี 1998 การออกแบบนี้ประกอบด้วย daemon สองตัว คือupsd (ซึ่งให้บริการข้อมูล) และupsmon (ซึ่งปกป้องระบบ) ชุดไดรเวอร์และตัวอย่าง โมดูล CGI จำนวนหนึ่ง และการรวมระบบไคลเอ็นต์ รวมถึงชุดเครื่องมือ CLI ไคลเอ็นต์ ( upsc , upsrwและupscmd ) สำหรับการเชื่อมต่อระบบกับ UPS รุ่นใดรุ่นหนึ่งโดยเฉพาะ[ 6 ]เพื่อสะท้อนถึงการสนับสนุนไดรเวอร์จากผู้จำหน่ายหลายราย และเพื่อป้องกันข้อพิพาทที่อาจเกิดขึ้นกับ APC ชื่อโครงการจึงเปลี่ยนเป็นNetwork UPS Toolsตั้งแต่เวอร์ชัน 0.42.0 ซึ่งเผยแพร่เมื่อวันที่ 31 ตุลาคม 1999

Arnaud Quette เป็นผู้นำโครงการนี้มาตั้งแต่ปี 2005 โดยเพิ่มการมองเห็นโครงการให้แก่ผู้ร่วมพัฒนารายอื่นๆ ด้วยการสร้างโครงการบนDebian Alioth Forgeทำให้โครงการไม่ขึ้นอยู่กับบุคคลเพียงคนเดียว ขณะทำงานให้กับ MGE UPS Systems และต่อมาที่ Eaton เขายังดูแลความร่วมมือกับผู้ผลิตในด้าน UPS และระบบฝังตัว ส่งผลให้มีการพัฒนาไดรเวอร์สำหรับโปรโตคอลและสื่อต่างๆ มากมาย และเพิ่มเครื่องมือและซอฟต์แวร์เชื่อมต่อแบบองค์กรจำนวนมากเข้าไปในโครงการ ไดรเวอร์จำนวนมากได้รับการออกแบบใหม่ให้เป็นเฟรมเวิร์กที่ใช้ร่วมกันได้มากขึ้น ทำให้สามารถแบ่งปันโค้ดเบสได้ดียิ่งขึ้น

Evgeny "Jim" Klimov หัวหน้าโครงการคนปัจจุบันตั้งแต่ปี 2020 [ 7 ]มุ่งเน้นไปที่การทดสอบอัตโนมัติและการประกันคุณภาพของโค้ดเบสที่มีอยู่ก่อน เพื่อให้แน่ใจว่าการเปลี่ยนแปลงใหม่ๆ ที่เกิดขึ้นนั้นมีน้อยที่สุด รวมถึงการแก้ไขปัญหาทางเทคนิคและความไม่สอดคล้องกันที่เครื่องมือตรวจสอบโค้ดและการวัดความครอบคลุมสมัยใหม่ได้เน้นไว้[ 8 ]และในที่สุดก็ออกเวอร์ชันใหม่อย่างเป็นทางการ v2.8.0 ที่ล่าช้ามานานในวันที่ 26 เมษายน 2022 [ 9 ]

ความจำเป็นในการทดสอบ NUT บนแพลตฟอร์มที่หลากหลายกว่าที่โครงการ CI บนคลาวด์ทั่วไปซึ่งใช้ระบบปฏิบัติการชั้นนำ (Debian/Ubuntu Linux, MacOS, Windows) นำเสนอ ทำให้เกิดชุด VM และคอนเทนเนอร์ที่กำหนดเอง ซึ่งถูกสร้างขึ้นบนผู้ให้บริการคลาวด์ที่ให้การสนับสนุนที่แตกต่างกันในแต่ละปี โดยมีฟาร์ม CI ของ NUT ที่ใช้ Jenkins ครอบคลุมแพลตฟอร์มที่มีการใช้งานน้อยกว่าหลายแห่ง นอกจากนี้ยังนำไปสู่การสร้าง " jenkins-dynamatrix " ซึ่งเป็น ไลบรารีที่ใช้ร่วมกันของ Jenkins เพื่อจัดการเมทริกซ์การสร้างและการทดสอบที่กำหนดโดยกลุ่มตัวแทนการสร้างที่ใช้งานอยู่ซึ่งประกาศความสามารถของแพลตฟอร์มของตน แม้ว่าปัจจุบันผู้ใช้งานหลักคือ NUT แต่โครงการอื่นๆ ที่มีความต้องการคล้ายกันก็สามารถปรับใช้ให้เข้ากับความต้องการของตนได้ ด้วยการตั้งค่านี้ การทำงานซ้ำของโค้ดเบส NUT โดยทั่วไปจะรันสถานการณ์ประมาณ 300 สถานการณ์ด้วยเป้าหมายการสร้างและการทดสอบที่แตกต่างกัน ครอบคลุมเทคโนโลยีเคอร์เนลระบบปฏิบัติการและการแจกจ่ายต่างๆ มากมาย รวมถึงไลบรารีระบบ คอมไพเลอร์เชลล์และ การใช้งานโปรแกรม makeครอบคลุมสาขาต่างๆ มากมายในช่วงสองทศวรรษที่ผ่านมาของการพัฒนาไอที โดยรับประกันว่าระบบเหล่านี้ได้รับการสนับสนุนในทุกชุดการเปลี่ยนแปลงที่รวมเข้าด้วยกัน[ 10 ]

งานในภายหลังของเขาเน้นไปที่การให้คำแนะนำแก่ผู้มีส่วนร่วมในการพัฒนาไดรเวอร์และโค้ดอื่นๆ การขยายความเข้ากันได้กับระบบปฏิบัติการต่างๆ การใช้งานชุดเครื่องมือ และการปรับปรุงภาษา ตลอดจนการบำรุงรักษาและจัดทำเอกสารเกี่ยวกับความเป็นไปได้ในการสร้างโค้ดเบส NUT ปัจจุบันไม่ว่าจะเคยใช้งานได้ที่ใดก็ตามในช่วงหลายทศวรรษที่ผ่านมา ด้วยคติประจำใจที่ว่า "ถ้าเครื่องเหล่านั้นยังใช้งานได้อยู่ พวกมันก็สมควรได้รับการปกป้อง!"

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

ตลอดระยะเวลากว่าสองทศวรรษ โครงการโอเพนซอร์สนี้ได้กลายเป็นมาตรฐานที่ใช้กันอย่างแพร่หลายสำหรับการตรวจสอบ UPS โดยมีให้ใช้งานในระบบปฏิบัติการต่างๆ และฝังอยู่ในโซลูชัน NAS หลายตัว รวมถึงการตั้งค่าไฮเปอร์ไวเซอร์แบบรวมศูนย์บางระบบ และอุปกรณ์อื่นๆ อีกทั้งยังได้รับการสนับสนุนจากผู้ใช้ปลายทางจำนวนมาก ตลอดจนตัวแทนจากผู้จำหน่ายฮาร์ดแวร์ด้านพลังงานที่ให้ข้อมูลจำเพาะของโปรโตคอล ฮาร์ดแวร์ตัวอย่าง และในหลายกรณี โค้ดไดรเวอร์ NUT ใหม่และการแก้ไขที่ตามมาโดยอิงจากข้อเสนอแนะของชุมชน NUT

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Network_UPS_Tools&oldid=1347599827 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เครื่องมือ UPS สำหรับเครือข่าย

Network UPS Tools ( NUT ) คือชุดซอฟต์แวร์ที่ออกแบบมาเพื่อตรวจสอบอุปกรณ์ไฟฟ้า เช่น เครื่องสำรองไฟ (UPS) , หน่วยจ่ายไฟ (PDC ), ตัว ควบคุมพลังงานแสงอาทิตย์ และ หน่วยจ่ายไฟ...

ประวัติศาสตร์

apcd ดั้งเดิมของ Pavel Kořenský เป็นแรงบันดาลใจให้ดำเนินการตาม โปรโตคอล APC Smart-UPS ในปี 1996 [ 4 ] นี่คือซอฟต์แวร์เดียวกันกับที่ Apcupsd ได้รับมาจาก ตามที่ ผู้ดูแล Debian ของ Apcupsd กล่าวไว้ [ 5 ]

ลิงก์ภายนอก

เว็บไซต์อย่างเป็นทางการ น็อตบน GitHub อาร์เอฟซี 9271 ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Network_UPS_Tools&oldid=1347599827 "