Контакт с отказом LDAP при использовании его для PAM/NSS?

Ваши вопросы немного неясны относительно того, какую статистику Вы надеетесь собрать из dom0, но я думаю, что Вы ищете, понимание того, как выделяются Ваши существующие аппаратные ресурсы.

Мы имеем большой успех с помощью привязки Python libvirt для получения этой информации. Вот отрывок сценария Python, который иллюстрирует идею:

#!/usr/bin/env python

import sys
import libvirt

def main(options,args):
    hypervisors = sys.argv[1:]

    print "%16s%18s%18s%18s" % ("dom0 IP", "Free Memory (MB)", "Disk Used (GB)", "Disk Free (GB)")
    for ip in hypervisors:
        # this assumes "remote" connection to libvirtd using TCP
        url = "xen+tcp://%s" % (ip)

        conn = libvirt.open(url)
        # you may want to do more error handling here
        if conn == None:
            continue

        mem = conn.getFreeMemory() / 1048576 #convert bytes -> megabytes
        pool = conn.storagePoolLookupByName('vol0')
        # a refresh() is necessary because libvirtd's internal information isn't
        # always in sync with the host.
        pool.refresh(0)
        disk_info = pool.info()
        disk_used = disk_info[2] / 1073741824 #convert bytes -> gigabytes
        disk_free = disk_info[3] / 1073741824 #convert bytes -> gigabytes
        print "%16s%18d%18s%18d" % (ip, mem, disk_used, disk_free)

if __name__ == '__main__':
    sys.exit(main(options,args))
3
задан 23 March 2010 в 22:22
1 ответ

Правило № 1 основанной на сети аутентификации: Всегда имейте локальную учетную запись в наличии.

Вне правила № 1 (и для создания этого полезным, не будучи заблокированным позади nss_ldap, пытающегося говорить с неисправным сервером):

Используя pam_ldap/nss_ldap можно установить bind_policy к "мягкому" (сразу возвращаются на отказе сервера), который устраняет блокирующуюся проблему. Можно также установить timelimit значения, чтобы заставить nss_ldap возвратиться, если это не может связаться с сервером LDAP. Обратите внимание, что это имеет другие последствия (как мягкий сбой во время SSHing в, заставит Ваш LDAP считать, недоступные, и спорадические отказы приведут к неизвестным именам пользователей для некоторого LDAP UIDs.

Также существуют также некоторые недокументированные nss_ldap опции: nss_reconnect_tries, nss_reconnect_sleeptime, nss_reconnect_maxsleeptime, & nss_reconnect_maxconntries, которые делают то, что их имена подразумевают и помогут Вам работать вокруг отказов Вашего сервера LDAP, не устанавливая Ваш bind_policy на мягкий (это - то, что я делаю - 3, повторно подключают попытки с 10-секундным макс. сном = макс. задержка 30 секунд, ожидающая сервера LDAP).

3
ответ дан 3 December 2019 в 06:50

Теги

Похожие вопросы