Почему не делают символьные ссылки в автоматическом запуске kvm не работают

eFolder делает это, и они являются потрясающими! Можно использовать их программное обеспечение, чтобы резервировать все компьютеры к центральному расположению и затем просто скопировать то местоположение к облаку. Они не продают непосредственно хотя, только через партнеров. Таким образом, если Вы - торговый посредник, подбросьте их ударом. В противном случае не должно быть слишком трудно найти хорошего партнера.

0
задан 13 April 2017 в 15:13
2 ответа

Это проблема на уровне приложения, а не на уровне инфраструктуры.

На самом деле загрузка 2 экземпляров KVM означает, что вы включаете их , последовательность загрузки не гарантируется. из двух операционных систем внутри этих двух экземпляров KVM в перспективе KVM.

Однако вы можете сделать это самостоятельно. вот логика:

  1. загрузите виртуальную машину с именем db , убедитесь, что приложение базы данных внутри этой виртуальной машины работает
  2. , затем загрузите виртуальную машину с именем app . Возможно, вам нужно убедиться, что приложения подключены к вашей базе данных.

Возьмем, к примеру, mysql, вот простой сценарий bash:

#!/bin/bash

# start the database VM
sudo virsh start db

# make sure the database is started
IS_DB_DOWN=true
while $IS_DB_DOWN; do
  # test if the DB is up
  nc -z <your-db-host> 3306 > /dev/null 2>&1
  if [ $? -eq 0 ]; then
    IS_DB_DOWN=true
  fi
  sleep 5 # use 5 sec as internal
done

# start your VM that runs application
sudo virsh start app
0
ответ дан 5 December 2019 в 14:49

IMHO Я не думаю, что вы можете контролировать порядок загрузки, изменяя имена символических ссылок. но есть обходной путь

В / etc / sysconfig / libvirt-guest option START_DELAY вы можете установить задержку между загрузками (чтобы не все виртуальные машины запускались одновременно)

Для (своего рода) управления порядком вы можете изменить тег в XML домена и указать на свой скрипт, который запустит домен после некоторой задержки

например что-то вроде этого:

<domain type='kvm'>
  <name>test</name>
  ...
  <devices>
    <emulator>/usr/local/bin/qemu-kvm-delay</emulator>
  <devices>
</domain>

содержимое / usr / local / bin / qemu-kvm-delay может быть таким же простым, как:

sleep 1000
exec /usr/bin/qemu-kvm $*

или что-то необычное, например, проверка доступности некоторых услуг и вычисление задержки. для каждой виртуальной машины

0
ответ дан 5 December 2019 в 14:49

Теги

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