Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    Задача репликации начала сбоить.

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Задача репликации начала сбоить., Proxmox Виртуальная Среда
     
    Kyryl
    Guest
    #1
    0
    28.02.2021 14:33:00
    Привет! У меня настроены два узла, контейнер запущен на одном из них с дополнительным смонтированным томом (конфигурация с размером записи 1M). Репликация раньше работала нормально между node1 и node2, как и миграция на node2, но теперь задача инкрементальной репликации стала сбоить с ошибкой:  
    … cannot receive incremental stream: incremental send stream requires -L (--large-block), to match previous receive.  
    … У меня есть еще один контейнер с настройкой 1M record size (изначально работал на node1), у которого возникает та же проблема. Я смог обойти её, полностью удалив том на «целевом» узле (node1) и сделав полную репликацию — после этого контейнер удалось мигрировать на node1. Но теперь репликация с node1 на node2 для этого контейнера тоже начала выдавать ту же ошибку. Думаю, удаление тома на node2 и однократная полная репликация решат проблему, но пока оставляю всё как есть, чтобы можно было провести расследование.  

    Единственное, что приходит в голову — недавнее обновление до последней версии PVE (видимо, с обновлением ZFS библиотек до версии 2.0).  
    Версия PVE: #pveversion  
    pve-manager/6.3-4/0a38c56f (запущено на ядре: 5.4.98-1-pve)  
    Ранее оба узла работали на «pve-kernel-5.4.78-2-pve».  

    Спасибо.
     
     
     
    fenbytech
    Guest
    #2
    0
    18.03.2023 16:24:00
    Эта проблема все еще актуальна и, похоже, связана с тем, что PVE не поддерживает большие блоки. Я могу воспроизвести её, следуя инструкции Кирилла. Есть ли причина, почему флаг -L нельзя указывать при отправке каждый раз? По документации: Редактирование /usr/share/perl5/PVE/Storage/ZFSPoolPlugin.pm с добавлением флага -L в функцию volume_export снова позволяет работать репликации и миграции. Я не вижу возможных побочных эффектов, учитывая, что флаг не оказывает действия, если не используются large_blocks.
     
     
     
    fenbytech
    Guest
    #3
    0
    22.03.2023 12:26:00
    Открыл заявку в Bugzilla: https://bugzilla.proxmox.com/show_bug.cgi?id=4603
     
     
     
    ikus060
    Guest
    #4
    0
    11.07.2023 17:36:00
    Есть новости по этой проблеме? Я только что обновился с версии 7 до версии 8 и столкнулся с этой проблемой, когда пытаюсь вернуть свою виртуальную машину на сервер.
     
     
     
    Mrt12
    Guest
    #5
    0
    05.12.2024 10:16:00
    Можно спросить, как обстоят дела с этим вопросом? Я только что обнаружил точно такую же проблему. Могу подтвердить, что решил её, изменив ZFSPoolPlugin.m следующим образом:

    Код:  
    sub volume_export {  
       my ($class, $scfg, $storeid, $fh, $volname, $format, $snapshot, $base_snapshot, $with_snapshots) = @_;  

       die "unsupported export stream format for $class: $format\n"  
           if $format ne 'zfs';  

       die "$class storage can only export snapshots\n"  
           if !defined($snapshot);  

       my $dataset = ($class->parse_volname($volname))[1];

       my $fd = fileno($fh);  
       die "internal error: invalid file handle for volume_export\n"  
           if !defined($fd);  
       $fd = ">&$fd";  

       # Для zfs мы всегда создаём репликационный поток (-R), что означает,  
       # что удалённая сторона всегда будет удалять отсутствующие исходные снапшоты.  
       # Это должно работать для всех наших сценариев.  
       my $cmd = ['zfs', 'send', '-RpvL'];
    ... обратите внимание, что я изменил строку cmd с  
    Код: my $cmd = ['zfs', 'send', '-Rpv'];
    на  
    Код: my $cmd = ['zfs', 'send', '-RpvL'];

    Теперь мне это позволяет переносить мой LXC-контейнер на любой узел, который я хочу. Похоже, проблема действительно связана с блоком размером 1 Мб; по результатам множества тестов и сравнений я выяснил, что в моём конкретном случае ZFS показывает лучшую производительность и сжатие, если использовать размер записи 1 Мб на пуле, но тогда, похоже, репликация без флага L работает некорректно.
     
     
     
    Mrt12
    Guest
    #6
    0
    22.12.2024 16:16:00
    *bump* когда наконец исправят этот баг? После каждого обновления Proxmox мне приходится вручную править файл /usr/share/perl5/PVE/Storage/ZFSPoolPlugin.pm, меняя параметр "cmd" с "-Rpv" на "-RpvL". Дело в том, что у моих датасетов используется блок размером 1M. Я вижу, что этот файл недавно редактировали, он уже немного отличается от того, как я его исправлял в прошлый раз, но флага "L" по-прежнему нет. А это значит, что после каждого обновления Proxmox репликация CT ломается, пока я не внесу правки вручную :-(
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры