GNU/Linux >> Belajar Linux >  >> Linux

Satu server, Dua UPS APC pada catu daya redundan :Bagaimana cara memicu pematian?

Saat ini ketika salah satu dari dua UPS mati, doshutdown peristiwa dipicu, dan mengeksekusi skrip default melalui apccontrol . mematikan skrip mengabaikan UPS kedua, karena tidak terhubung dengan peristiwa, dan melanjutkan secara normal dengan penonaktifan.

Untuk melakukan doshutdown peristiwa agak terhubung, dua instance apcupsd memerlukan file konfigurasi yang disesuaikan secara khusus. Perbedaannya terletak pada direktori tempat skrip peristiwa harus dijalankan.

Properti utama up pertama, di /etc/apcupsd/apcupsd.ups0.conf

SCRIPTDIR /etc/apcupsd/ups0
UPSNAME ups0
DEVICE /dev/ups0
PWRFAILDIR /etc/apcupsd/ups0
NOLOGINDIR /etc/apcupsd/ups0
NISPORT 3551
EVENTSFILE /var/log/apcupsd.0.events

Dan untuk ups1, di /etc/apcupsd/apcupsd.ups1.conf

SCRIPTDIR /etc/apcupsd/ups1
UPSNAME ups1
DEVICE /dev/ups1
PWRFAILDIR /etc/apcupsd/ups1
NOLOGINDIR /etc/apcupsd/ups1
NISPORT 3552
EVENTSFILE /var/log/apcupsd.1.events

Setiap scriptdir harus mendapatkan salinan skrip default.
Kami ingin menyesuaikan doshutdown skrip, yang tidak akan mematikan mesin secara langsung, tetapi harus memeriksa apakah UPS lain masih menyala, atau dalam mode mati.

Di bagian atas doshutdown skrip, kita dapat menambahkan sesuatu seperti

untuk peningkatan0

if [ ! -f /tmp/ups1.is.down ]
then
  touch /tmp/ups0.is.down
  exit 99
fi

untuk naik1

if [ ! -f /tmp/ups0.is.down ]
then
  touch /tmp/ups1.is.down
  exit 99
fi

status 99 memiliki arti khusus, yaitu memberi tahu apccontrol untuk menghentikan aksi yang sedang berlangsung. Lima baris memeriksa apakah file UPS-down lainnya telah dibuat; jika tidak , file bawah dibuat untuk naik menjadi turun, dan keluar. Jika ya , artinya UPS lain mati, yang ini juga turun, sehingga skrip harus melanjutkan dan mematikan mesin.

File /tmp/usp[01].is.down menunjukkan jika naik[01] sedang turun.

Penting:skrip awal init.d dari apcupsd harus menghapus file-file ini, jika telah dibuat di sesi sebelumnya:

rm -f /tmp/usp[01].is.down

Terakhir, direktori yang dibuat di atas, /etc/apcupsd/ups[01] harus diberi akses ke apcupsd pengguna (atau pengguna mana pun yang relevan yang menjalankan instance).

chown -R apcupsd /etc/apcupsd/ups[01]

Silakan lihat dokumentasi mendetail.

edit memperbaiki /tmp/ups[01].is.down nama, .is hilang.


Lihat NUT. Ini menangani ini dengan baik. Tentukan jumlah catu daya dari setiap UPS dan jumlah catu daya yang diperlukan. Shutdown tidak akan terpicu selama tidak ada catu daya yang cukup pada UPS.


Linux
  1. Bagaimana cara menggabungkan dua perpustakaan statis menjadi satu?

  2. Bagaimana cara mengikat server MySQL ke lebih dari satu alamat IP?

  3. Bagaimana cara menonaktifkan semua manajemen daya di Ubuntu (untuk netbook server)?

  1. Cara Mengatur Beberapa SSL pada Satu IP Dengan Nginx

  2. Bagaimana Perintah Su -c "..." Ini Tampaknya Melewati Dua Perintah, Bukan Satu?

  3. Apakah Mungkin Menginstal Dua Layanan Untuk Satu Paket Menggunakan Dh_installinit? Bagaimana?

  1. Bagaimana Cara Memindahkan Garis Dalam File Teks Ke Atas Atau Ke Bawah Dengan Satu Baris?

  2. Bagaimana Cara Memindahkan Satu Direktori ke Bawah?

  3. Bagaimana Mengukur Konsumsi Daya Server?