Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    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 Backup Server
    Полная резервная копия виртуальной машины

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Полная резервная копия виртуальной машины, Proxmox Backup Server
     
    lago
    Guest
    #1
    0
    24.03.2022 17:41:00
    Всем привет! Мой PBS каждую ночь делает инкрементное резервное копирование всех ВМ. Первые бэкапы были полными, остальные — инкрементные. Я хочу делать полный бэкап раз в неделю, а в остальные дни — инкрементный. Кто-нибудь может объяснить, как настроить резервное копирование в моём кластере? Спасибо. В задании резервного копирования у меня выбран режим «Snapshot».
     
     
     
    Neobin
    Guest
    #2
    0
    31.03.2023 01:19:00
    Ты не пользуешься закладками: [1]? Можно даже присвоить каждой из них несколько меток и фильтровать по ним. [1] https://forum.proxmox.com/account/bookmarks
     
     
     
    aaron
    Guest
    #3
    0
    28.03.2023 17:20:00
    Хорошее замечание. Учитывая, что для последующих бэкапов читаются только части диска, помеченные как изменённые, а для всех остальных частей бэкап ссылается на чанки из предыдущей копии, то холодная перезагрузка ВМ сбрасывает dirty bitmap (потому что мы не знаем, что могло произойти с образом диска за это время), и, соответственно, весь диск читается полностью. Конечно, тесты восстановления нужно проводить регулярно, чтобы убедиться, что всё в порядке, но в реальной жизни далеко не всегда всё так идеально. Говорю это из личного опыта и мотивации ^^. Хотя холодный (пере)запуск ВМ и делает это, возможно, стоит делать такую процедуру раз в X бэкапов или как-то примерно так. Не стесняйтесь создавать запросы на новые функции в нашем багтрекере. Я нашёл только запросы на то, чтобы сделать dirty-bitmap сохраняющимся между холодными перезагрузками ВМ.
     
     
     
    RolandK
    Guest
    #4
    0
    28.03.2023 17:36:00
    Сделаю, спасибо! У Veeam есть такая функция «принуждать полный бэкап время от времени», а ещё они ввели термин «synthetic full backup», который, на мой взгляд, ближе всего к тому, что на самом деле представляют собой PBS «виртуальные полные бэкапы через вечные инкременты». Может, стоит ввести какой-то официальный термин для того, что на самом деле есть полные бэкапы PBS? Виртуальные полные бэкапы? dbb-(dirty bitmap based)-виртуальные бэкапы? Думаю, было бы полезно различать или помечать снепшоты, создаваемые на основе битмапа, и настоящие полные бэкапы, потому что это помогает понять, где пошёл сбой в dirty bitmap-бэкапе или почему виртуальные машины тихо перезагружаются, например из-за oom-killer. Короче, было бы здорово отметить в GUI PBS, что снепшот создан «полным» или «инкрементальным через dirty bitmap». Добавлю эту идею в RFE — это сможет помочь администратору бэкапа заметить неэффективность в резервном копировании или проблемы с инфраструктурой без необходимости копаться в логах клиента или PVE.
     
     
     
    Dunuin
    Guest
    #5
    0
    28.03.2023 17:40:00
    Я делаю бэкапы в режиме снимков с понедельника по субботу и бэкапы в режиме остановки в воскресенье. Таким образом, раз в неделю сбрасываются dirty-bitmap и хэши для каждого чанка заново. Но да, такая опция звучит полезно, особенно если вы не можете позволить себе короткое время простоя при бэкапе в режиме остановки и хотите бэкап в режиме снимков без простоя, но без dirty-bitmapping.
     
     
     
    RolandK
    Guest
    #6
    0
    28.03.2023 18:15:00
    сделано https://bugzilla.proxmox.com/show_bug.cgi?id=4628
     
     
     
    fabian
    Guest
    #7
    0
    29.03.2023 10:11:00
    Верно, но тогда ещё и живая миграция и перенос дисков ломаются, так что это был бы довольно серьёзный баг в qemu. Да и нет. Если вы проверяете свои бэкапы (а делать это стоит хотя бы время от времени), снимок, ссылающийся на повреждённый кусок, будет помечен как «не прошёл проверку», и битовая карта очистится. Дальше возможно два варианта:

    - текущие данные по-прежнему содержат этот кусок, а повреждение будет исправлено при следующем бэкапе;
    - текущие данные больше не содержат этот кусок (исходные данные изменились), повреждение уже нельзя исправить, но оно и не актуально для этого или будущих снимков.

    Как видите, в этом случае вы не теряете данные, только те снимки, которые обращаются к повреждённому куску без проверки между попытками создания снимков, пострадают. Если не проверять, PBS пока не знает о повреждении.

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

    - с битовыми картами данные не читаются, если не изменялись, поэтому повреждение распространяется;
    - без битовой карты (например, при резервном копировании в режиме остановки) клиент всё равно получит такой же хэш для куска и не загрузит его, а только «зарегистрирует» на сервере, так как такой кусок уже есть.

    В этом случае вы теряете данные, потому что ни клиент, ни сервер не знают о повреждении и не могут с этим справиться. Даже если вы сделали (с точки зрения клиента) не инкрементальный бэкап (например, в другой namespace или в новую группу, чтобы не было предыдущих снимков), сервер может отбросить загруженный кусок, если существующий повреждённый кусок того же размера (например, повреждение — это перевёрнутый бит). Только если повреждение — это усечение или что-то, из-за чего размер не совпадает, загруженный кусок перезапишет существующий, и повреждение будет исправлено.

    Итак, чтобы избежать всех этих проблем, нам нужно реализовать:

    - способ заставить делать полностью полный бэкап, включая перезапись существующих кусков на сервере;

    итог будет эквивалентен проверке, а затем выполнению инкрементального бэкапа без битовой карты, только при этом будет гораздо больше сетевого трафика (PVE -> PBS) и операций записи (PBS).

    Поэтому, на мой взгляд, единственное, что имеет смысл — это какой-то чекбокс «очистить битовую карту» (заметьте, что вроде как уже есть возможность управлять битовыми картами через QMP, и вы можете написать хук-скрипт, который очищает битовую карту по любым нужным критериям, например, если сегодня воскресенье). Цель этого чекбокса — дать возможность понизить «быстрый инкрементальный» бэкап до «обычного инкрементального» в случае, если вы не доверяете отслеживанию изменённых блоков.

    Вот тут @aaron сказал «все бэкапы — полные бэкапы», что можно переформулировать как «все снимки равны». Нет никакого отслеживания (кроме битовой карты qemu) или применения изменений, потому что на стороне PBS нет «изменений». Единственное отличие между первым «полным» и последующими инкрементальными бэкапами происходит на клиенте:

    Код:  
    // client_thinks_chunk_is_on_server — true, если битовая карта говорит, что не менялось  
    // или если мы прочитали, разбили на куски и получили хэш, который уже есть в последнем снимке этой группы  
    if (client_thinks_chunk_is_on_server) {  
     register_chunk_with_server();  
    } else {  
     upload_chunk_to_server(); // загрузка и регистрация на сервере  
    }

    В итоге нет никакой разницы в метаданных снимков или кусках — PBS не делает «дифференциальных» бэкапов, как другие решения, где инкрементальные снимки нужно применять цепочкой, чтобы получить полный бэкап. «Цепочка» (или, скорее, возможное распространение повреждённого куска) происходит полностью прозрачно благодаря базе с дедупликацией кусочков и принципу работы инкрементальных бэкапов.

    Единственное решение — это проверка, а её результат должен влиять на последующие бэкапы — что PBS уже и делает.
     
     
     
    RolandK
    Guest
    #8
    0
    29.03.2023 11:57:00
    Вау, спасибо за такое объяснение. Вот почему я ОБОЖАЮ этот продукт и эту компанию!!!
     
     
     
    Dunuin
    Guest
    #9
    0
    29.03.2023 16:29:00
    Здорово, что вы ребята тратите столько времени на подробные развернутые ответы. Всегда приятно получить глубокое понимание того, как всё работает на самом деле. Любой может быстро взглянуть на исходный код, но это само по себе мало что даст, ведь без большого обзора никак — придётся потратить кучу времени и сил, чтобы всё понять. Поэтому мне очень нравятся ваши такие обзоры, разработчики, которые помогают лучше понять, как всё устроено внутри, о чём в более общей документации не расскажут.
     
     
     
    fabian
    Guest
    #10
    0
    30.03.2023 09:33:00
    Это ещё и избавляет меня от необходимости снова и снова писать одно и то же объяснение (хотя короче и менее подробно, потому что, очевидно, писать целую книгу на каждый вопрос невозможно), если я могу просто дать ссылку на один более развернутый ответ.
     
     
     
    Dunuin
    Guest
    #11
    0
    30.03.2023 12:45:00
    Я это слишком хорошо знаю. Но у меня всегда проблема — найти свои же посты, чтобы дать ссылку, поэтому я сдаюсь и пишу всё заново.
     
     
     
    RolandK
    Guest
    #12
    0
    30.03.2023 12:58:00
    Поиск на форуме действительно нуждается в улучшении, посмотрите мой разнос по этому поводу здесь: https://forum.proxmox.com/threads/forum-search-woes.124018/. Я уже создал заявку на улучшение (RFE) здесь: https://bugzilla.proxmox.com/show_bug.cgi?id=4637.
     
     
     
    Omar77
    Guest
    #13
    0
    23.06.2022 10:34:00
    Что если некоторые части потеряются, остальные можно будет восстановить?
     
     
     
    Senin
    Guest
    #14
    0
    25.03.2023 17:42:00
    Вот это вопрос, который меня тоже беспокоит. Насколько я понимаю, если какие-то куски или начальная резервная копия повреждены по какой-то причине, вся цепочка резервных копий оказывается испорчена. Поэтому нужно добавить дополнительную избыточность для хранилища резервных копий. Было бы здорово, если бы некоторые из этих кусков хранились в двух экземплярах ради надежности (место для хранения сейчас стоит недорого).
     
     
     
    aaron
    Guest
    #15
    0
    27.03.2023 11:28:00
    Извиняюсь, что не ответил прошлым летом. Если потерять кусок данных, то резервная копия окажется повреждённой. Поэтому мы рекомендуем использовать хранилище данных, которое умеет справляться с потерей диска или его повреждением — например, ZFS. Идеально, если ваши резервные копии хранятся не в одном месте (правило 3-2-1). Можно, например, настроить ещё один PBS с функцией удалённой синхронизации. Это дешевле, но так как HDD плохо подходят для случайного ввода-вывода из-за множества кусков, лучше выбирать SSD для дата-центров, они по-прежнему дороже. Хотя за последний год их цена значительно снизилась.
     
     
     
    RolandK
    Guest
    #16
    0
    28.03.2023 12:42:00
    @aaron с точки зрения резервного сервера и того, «как это выглядит», это правда. Но, пожалуйста, будьте осторожны, настаивая на «точной точке» в этом вопросе. С точки зрения pve-сервера и администратора резервных копий, который заботится о безопасности и целостности данных, я считаю, что это НЕ так. Резервная копия (которая выглядит как полная) на pbs формируется из начального полного бэкапа и ряда инкрементальных изменений с неизвестным количеством интервалов, определяемых на источнике с помощью функции «changed block tracking» (dirty bitmap), которые затем применяются к целевому месту резервного копирования, слой за слоем. Если в changed block tracking есть баг — вы пропали. Если есть повреждение сохранённого блока на pbs — вы пропали. Если есть ошибка в отслеживании или применении изменений — вы пропали. В Veeam backup можно принудительно делать полный бэкап через определённые интервалы. Иметь «настоящие» полные резервные копии время от времени — хорошая стратегия, так же, как правило 3-2-1 для бэкапов. Поэтому я не использую pbs как единственное решение, всегда совмещаю это с еженедельными полными vzdump-бэкапами. В любом случае, мне нравится идея иметь своего рода «искусственный полный бэкап» (то есть сбрасывать dirty bitmap) в pve, то есть возможность принудительно делать полный бэкап (чтение каждого блока на источнике без dirty bitmap) через определённые интервалы. Это полезно не только для консистентности данных, но и для того, чтобы гарантировать отсутствие молчаливого битрота в вашей инфраструктуре виртуальных машин. Полезно время от времени «патрулировать» все блоки данных на хранилище, и если у вас нет такой проверки на уровне хранения/RAID, вы можете реализовать её через резервное копирование.
     
     
     
    Dunuin
    Guest
    #17
    0
    28.03.2023 14:11:00
    Вы можете делать резервное копирование на два разных хранилища данных или синхронизировать на localhost, так как дедупликация происходит для каждого хранилища отдельно. Таким образом вы получите две копии каждого фрагмента. ZFS сможет обнаружить и исправить их. А задачи проверки PBS гарантируют, что ни один фрагмент не пропадёт.
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

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