Использование снимков томов

Снимок тома — это копия persistent volume claim (PVC) на определённый момент времени, которая может использоваться для настройки новых persistent volume claim (предварительное заполнение данными из снимка) или для отката существующих persistent volume claim к предыдущему состоянию, достигая эффекта резервного копирования данных приложения и их восстановления по необходимости, тем самым обеспечивая надёжность данных приложения.

Содержание

Предварительные требования

  • Администратор развернул компонент снимков томов Snapshot Controller для текущего кластера и включил функции, связанные со снимками, в кластере хранения.

  • Persistent volume claim должен быть создан динамически, а его статус должен быть Bound.

  • Storage class, связанный с persistent volume claim, должен поддерживать функциональность снимков, например, CephRBD Built-in Storage, CephFS Built-in Storage или TopoLVM.

Пример ресурса VolumeSnapshot (CR)

Этот пример создаёт снимок PVC с именем example-pvc с использованием CSI snapshot class.

# example-snapshot.yaml
apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshot
metadata:
  name: example-pvc-20250527-111124
  namespace: k-1
  labels:
    snapshot.cpaas.io/sourcepvc: example-pvc
  annotations:
    cpaas.io/description: demo
spec:
  volumeSnapshotClassName: csi-cephfs-snapshotclass
  source:
    persistentVolumeClaimName: example-pvc

Создание снимков томов через веб-консоль

Создание снимка тома на основе указанного persistent volume claim (PVC)

Способ первый

  1. Войдите в Container Platform.

  2. В левой навигационной панели выберите Storage > Persistent Volume Claims (PVC).

  3. Нажмите ⋮ рядом с соответствующим persistent volume claim в списке и выберите Create Volume Snapshot.

  4. Заполните описание снимка. Это описание поможет зафиксировать текущее состояние persistent volume, например Перед обновлением приложения.

  5. Нажмите Create. Время создания снимка зависит от состояния сети и объёма данных; пожалуйста, подождите.

    Когда статус снимка изменится на Available, это означает успешное создание.

Способ второй

  1. Войдите в Container Platform.

  2. В левой навигационной панели выберите Storage > Persistent Volume Claims (PVC).

  3. Нажмите на имя persistent volume claim в списке.

  4. Перейдите на вкладку Volume Snapshots.

  5. Нажмите Create Volume Snapshot и настройте необходимые параметры.

  6. Нажмите Create. Время создания снимка зависит от состояния сети и объёма данных; пожалуйста, подождите.

    Когда статус снимка изменится на Available, это означает успешное создание.

Создание снимков томов в произвольном порядке

  1. Войдите в Container Platform.

  2. В левой навигационной панели выберите Storage > Volume Snapshots.

  3. Нажмите Create Volume Snapshot и настройте необходимые параметры.

  4. Нажмите Create. Время создания снимка зависит от состояния сети и объёма данных; пожалуйста, подождите.

    Когда статус снимка изменится на Available, это означает успешное создание.

Создание снимков томов через CLI

kubectl apply -f example-snapshot.yaml

Создание persistent volume claims из снимков томов

В настоящее время платформа поддерживает создание снимков томов только для PVC, созданных из storage class с Dynamic Provisioning. Вы можете создавать новые PVC на основе этих снимков и связывать их.

Примечание: Режимы доступа, поддерживаемые при создании PVC из снимка, отличаются от поддерживаемых при создании PVC из storage class, что выделено жирным в таблице.

Storage Class, используемый для создания снимков томовSingle Node Read-Write (RWO)Multi-Node Read-Only (ROX)Multi-Node Read-Write (RWX)
TopoLVMПоддерживаетсяНе поддерживаетсяНе поддерживается
CephRBD Block StorageПоддерживаетсяНе поддерживаетсяНе поддерживается
CephFS File StorageПоддерживаетсяПоддерживаетсяПоддерживается

Способ первый

  1. Войдите в Container Platform.

  2. В левой навигационной панели выберите Storage > Persistent Volume Claims (PVC).

  3. Нажмите на имя persistent volume claim в списке.

  4. Перейдите на вкладку Volume Snapshots.

  5. Нажмите ⋮ рядом с соответствующим снимком тома в списке и выберите Create Persistent Volume Claim, настройте необходимые параметры.

  6. Нажмите Create.

Способ второй

  1. Войдите в Container Platform.

  2. В левой навигационной панели выберите Storage > Volume Snapshots.

  3. Нажмите ⋮ рядом с соответствующим снимком тома в списке и выберите Create Persistent Volume Claim, настройте необходимые параметры.

  4. Нажмите Create.

Дополнительный ресурс