1

Мне нужно написать скрипт (bash или python или ??) выполнить динамическую миграцию виртуальной машины в xen, а также одновременно регистрировать и извлекать использование ЦП и пропускной способности Domain-0 И записывать вывод в текстовый файл в правильном формате.

Что я сделал до сих пор:
В настоящее время я использую этот код для регистрации загрузки ЦП «Домена-0»:

xentop -d1 -bi500 | awk '$1 == "Domain-0" { print $4 }'

Он читает использование процессора из команды xentop каждую секунду и печатает его в bash. Я не мог найти способ записать вывод в текстовый файл.

И для одновременной миграции виртуальной машины и мониторинга использования процессора я делаю это:

xentop -d1 -bi500 | awk '$1 == "Domain-0" { print $4 }' & xl migrate vm1 destination-host --live --debug

Чтобы обе команды выполнялись, возможно, одновременно, и когда я вижу, что команда migrate завершается, я копирую напечатанное использование процессора с момента запуска команды migrate до ее завершения и вставляю их в текстовый файл. это скучно и не точно !!

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

Migration Started
     CPU(%)      Bandwidth(MB/s)     Time
     26          14.8                14:31:26
     32.5        13.2                14:31:27
                     ...
                     ...
                     ...
     10          0.5                 14:32:54
Migration Finished

Мне также нужен фрагмент кода, чтобы определить использование полосы пропускания в реальном времени для Domain-0.

1 ответ1

0

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

Отвечая на ваш вопрос, вы можете сделать итерацию только 1, поэтому код bash будет отменен за одну итерацию, а затем вы можете получить вывод, используя "> file.txt". И вы можете поместить весь этот код в цикл с 500 итерациями или что хотите.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .