Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(zfspv): adding backup and restore support #162

Merged
merged 4 commits into from
Sep 8, 2020

Commits on Sep 7, 2020

  1. feat(zfspv): adding backup and restore support for ZFSPV

    Here adding Backup and Restore controller, which will be watching for
    the events. The velero plugin will create a Backup CR to create a backup
    with the remote location information, the controller will send the data
    to that remote location.
    
    In the same way, the velero plugin will create a Restore CR to restore the
    volume from the the remote location and the restore controller will restore
    the data.
    
    Steps to use velero plugin for ZFS-LocalPV are :
    
    1. install velero
    
    2. add openebs plugin
    
    velero plugin add openebs/velero-plugin:latest
    
    3. Create the volumesnapshot location :
    
    for full backup :-
    
    ```yaml
    apiVersion: velero.io/v1
    kind: VolumeSnapshotLocation
    metadata:
      name: default
      namespace: velero
    spec:
      provider: openebs.io/zfspv-blockstore
      config:
        bucket: velero
        prefix: zfs
        namespace: openebs
        provider: aws
        region: minio
        s3ForcePathStyle: "true"
        s3Url: http://minio.velero.svc:9000
    ```
    
    for incremental backup :-
    
    ```yaml
    apiVersion: velero.io/v1
    kind: VolumeSnapshotLocation
    metadata:
      name: default
      namespace: velero
    spec:
      provider: openebs.io/zfspv-blockstore
      config:
        bucket: velero
        prefix: zfs
        backup: incremental
        namespace: openebs
        provider: aws
        region: minio
        s3ForcePathStyle: "true"
        s3Url: http://minio.velero.svc:9000
    ```
    
    4. Create backup
    
    velero backup create my-backup --snapshot-volumes --include-namespaces=velero-ns --volume-snapshot-locations=aws-cloud-default --storage-location=default
    
    5. Create Schedule
    
    velero create schedule newschedule  --schedule="*/1 * * * *" --snapshot-volumes --include-namespaces=velero-ns --volume-snapshot-locations=aws-local-default --storage-location=default
    
    6. Restore from backup
    
    velero restore create --from-backup my-backup --restore-volumes=true --namespace-mappings velero-ns:ns1
    Signed-off-by: Pawan <pawan@mayadata.io>
    pawanpraka1 committed Sep 7, 2020
    Configuration menu
    Copy the full SHA
    010deca View commit details
    Browse the repository at this point in the history
  2. review comment

    pawanpraka1 committed Sep 7, 2020
    Configuration menu
    Copy the full SHA
    e3ac523 View commit details
    Browse the repository at this point in the history

Commits on Sep 8, 2020

  1. updating doc

    Signed-off-by: Pawan <pawan@mayadata.io>
    pawanpraka1 committed Sep 8, 2020
    Configuration menu
    Copy the full SHA
    fa95983 View commit details
    Browse the repository at this point in the history
  2. return error

    Signed-off-by: Pawan <pawan@mayadata.io>
    pawanpraka1 committed Sep 8, 2020
    Configuration menu
    Copy the full SHA
    247cee0 View commit details
    Browse the repository at this point in the history