Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
При сбое кэша Azure Cache для Redis возможна потеря данных, если узлы отключены. Сохраняемость Redis позволяет сохранять данные, хранящиеся в экземплярах кэша. Если произошел сбой оборудования, экземпляр кэша восстанавливается с данными из файла сохраняемости при возврате к сети.
В этой статье описывается постоянство данных в Redis, а также как настроить и управлять сохраняемостью данных в экземплярах кэша Azure Redis уровня Premium и Enterprise. Функция сохраняемости данных недоступна на уровнях "Базовый" или "Стандартный" и находится в предварительной версии на уровнях Enterprise и Enterprise Flash.
Возможность сохранения данных является важным способом повышения устойчивости экземпляра кэша, так как он хранит все данные кэша в памяти. Сохраняемость должна быть ключевой частью стратегии высокого уровня доступности и аварийного восстановления Redis в Azure.
Внимание
Функция сохраняемости данных обеспечивает устойчивость для непредвиденных сбоев узлов Redis. Устойчивость данных не является функцией резервного копирования данных или восстановления до заданной точки во времени (PITR). Если поврежденные данные записываются в экземпляр Redis, поврежденные данные также сохраняются. Чтобы создать резервные копии экземпляра Redis, используйте функцию экспорта .
Область доступности
Уровень | "Базовый", "Стандартный" | Премиум | Энтерпрайз, Энтерпрайз Флэш |
---|---|---|---|
Доступно | Нет | Да | Да (предварительная версия) |
Типы сохраняемости данных Redis
Azure Redis предлагает два типа сохраняемости данных, формат базы данных Redis (RDB) и формат " Файл только для добавления " (AOF).
Сохраняемость RDB сохраняет моментальный снимок кэша в двоичном формате и сохраняет его в учетной записи хранения Azure. Вы настраиваете частоту резервного копирования, чтобы установить, как часто сохранять моментальный снимок. Если возникает катастрофическое событие, которое отключает как основной, так и кэш реплик, кэш восстанавливается автоматически с помощью последнего моментального снимка. Дополнительные сведения см. в разделе о преимуществах RDB и недостатках RDB.
Сохраняемость AOF сохраняет каждую операцию записи в журнал и сохраняет журнал один раз в секунду в учетную запись хранения Azure. Если возникает катастрофическое событие, которое отключает как первичные, так и реплики кэша, кэш восстанавливается автоматически с помощью хранимых операций записи. Дополнительные сведения см. в разделе о преимуществах AOF и недостатках AOF.
Требования и ограничения
Функции сохраняемости данных обеспечивают устойчивость для непредвиденных сбоев узлов Redis. Сохраняемость данных не является функцией резервного копирования данных или PITR. Если поврежденные данные записываются в экземпляр Redis, поврежденные данные также сохраняются. Чтобы создать резервную копию экземпляра Redis, используйте функцию экспорта .
Функции сохраняемости кэша Azure для Redis предназначены для автоматического восстановления данных в том же кэше после потери данных. Не удается импортировать сохраненные файлы данных в новый или существующий кэш.
Для перемещения данных между кэшами используйте функции импорта и экспорта данных .
Чтобы создать любые резервные копии данных, которые можно добавить в новый кэш, можно использовать автоматизированные скрипты с помощью PowerShell или Azure CLI, которые периодически экспортируют данные.
Сохраняемость не поддерживается в кэшах, использующих пассивные георепликации или активные георепликации.
Шифрование данных
Поскольку персистентность Redis создает данные в состоянии покоя, важно зашифровать эти данные. Параметры шифрования зависят от используемого уровня Redis Azure.
Настройка сохраняемости данных
Вы можете использовать портал Azure, шаблоны Azure Resource Manager (ARM), PowerShell или Azure CLI для создания и настройки сохраняемости данных для кэшей Azure Redis уровня Premium или Enterprise.
Предпосылки
- Чтобы создать и добавить сохраняемость в кэши Redis Azure, требуется доступ к записи и разрешения для создания кэшей уровня "Премиум" или "Корпоративный" в подписке Azure.
- Для кэшей уровня "Премиум" требуется учетная запись хранения Azure в том же регионе, что и кэш для хранения данных кэша. При использовании управляемого удостоверения в качестве метода проверки подлинности можно использовать учетную запись хранения в подписке, отличной от той, в которой находится ваш кэш.
- Для процедур Azure PowerShell необходимо установить Azure PowerShell или использовать Azure Cloud Shell с средой PowerShell на портале Azure.
- Для процедур Azure CLI необходимо установить Azure CLI или использовать Azure Cloud Shell с средой Bash на портале Azure.
Настройка сохраняемости данных на портале Azure
На портале Azure можно настроить сохраняемость данных при создании экземпляра кэша Уровня "Премиум" или "Корпоративный".
Настройка сохраняемости данных с помощью Azure PowerShell
Azure PowerShell можно использовать для настройки сохраняемости данных при создании кэша Уровня "Премиум" или "Корпоративный" или для добавления сохраняемости в ранее созданный кэш.
Настройка сохраняемости данных с помощью Azure CLI
Azure CLI можно использовать для настройки сохраняемости данных при создании кэша Azure Redis Premium или корпоративного уровня или для добавления сохраняемости в ранее созданный кэш.
Часто задаваемые вопросы о постоянстве
В этом разделе содержатся ответы на часто задаваемые вопросы о сохраняемости кэша Redis в Azure.
- Можно ли включить сохраняемость в существующем кэше?
- Можно ли включить сохраняемость AOF и RDB?
- Работает ли сохраняемость с георепликацией?
- Какую модель сохраняемости следует выбрать?
- Что произойдет, если я изменю размер, а резервная копия из времени до изменения размера будет восстановлена?
- Можно ли использовать одну и ту же учетную запись хранения для сохранения в двух разных кэшах?
- Взимается ли плата за сохранение данных хранилища?
- Как часто механизмы постоянства RDB и AOF записывают данные в хранилище? Следует ли включить мягкое удаление?
- Влияют ли исключения для брандмауэра на устойчивость работы учетной записи хранилища?
- Как проверить, включен ли обратимое удаление в учетной записи хранения?
- Можно ли использовать учетную запись хранения в другой подписке, отличной от той, в которой находится мой кэш?
Сохраняемость RDB
- Можно ли изменить частоту резервного копирования RDB после создания кэша?
- Почему между резервными копиями имеется более 60 минут, если у меня есть частота резервного копирования RDB в 60 минут?
- Что происходит со старыми резервными копиями RDB при создании новой резервной копии?
Сохраняемость AOF
- Когда следует использовать вторую учетную запись хранения?
- Влияет ли сохраняемость AOF на пропускную способность кэша, задержку или производительность?
- Как удалить вторую учетную запись хранения?
- Что такое перезапись и как это влияет на кэш?
- Что следует ожидать при масштабировании кэша с включенным параметром AOF?
- Как организованы данные AOF в хранилище?
- Можно ли включить сохраняемость AOF, если у меня несколько реплик?
Можно ли включить постоянное хранение для ранее созданного кэша?
Да, вы можете настроить сохраняемость при создании кэша и в существующих кэшах Premium, Enterprise или Enterprise Flash.
Можно ли одновременно активировать сохраняемость AOF и RDB?
Нет, вы можете включить RDB или AOF, но не одновременно.
Как сохраняемость работает с георепликацией?
Сохранение данных не функционирует при включенной георепликации.
Какую модель сохраняемости следует выбрать?
Сохраняемость AOF записывается в журнал один раз в секунду, а сохраняемость RDB сохраняет резервные копии на основе настроенного интервала резервного копирования. Постоянство RDB оказывает меньшее влияние на пропускную способность и производительность, чем постоянство AOF.
Выберите сохраняемость AOF, если основной целью является минимизация потери данных и вы можете обрабатывать более низкую пропускную способность для кэша. Выберите сохраняемость RDB, если вы хотите обеспечить оптимальную пропускную способность в кэше, но по-прежнему требуется механизм восстановления данных.
Дополнительные сведения см. в разделе о преимуществах RDB, недостатках RDB, преимуществах AOF и недостатках AOF.
Влияет ли сохраняемость AOF на пропускную способность, задержку или производительность кэша?
Сохраняемость AOF влияет на пропускную способность. Так как AOF выполняется как в основном, так и в процессе реплики, вы увидите более высокую загрузку ЦП и сервера для кэша с сохраняемостью AOF, чем в идентичном кэше без сохраняемости AOF. AOF обеспечивает лучшую согласованность с данными в памяти, так как каждая запись и удаление сохраняются только через несколько секунд задержки. Компромисс заключается в том, что AOF требует более интенсивных вычислительных ресурсов.
Если загрузка ЦП и сервера меньше 90%, есть штраф за пропускную способность, но кэш работает нормально. Когда загрузка ЦП и сервера превышает 90 %, происходит ухудшение пропускной способности, и задержка всех команд, обработанных кэшем, увеличивается. Задержка увеличивается, так как сохраняемость AOF выполняется как в основном, так и в процессе реплики, увеличив нагрузку на используемый узел и сохраняемость на критическом пути данных.
Что произойдет, если я изменю масштаб до другого размера, а затем будет восстановлена резервная копия, созданная до операции масштабирования?
- При увеличении масштаба до большего размера изменений не происходит.
- Если вы масштабировались до меньшего размера, и у вас есть настраиваемый параметр баз данных , превышающий ограничение баз данных для нового размера, данные в этих базах данных не восстанавливаются. Для получения более подробной информации см. Затронуты ли мои параметры пользовательских баз данных при масштабировании?
- Если вы уменьшили размер, и в меньшем объеме недостаточно места для хранения всех данных из последней резервной копии, ключи вытесняются во время процесса восстановления. Ключи, как правило, вытесняются с помощью политики вытеснения allkeys-lru.
Можно ли использовать одну и ту же учетную запись хранения для сохраняемости данных в двух разных кэшах?
Нет, необходимо использовать разные учетные записи хранения. Каждый кэш должен иметь свою собственную учетную запись для хранения, чтобы обеспечить сохраняемость.
Внимание
Кроме того, используйте отдельные учетные записи хранения для сохраняемости и выполнения периодических операций экспорта в кэше.
Взимается ли плата за хранение данных в хранилище?
- Для кэшей класса Premium взимается плата за использованное хранилище в соответствии с моделью ценообразования учетной записи хранения.
- Для кэшей Enterprise и Enterprise Flash хранилище управляемых дисков входит в цену и не требует дополнительных затрат.
Как часто механизмы сохранения RDB и AOF записывают данные в мои BLOB-объекты, и стоит ли включать мягкое удаление?
Механизмы сохранения RDB и AOF могут записывать в объекты хранилища так часто, как каждый час, каждые несколько минут или каждую секунду. Быстрое удаление данных становится дорогостоящим, учитывая типичные размеры данных в кэше, который осуществляет запись каждую секунду. Включение обратимого удаления в учетной записи хранения также означает, что Azure Redis не может свести к минимуму затраты на хранение, удалив старые данные резервного копирования.
Лучше избегать включения мягкого удаления для учетных записей хранения, которые используются для сохраняемости данных премиум-уровня в Azure Redis. Дополнительные сведения о затратах на обратимое удаление см. в разделе "Цены и выставление счетов".
Можно ли изменить частоту резервного копирования RDB после создания кэша?
Да, можно изменить частоту резервного копирования для сохраняемости RDB с помощью портала Azure, Azure CLI или Azure PowerShell.
Почему при установленной частоте резервного копирования RDB в 60 минут между созданием резервных копий проходит больше времени?
Интервал частоты резервного копирования сохраняемости RDB не запускается до успешного завершения предыдущего процесса резервного копирования. Если частота резервного копирования составляет 60 минут, и для завершения резервного копирования требуется 15 минут, следующая резервная копия не начинается до 75 минут после начала предыдущей резервной копии.
Что происходит со старыми резервными копиями RDB при создании другой?
Все резервные копии сохраняемости RDB, за исключением последней, автоматически удаляются. Это удаление может происходить не сразу, но старые резервные копии не хранятся в течение неограниченного периода времени. Если вы используете уровень "Премиум" для хранения, и обратимое удаление включено, существующие резервные копии остаются в состоянии обратимого удаления.
Когда следует использовать вторичную учетную запись хранения?
Используйте вторую учетную запись хранения для сохраняемости AOF, если ожидаются более высокие, чем обычно, операции SET в кэше. Использование вторичной учетной записи хранения помогает убедиться, что кэш не достигает ограничений пропускной способности хранилища. Этот параметр доступен только для кэшей уровня "Премиум".
Как удалить вторичную учетную запись хранения?
Вы можете удалить вторичную учетную запись для хранения сохраняемости AOF, установив вторичную учетную запись хранения такой же, как первая учетная запись хранения. Чтобы изменить параметры существующих кэшей, выберите " Сохраняемость данных " в разделе "Параметры " в меню навигации слева на странице кэша. Чтобы полностью отключить сохраняемость, выберите "Отключено" на странице сохраняемости данных .
Что такое перезапись и как она влияет на кэш?
Когда AOF-файл становится достаточно большим, перезапись автоматически помещается в кэш. Этот процесс изменяет размер файла AOF с минимальным набором операций, необходимых для создания текущего набора данных.
Во время операций перезаписи можно ожидать быстрого достижения ограничения производительности, особенно при работе с большими наборами данных. Перезаписи происходят реже, так как файл AOF становится больше, но занимает значительное время при их возникновении.
Чего ожидать при масштабировании кэша с включенным AOF?
Если файл AOF во время масштабирования велик, ожидается, что операция масштабирования займет больше времени, чем обычно, так как она перезагрузит файл после завершения масштабирования. Кроме того, см. статью "Что происходит, если масштаб изменяется до другого размера, а резервная копия была сделана и восстановлена до операции масштабирования?"
Как организованы данные AOF в хранилище?
При использовании уровня "Премиум" данные, хранящиеся в файлах AOF, делятся на несколько страничных BLOB-объектов в каждом шарде. По умолчанию половина объектов blob сохраняется в основном аккаунте хранения, а половина сохраняется в дополнительном аккаунте хранения. Разделение данных между несколькими страничными BLOB-объектами и двумя разными учетными записями в хранилищах повышает производительность.
Если пиковая скорость записи в кэш не высока, эта дополнительная производительность может не потребоваться. В этом случае можно удалить конфигурацию вторичной учетной записи хранения и все файлы AOF, хранящиеся в одной основной учетной записи хранения. В следующей таблице показано, сколько страничных BLOB-объектов в общей сложности используется для каждой ценовой категории.
Уровень "Премиум" | BLOB-объекты |
---|---|
П1 | 8 на сегмент |
P2 | 16 на сегмент |
П3 | 32 на сегмент |
P4 | 40 на сегмент |
Если кластеризация включена, каждый сегмент в кэше имеет собственный набор страничных BLOB-объектов согласно таблице выше. Например, кэш P2 с тремя сегментами распределяет файл AOF между 48 BLOB-объектами со страницами: шестнадцать объектов на сегмент.
После перезаписи в хранилище создается два набора файлов AOF. Операции перезаписи выполняются в фоновом режиме и добавляют данные в первый набор файлов. Операции SET, отправленные в кэш во время перезаписи, добавляются во второй набор файлов.
Если во время перезаписи произошел сбой, резервная копия временно сохраняется. Резервная копия быстро удаляется после завершения перезаписи. Если для вашей учетной записи хранения включено обратимое удаление, эта настройка применяется, и существующие резервные копии продолжают оставаться в состоянии обратимого удаления.
Влияет ли наличие исключений брандмауэра в учетной записи хранения на постоянство?
Да. Для сохраняемости на уровне "Премиум" использование параметров брандмауэра в учетной записи хранения может предотвратить работу функции сохраняемости.
Чтобы проверить наличие ошибок в сохранении данных, просмотрите метрику ошибок. Эта метрика указывает, не удается ли кэш сохранять данные из-за ограничений брандмауэра для учетной записи хранения или других проблем.
Чтобы использовать сохраняемость данных с учетной записью хранения с настроенным брандмауэром, используйте проверку подлинности на основе управляемого удостоверения для подключения к хранилищу. Использование управляемого удостоверения добавляет экземпляр кэша в список доверенных служб, что упрощает применение исключений брандмауэра. Если вы авторизуете учетную запись хранения с помощью ключа, а не управляемого удостоверения, наличие исключений брандмауэра в учетной записи хранения, как правило, нарушает процесс сохраняемости.
Можно ли включить сохраняемость AOF, если у меня несколько реплик?
На тарифе "Премиум" нельзя использовать сохранение данных с помощью AOF с несколькими репликами. На уровнях Enterprise и Enterprise Flash архитектура реплики более сложная, но механизм сохранения AOF поддерживается при использовании кэшей Enterprise в развертываниях с зональной избыточностью.
Как проверить, включено ли мягкое удаление в моей учетной записи хранения?
На портале Azure выберите учетную запись хранения, для использования кэша и выберите защиту данных в разделе "Управление данными " в меню навигации слева. На странице защиты данных проверьте, включена ли функция обратимого удаления для блоков. Дополнительные сведения о мягком удалении в учетных записях хранения Azure см. в разделе Включение мягкого удаления для вместилищ.
Можно ли использовать учетную запись хранения в другой подписке, отличной от той, в которой находится мой кэш?
Вы можете выбрать учетную запись хранения в другой подписке, только если вы используете управляемое удостоверение в качестве метода проверки подлинности учетной записи хранения.
Связанный контент
Узнайте больше о функциях Кэша Azure для Redis.