Если количество запросов значительно превышает количество изменений в файлах затем, самый эффективный способ выполнить полнотекстовый поиск состоит в том, чтобы использовать предварительно созданный индекс, который обновляется, когда файлы добавлены, изменены или удалены.
Тип необходимого индекса зависит от типа поисков. Например, Вы ищете на словах или фразах? Вы хотите принять во внимание синонимы? Вы ищете на фрагментах слова?
Какие виды эффективности Вы ищете? Эффективность времени разработки? Эффективность в программном обеспечении, лицензирующем затраты? Эффективность процессорного времени? Дисковая IO эффективность? Путем Вы взвешиваете, они будут иметь большой эффект, на котором решение оптимально для Вас.
См. также Википедию
Согласно APC, это невозможно, и вам необходимо выключить Powerchute Network. Мы пробовали это несколько раз с USB и не нашли решения.
VMWare содержит информацию об использовании одобренного APC решения.
Также можно подумать, что SmartUPS будет лучшим выбором, и вы можете установить его с сетевой картой. . Естественно, больше денег, но если ваши серверы вообще важны, эта цена того стоит. Также дает вам больше возможностей для мониторинга и предупреждений, которые могут быть полезны на удаленном сайте. Вам также необходимо обеспечить достаточное время выполнения для всех виртуальных машин, чтобы полностью завершить работу, а затем выключить хост
Хотя это возможно (вероятно / обычно), я не думаю, что автоматическое выключение компьютера при питании от батареи - хорошая идея. Если вы собираетесь это сделать, то для большинства практических целей вам, вероятно, следует просто сэкономить деньги на ИБП с резервным питанием и позволить отключению питания вашей машины за вас. (Конечно, полное выключение всегда предпочтительнее потери мощности, но вы, похоже, упускаете момент, когда время работы от батареи превышает пару минут, если вы автоматически отключаете все, когда вы теряете питание. )
Я всегда с этим справлялся, чтобы мониторинг предупреждал SA при отключении питания, чтобы SA могли использовать свое серое вещество, чтобы решить, когда (или даже если) выключить серверы. Если это кратковременный сбой, может быть не совсем хорошей идеей выключать серверы, или вы можете оставить некоторые серверы работающими как можно дольше и выключить их только до того, как батарея вот-вот разрядится. На самом деле мне кажется, что задача принятия решений лучше подходит для человека, чем простое правило.
В былые времена инсталляций без металлических компонентов , APC PowerChute Plus был важной частью моего процесса установки. Используя простой последовательный сигнальный кабель и их двоичный файл , предназначенный только для Red Hat , было легко установить правила для управления локально подключенным сервером. Были доступны базовые уведомления по электронной почте о событиях, связанных с аккумулятором UPC, событиях в сети и действиях по отключению:
POWERCHUTE MAIL MESSAGE
Message from PowerChute@Bonanza:
UPS on battery: Blackout 000.0 V.
и
POWERCHUTE MAIL MESSAGE
Message from PowerChute@Bonanza:
Normal power restored: UPS on line.
или
POWERCHUTE MAIL MESSAGE
Message from PowerChute@Bonanza:
Shutdown started.
Плюс разумный интерфейс, чтобы увидеть, что происходит ...
Это программное обеспечение в конечном итоге стало коммерческим (или был похоронен на сайте APC). Было несколько подходов с открытым исходным кодом, чтобы обеспечить нечто подобное. Но все это усложняется с одним хостом VMWare ESXi.
Похоже, что VMWare должна была включить это в базовый гипервизор. Это' s базовый и может предложить достойный уровень защиты для пользователей. Наиболее распространенные средства, которые я вижу сейчас, - это переход через USB к выделенной виртуальной машине, подход сетевого демона или то, что я делаю; не настраивать автоматическое отключение или отключение батареи ...
Конечно, я обычно использую ИБП, который может поддерживать нагрузку системы в течение часа или более, но длительные перебои в работе ДЕЙСТВУЮТ. Возможно, в качестве альтернативы можно собрать несколько недорогих или отремонтированных сетевых карт и как минимум запланировать покупку устройств SmartUPS ...
Вы можете рассмотреть возможность использования функции сквозной передачи USB-устройства гостю, на котором запущен PowerChute или другое программное обеспечение, способное отслеживать состояние ИБП и запускать завершение работы хоста ESXi ( например apcupsd ). ESXi официально поддерживает только очень ограниченное количество USB-устройств для сквозной передачи , но люди уже некоторое время подключают и передают через разные классы устройств с переменным успехом, но APC UPS USB, похоже, работает в соответствии с это пошаговое руководство для виртуальной машины Windows или это пошаговое руководство для виртуальной машины CentOS Linux .
Да, это возможно. Вот подробности моей подобной настройки.
Конфигурация оборудования: APC Smart-UPS 1500 подключен к хосту ESXi 5.1 через USB. Виртуальная машина Linux, работающая на этом хосте ESXi. ИБП подключен к этой виртуальной машине с помощью опции сквозного подключения USB ESXi.
Конфигурация программного обеспечения: Главный NUT (Network UPS Tools), работающий на виртуальной машине, и собственный подчиненный сервер ESXi NUT, работающий на хосте ESXi.
Логика выключения: ВМ запускает драйвер ИБП usbhid-ups , который отвечает за связь с ИБП через USB. Процесс upsd подключается к ИБП через драйвер usbhid-ups и контролирует состояние ИБП. Главный процесс upsmon , работающий на том же компьютере, подключается к upsd и инициирует завершение работы. На хосте ESXi запущен второй экземпляр upsmon , который также подключается к той же виртуальной машине upsd через внутреннюю сеть.
При сбое питания выполняется следующая последовательность:
Загрузки:
NUT для Linux можно установить из пакета.
Встроенный клиент NUT для сервера ESXi можно загрузить по последней ссылке на этой странице: http://www.networkupstools.org/download.html
Здесь находятся некоторые мои скрипты и файлы конфигурации (только измененные показаны строки): http://pastebin.com/KkEeanK1
Примечания:
Конечно, есть более подробные сведения, и мне потребовалось некоторое время, чтобы заставить это работать должным образом. Но теперь он работает очень хорошо. Эта система учитывает случаи, когда вы просто выключаете мониторинговую виртуальную машину изнутри (сценарий vmware-tools не запускается), или если это инициированное хостом ESXi завершение работы виртуальной машины (нет флага / etc / killpower, поэтому нагрузка на ИБП не отключается), или если это выключение ESXi (то же самое). Единственное, что важно - запустить эту виртуальную машину как можно скорее после загрузки хоста и выключить ее в последнюю очередь (так что время простоя хоста предсказуемо - как сказано выше, это около 1 минуты для меня и еще 2 минуты я резервирую на всякий случай).
Моя виртуальная машина Linux, контролирующая ИБП, также является сервером общего доступа Samba / NFS для резервного хранилища, сервером NAT / DHCP для виртуальных машин и некоторыми другими легкими- весовые услуги. Он занимает около 22 МГц общих ресурсов ЦП ESXi и около 10 МБ активной оперативной памяти в режиме ожидания. Благодаря использованию NUT вы можете при необходимости питать больше устройств от одного и того же ИБП, и все они могут быть корректно отключены. Никаких PowerChute и / или дорогих карт сетевого монитора не требуется.
и все они могут быть отключены изящно. Никакого PowerChute и / или дорогой карты сетевого монитора не требуется. и все они могут быть отключены изящно. Никаких PowerChute и / или дорогих карт сетевого монитора не требуется.Просмотрите следующую ссылку . Не самое элегантное решение, но очень практичное, очень простое решение. Возможны недостатки с точки зрения безопасности (в зависимости от конкретной конструкции сети, гостей, загруженных на хосты, и доступа пользователей к этим гостям, но вы можете сделать этот вызов.
Супер вопрос. На самом деле это можно сделать довольно хорошо - по крайней мере, на некоторых настройках. Я пробовал следующий рецепт на нескольких хостах ESXi 5.5. В основном решение выглядит следующим образом:
ctrl urb status -62
в dmesg
, скорее всего, физический контроллер не совпадает с контроллером в вашей виртуальной машине. Если совпадают - ну тогда проблема. У меня есть одна установка с таким типом проблемы, и реального решения для нее нет. apcupsd
на виртуальную машину Linux - в Ubuntu вы можете выполнить sudo apt-get install apcupsd
установить последнюю версию. Проект NUT тоже хорош, но я традиционалист. sudo apt-get install putty-tools
plink root @
. Вы можете немедленно закрыть соединение. Цель состоит в том, чтобы сохранить ключ хоста, чтобы plink не запрашивал его снова, когда мы запускаем его через скрипт /etc/apcupsd/apcupsd.conf
и изменяем элементы ниже, чтобы они соответствие:
UPSNAME <имя, которое вы хотите иметь для вашего ИБП>
ИБП USB
UPSTYPE USB
# DEVICE DIRECTIVE должно быть пустым для USB.
УСТРОЙСТВО
Также убедитесь, что / etc / default / apcupsd
имеет ISCONFIGURED = yes
/ etc / apcupsd / apccontrol
и прокрутите до doshutdown
дело. Сделайте так:
doshutdown)
echo «ИБП $ {2} инициировал последовательность выключения» | $ {WALL}
# Завершить работу косвенно, запустив хост ESXi для выполнения
# завершение работы с помощью инструментов VMWare
/ usr / bin / plink root @ -pw <ваш корневой pw> "/sbin/shutdown.sh && / sbin / poweroff"
;;
sudo service apcupsd restart
и посмотрите, работает ли что-то, вызвав apcaccess
. Если нет, проверьте журналы и dmesg vCenter -> <ваш хост> -> Управление -> Настройки -> Запуск / завершение работы виртуальной машины
) . Убедитесь, что действие выключения - выключение гостевой ОС. После того, как вы все это запустите, скриптлет doshutdown
из шага 8 запускается при сбое питания. Это, в свою очередь, вызывает сценарий shutdown.sh на хосте ESXi, который сигнализирует пакету VMWare Tools в каждой виртуальной машине на вашем хосте выполнить полное завершение работы через гостевую ОС. По моему опыту, он работает лучше, чем программное обеспечение PowerChute от APC.
Если вам нравится контролировать вещи с ваших виртуальных машин, вы можете настроить на них подчиненные экземпляры apcupsd, которые подключаются к главной виртуальной машине Linux управления ИБП. В ваших подчиненных файлах apcupsd.conf должна быть такая запись:
UPSTYPE net
Записи, подобные UPSCABLE
, в данном случае не имеют значения. Это работает и с версией apcupsd
для Windows (доступной здесь ) также. Вы можете использовать прилагаемый apctray.exe
, чтобы проверить текущее состояние вещей.
Я думаю, это в значительной степени покрывает это.
Я использовал решение MrMajestyk и только изменил доступ ssh через plink с доступом ssh без пароля с использованием открытого ключа rsa. Ключ rsa, сгенерированный на виртуальной машине apcupsd, должен быть включен в / etc / ssh / keys-root / authorized_keys хоста vmware.