주 전원이 복구 될 때 UPS를 종료 한 후 서버를 깨우는 방법?


16

APC UPS에 여러 Linux 서버가 연결되어 있습니다. USB를 통해 UPS에 연결되고 UPS가 주 전원이 끊 겼고 일정 시간이 지난 후에도 반환되지 않은 신호를 보내면 종료되도록 구성됩니다. 이것은 잘 작동합니다. 또한 점퍼를 통해 전원이 꺼진 후 자동으로 켜지도록 구성됩니다. 이것은 또한 잘 작동합니다.

문제를 일으키는 시나리오는 주 전원이 끊기고 서버가 종료 된 후 UPS가 다 떨어지기 전에 주 전원이 복원되는 것입니다. 이 경우 서버가 다시 시작되기를 원하지만 UPS 이후에는 실제로 전원이 끊기지 않으므로 서버는 전원 반환 이벤트를 보지 못하므로 전원이 켜지지 않습니다.

주 전원 사전 UPS에 연결하고 전원 반환 상태를 감지하고 Wake-on-Lan을 통해 미리 구성된 서버에 깨우기 신호를 보내어 누군가가 전원을 반환하면 장치를 깨울 수있는 장치가 있기를 바랍니다. 나를 가리킬 수 있습니다.

다른 제안도 감사합니다. 할 수없는 것은 서버 하드웨어를 교체하는 것이므로 가능한 경우 동일한 UPS를 유지하는 것이 좋습니다.

답변:


13

UPS를 사용할 때 구현되는 일반적인 시나리오는 다음과 같습니다.

  1. 전원이 꺼지면 UPS는 연결된 시스템의 소프트웨어 구성 요소에 알립니다.
  2. 전원이 n 초 이상 손실 된 경우, UPS 드라이버는 UPS에 알리고 전원을 끄지 않고 시스템 정지시킵니다 (중요).
  3. UPS는 시스템이 정지 될 때까지 m 초 동안 기다렸다가 전원을 끕니다.
  4. 전원이 복구되고 UPS 배터리가 최소 이상 충전되면 (시스템 부팅 직후 전원이 끊어 질 경우 전원을 켜고 완전히 종료 할 수 있도록) UPS는 시스템의 전원을 복원합니다.
  5. 시스템은 (BIOS / UEFI 레벨에서) 전원이 꺼지기 전에 전원이 켜졌 음을 나타내므로 부팅됩니다.

대부분의 서버 BIOS에서는 시스템이 정전 전에 전원 상태를 복원하도록 설정할 수 있습니다. 즉, 서버의 전원이 꺼져 있고 전원이 꺼진 경우 전원을 켠 후에도 전원이 꺼진 상태입니다. 한편, 전원이 켜진 상태에서 전원이 꺼지면 AC가 켜질 때 전원이 켜집니다. 복원되었습니다.

BillThor가 언급 한 NUT를 통해이 시나리오를 실현할 수 있습니다.


1
감사! 단계 (3)을 제외하고는 위의 모든 것이 작동하며 배터리가 너무 낮아질 때까지 UPS가 전원을 차단하지 않습니다. 일부 서버는 완전히 정지하거나 종료하는 데 몇 분이 걸릴 수 있으며 종료간에 시간이 변경 될 수 있습니다. 사전 구성된 시간이 지난 후 UPS가 전원을 끌어 당기면 너무 빨리 전원을 끌어 당기거나 너무 오래 기다렸다가 UPS가 전원을 끌어 오기 전에 전원이 다시 켜질 위험이 있으며 전원 켜기 신호가 부팅되지 않습니다. 아마도 내가 필요로하는 것은 시스템의 백 채널을 지원하는 UPS이므로 서버의 전원이 중단되는 즉시 전원을 공급받습니다.
bk.

2
NUT Docs를 보면, 내가 직면하고있는 문제가 이것이라고 생각합니다. 그래서 그들이 추천하는 해결책을 시도 할 것입니다. 감사 networkupstools.org/docs/FAQ.html#_i_8217_m_facing_a_power_race
BK.

9

이 문제는 주 UPS에 연결되어 전원이 복원되면 최대한 빨리 깨우는 작은 Linux 상자 (Asus wl deluxe 또는 smth)를 사용하여 해결했습니다. 시작 스크립트에는 전원 상태 (업 / 다운), 모든 서버 (모든 w2k3, 하나의 Linux)에 대한 WOL-ed 및 상태를 확인하기 위해 5 분 지연이 포함됩니다.


4

많은 제안을 읽은 후 좋은 해결책은 에너지에 직접 연결된 오래된 컴퓨터 (전력 소비에 신경 쓰지 않는 경우) 또는 일종의 라즈베리 파이를 사용하는 것입니다.

따라서 전원이 켜지면 하나의 스크립트가 서버가 켜져 있는지 확인하고 그렇지 않은 경우 네트워크를 통해 OWL을 보냅니다.


3

내가 사용 NUT (네트워크 UPS 도구) 이 같은 경우에. UPS를 모니터링하려면 Unix / Linux 기반 서버가 필요합니다. 종료가 시작되면 UPS의 전원을 껐다 켜야합니다. 전원이 복구 될 때 서버가 다시 시작되면 서버가 다시 시작됩니다.

Windows 서버용 클라이언트가 있으므로 완전히 종료 할 수 있습니다.


1

BIOS에서 전원 켜기 시간을 설정할 수있는 경우 UPS 종료 신호를 통해 종료가 트리거되는 경우 종료 후 50 분으로 설정할 수 있습니다.

따라서 시나리오에서 서버는 50m + boot + shutdown-time latest 후에 다시 실행됩니다.


-2

이전에 언급 한 모든 아이디어가 마음에 듭니다. 뚜껑을 닫은 상태에서 랩톱에서 "NUT"서버 또는 "WoL"서버를 실행하는 것이 좋습니다. 이런 식으로 배터리만으로도 4-6 시간 동안 작동 할 수 있습니다. 일부 랩탑에는 한 번에 2 개의 배터리를 장착하여 장시간 사용할 수도 있습니다.


Paweł Brodacki의 의견을 읽어보십시오. NUT 또는 apcupsd의 요점은 Linux 서버를 끄지 않고 중단시킬 수 있다는 입니다. 즉, "마지막 상태"는 서버를 다시 켠 후 모든 Windows 서버를 켭니다. 장기 배터리 백업은 여기서 완전히 반대입니다.
Michael Lowman

migabi가 언급 한 WoL 솔루션은 어떻습니까?
jftuga

그들은 같은 생각입니다. "모든 Windows 서버 켜기"는 WoL을 통해 수행됩니다. "WoL box"는 전원을 꺼야하는 방식으로 인해 계속 유지되지 않습니다 (즉, 마지막 상태가 여전히 작동하는 방식)
Michael Lowman
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.