Всем привет! У некоторых гостей в логах бэкапа появляется вот что: qmp команда 'guest-fsfreeze-freeze' не сработала — время ожидания истекло, и команда 'guest-fsfreeze-thaw' тоже не сработала — время ожидания истекло. Очевидно, это связано с агентом гостя qemu и соответствующей функцией VSS (когда речь идёт о Windows-клиенте). Я заметил в исходном коде:
Code:
if (!$timeout) {
# хак: monitor иногда зависает
if ($cmd->{execute} eq 'query-migrate') {
$timeout = 60*60; # 1 час
} elsif ($cmd->{execute} =~ m/^(eject|change)/) {
$timeout = 60; # заметьте: команда монтирования cdrom работает медленно
} elsif ($cmd->{execute} eq 'guest-fsfreeze-freeze' ||
$cmd->{execute} eq 'guest-fsfreeze-thaw') {
$timeout = 10;
} elsif ($cmd->{execute} eq 'savevm-start' ||
$cmd->{execute} eq 'savevm-end' ||
$cmd->{execute} eq 'query-backup' ||
$cmd->{execute} eq 'query-block-jobs' ||
$cmd->{execute} eq 'backup-cancel' ||
$cmd->{execute} eq 'query-savevm' ||
$cmd->{execute} eq 'delete-drive-snapshot' ||
$cmd->{execute} eq 'guest-shutdown' ||
$cmd->{execute} eq 'snapshot-drive' ) {
$timeout = 10*60; # 10 минут?
} else {
$timeout = 3; # по умолчанию
}
}
Для qemu-server таймаут стоит 10 секунд. Обычно я считаю, что это нормальное время. Эти две машины — WSUS-серверы, у них много данных и много мелких файлов, и я думаю, что функция VSS просто слишком долго работает и выходит по таймауту. Есть ли возможность (сейчас или в будущем) добавить в .conf настройку, позволяющую увеличить этот период ожидания? Чтобы для машин, где проблемы нет, оставался обычный таймаут, а для тех, у кого он возникает, можно было увеличить без изменения настроек для всех остальных.
Сейчас я даже не уверен в состоянии этих ВМ из-за двух таймаутов (freeze и thaw), которые идут подряд — возможно, машинa осталась в состоянии, когда она не полностью разморозилась (если вообще успела заморозиться). Для этих двух ВМ пока придётся отключить агент гостя, чтобы избежать дальнейших проблем, но было бы здорово, если бы можно было при необходимости продлевать время ожидания.
Code:
if (!$timeout) {
# хак: monitor иногда зависает
if ($cmd->{execute} eq 'query-migrate') {
$timeout = 60*60; # 1 час
} elsif ($cmd->{execute} =~ m/^(eject|change)/) {
$timeout = 60; # заметьте: команда монтирования cdrom работает медленно
} elsif ($cmd->{execute} eq 'guest-fsfreeze-freeze' ||
$cmd->{execute} eq 'guest-fsfreeze-thaw') {
$timeout = 10;
} elsif ($cmd->{execute} eq 'savevm-start' ||
$cmd->{execute} eq 'savevm-end' ||
$cmd->{execute} eq 'query-backup' ||
$cmd->{execute} eq 'query-block-jobs' ||
$cmd->{execute} eq 'backup-cancel' ||
$cmd->{execute} eq 'query-savevm' ||
$cmd->{execute} eq 'delete-drive-snapshot' ||
$cmd->{execute} eq 'guest-shutdown' ||
$cmd->{execute} eq 'snapshot-drive' ) {
$timeout = 10*60; # 10 минут?
} else {
$timeout = 3; # по умолчанию
}
}
Для qemu-server таймаут стоит 10 секунд. Обычно я считаю, что это нормальное время. Эти две машины — WSUS-серверы, у них много данных и много мелких файлов, и я думаю, что функция VSS просто слишком долго работает и выходит по таймауту. Есть ли возможность (сейчас или в будущем) добавить в .conf настройку, позволяющую увеличить этот период ожидания? Чтобы для машин, где проблемы нет, оставался обычный таймаут, а для тех, у кого он возникает, можно было увеличить без изменения настроек для всех остальных.
Сейчас я даже не уверен в состоянии этих ВМ из-за двух таймаутов (freeze и thaw), которые идут подряд — возможно, машинa осталась в состоянии, когда она не полностью разморозилась (если вообще успела заморозиться). Для этих двух ВМ пока придётся отключить агент гостя, чтобы избежать дальнейших проблем, но было бы здорово, если бы можно было при необходимости продлевать время ожидания.
