vPlus 7.0
  • Welcome to vPlus!
  • Overview
    • Main Features
    • Support Matrix
    • Components and Architecture
    • Typical Scenarios
    • Licensing
    • Product Life Cycle
  • Deployment
    • Component Requirements
    • Supported Platforms Requirements
    • Sizing Guide
      • Small
      • Medium
      • Large
    • Installation
      • Quick Installation Using All-in-one Script
      • Installing vPlus Offline
      • Adding vPlus Nodes
    • Initial Configuration
    • Backup Destinations
      • File System
        • Synthetic File System
          • XFS
          • DD Boost
        • isoLayer (Synthetic)
        • File System
          • Virtual Data Optimizer (VDO)
        • Catalogic Software vStor
      • Deduplication Appliances
        • Huawei OceanProtect
        • HPE StoreOnce
        • Exagrid
        • Neverfail HybriStor
      • Object Storage
        • Alibaba Cloud OSS
        • AWS S3 or S3-compatible
        • Ceph Rados Gateway
        • Cloudian S3
        • Wasabi
        • Google Cloud Storage
        • IBM Cloud Object Storage
        • Microsoft Azure Blob Storage
        • Nutanix Objects
        • OpenStack SWIFT
        • Oracle Cloud Infrastructure Object Storage
        • Scality RING
      • Tape Pools
    • High Availability
      • 2 Node Cluster
      • 3 Node Cluster
    • Common Tasks
      • Staging Space Configuration
      • Enabling HTTPS Connectivity for Nodes
      • LVM Setup on vPlus Node for Disk Attachment Backup Mode
      • Full Versions of libvirt/qemu Packages Installation
      • SSH Public Key Authentication
      • Enabling HTTP(S) Proxy for vPlus
  • Protecting Virtual Environments
    • Virtual Machines
      • Nutanix Acropolis Hypervisor (AHV)
      • Red Hat Openshift Virtualization
      • Red Hat Virtualization
      • oVirt
      • Oracle Linux Virtualization Manager
      • Oracle VM
      • Proxmox VE
      • KVM/Xen
      • OpenStack
      • OpenNebula
      • Virtuozzo
      • Citrix Hypervisor (XenServer)
      • XCP-ng
      • Huawei FusionCompute
      • SC//Platform
    • Cloud
      • Amazon EC2
      • GCP GCE
      • Azure Cloud
    • Containers
      • Red Hat OpenShift
      • Proxmox VE
    • Backup & Restore
  • Protecting Microsoft 365
    • Microsoft 365 Organization Management
      • Configure Microsoft 365 Access
      • Add Microsoft 365 Organization Manually
      • Add Microsoft 365 Organization Using the Setup Assistant
      • Account Auto-synchronization
    • Backup & Restore
    • Suppoted Sharepoint Templates and Limitations
  • Protecting Applications
    • Applications
      • PostgreSQL
      • DB2
      • Relax and Recover - ReaR
      • Git
      • oVirt/RHV/OLVM
      • Kubernetes/OpenShift etcd
    • Backup & Restore
  • Protecting Storage Providers
    • Storage Providers
      • File System
      • Ceph RBD
      • Nutanix Files
      • Nutanix Volume Groups
    • Backup & Restore
  • Administration
    • Dashboard
    • Virtual Environments
      • Instances
        • Backup On-Demand
        • Restore On-Demand
        • Snapshot Management
      • Virtualization Providers
      • Backup SLAs
        • Policies
        • Schedules
      • Snapshot SLAs
        • Policies
        • Schedules
      • Recovery Plans
        • Policies
        • Schedules
      • Mounted Backups (File-level Restore)
    • Storage
      • Instances
        • Backup On-Demand
        • Restore On-Demand
      • Infrastructure
      • Backup SLAs
        • Policies
        • Schedules
      • Snapshot SLAs
        • Policies
        • Schedules
      • Mounted Backups (File-level Restore)
    • Microsoft 365
      • Instances
      • Organizations
      • Backup SLAs
        • Policies
        • Schedules
      • Download
    • Applications
      • Instances
      • Execution Configurations
      • Backup SLAs
    • Reporting
      • Virtual Environments
      • Storage
      • Microsoft 365
      • Applications
      • Notifications
      • Audit Log
    • Nodes
      • Instances
      • Node Configurations
    • Access Management
      • Users
      • Groups
      • Roles
      • OS Credentials
    • Settings
      • Global Settings
      • Internal DB Backup
      • Notification Rules
      • Mailing Lists
      • Endpoints Global Settings
    • Upgrade
    • CLI Reference
    • CLI v2 Reference (technical preview)
  • Integration
  • Troubleshooting
    • How to Enable vPlus DEBUG Mode
    • Collecting Logs
    • External Log Targets
    • Disaster Recovery
  • Known Software Issues and Limitations
  • Glossary
Powered by GitBook
On this page
  • Preparation
  • Importing existing VDO volumes to LVM
  1. Deployment
  2. Backup Destinations
  3. File System
  4. File System

Virtual Data Optimizer (VDO)

In this section, you can find information on how to enable deduplication using basically any block storage available. We assume that you have prepared your storage provider and have exposed the block device to the system where vPlus Node is installed.

Preparation

Note. Disable Secure Boot option for the VM to allow VDO work properly. Run below command to check status of Secure Boot option:

mokutil --sb-state
  1. Log in to vPlus Node and create a mount directory as in the example /backupdestination

    mkdir /backupdestination
  2. List all existing disks, and find your drive. Let's assume /dev/sdc is your empty block device that you want to use:

    fdisk -l | grep dev
    #Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors
    #/dev/sda1   *        2048     1026047      512000   83  Linux
    #/dev/sda2         1026048    62914559    30944256   8e  Linux LVM
    #Disk /dev/sdc: 500 GB, 17179869184 bytes, 33554432 sectors
    #Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
    #Disk /dev/mapper/centos-root: 28.5 GB, 28462546944 bytes, 55590912 sectors
    #Disk /dev/mapper/centos-swap: 3221 MB, 3221225472 bytes, 6291456 sectors
  3. Log in to the vProtect web UI.

  4. Go to Backup Destinations.

  5. Click on Create Backup Destination, choose a File system.

  6. Type the name for the new backup destination, set the retention, and select at least one node configuration.

  7. Based on whether the staging space is same as backup destination or not, do one of the following:

    • If the staging space is different from your backup destination storage:

      • In Storage paths type /backupdestination - this path will be used to mount the prepared file system (XFS) on top of the VDO volume.

      • Check Enable deduplication.

      • Provide your block device (for example /dev/sdc) as your Deduplication device.

    • If the staging space needs to be the same as your backup destination storage:

      • In Storage paths type /vprotect_data/backups - this path assumes that /vprotect_data is your staging space path and backups is a subdirectory of the staging space.

      • Check Enable deduplication.

      • Provide your block device (for example /dev/sdc) as your Deduplication device.

      • Enable Mount deduplicated file system to a different directory than backup destination path and provide the mount point - your staging space path, for example /vprotect_data - this will force vPlus to mount XFS on top of VDO in the staging space directory rather than in the backup subdirectory.

Note. Only one file system backup destination with deduplication using VDO pointing to a specific directory can be used. If you want to add another backup destination using the same VDO device, but just a different subdirectory, create it without deduplication enabled.

Importing existing VDO volumes to LVM

The Python-based VDO management software has been deprecated and removed from RHEL 9/CentOS 9 Stream. It has been replaced by the LVM-VDO integration. If you are using VDO on RHEL 8/CentOS 8 Stream and plan to upgrade to version 9, you need to convert VDO volume.

In this example we have VDO volume called VDOexample created and managed by vPlus.

lsblk
#NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
#sda            8:0    0   40G  0 disk
#|-sda1         8:1    0  600M  0 part /boot/efi
#|-sda2         8:2    0    1G  0 part /boot
#`-sda3         8:3    0 38.4G  0 part
#  |-cs-root  253:0    0 34.4G  0 lvm  /
#  `-cs-swap  253:1    0    4G  0 lvm  [SWAP]
#sdb            8:16   0  100G  0 disk
#`-VDOexample 253:2    0  300G  0 vdo  /backups
#sr0           11:0    1 1024M  0 rom
  1. On vPlus Node, stop vprotect-node service.

    systemctl stop vprotect-node
  2. Unmount VDO volume from backup destination path.

    umount /backups
  3. Convert VDO volume. Change /dev/sdb to the device on which you have created VDO.

    lvm_import_vdo /dev/sdb
    #Convert VDO device "/dev/sdb" to VDO LV "vdovg/vdolvol"? [y|N]: Yes
    #Stopping VDO VDOexample
    #Converting VDO VDOexample
    #    Opening /dev/sdb exclusively
    #    Loading the VDO superblock and volume geometry
    #    Checking the VDO state
    #    Converting the UDS index
    #    Converting the VDO
    #    Conversion completed for '/dev/sdb': VDO is now offset by 2097152 bytes
    #Physical volume "/dev/sdb" successfully created.
    #Volume group "vdovg" successfully created
    #WARNING: Logical volume vdovg/vdolvol_vpool not zeroed.
    #Logical volume "vdolvol_vpool" created.
    #WARNING: Converting logical volume vdovg/vdolvol_vpool to VDO pool volume WITHOUT formating.
    #WARNING: Using invalid VDO pool data MAY DESTROY YOUR DATA!
    #Logical volume "vdolvol" created.
    #Converted vdovg/vdolvol_vpool to VDO pool volume and created virtual vdovg/vdolvol VDO volume.
  4. Rename volume group and logical volume names. They must be the same as the original VDO volume name.

    vgrename vdovg VDOexample
    #Volume group "vdovg" successfully renamed to "VDOexample"
    lvrename /dev/VDOexample/vdolvol /dev/VDOexample/VDOexample
    #Renamed "vdolvol" to "VDOexample" in volume group "VDOexample"
  5. Edit /etc/yum.repos.d/vProtect.repo and change baseurl to point to el9.

    vim /etc/yum.repos.d/vProtect.repo
    
    [vProtect]
    baseurl = https://f002.backblazeb2.com/file/DPX-vPlus/current/el9
    gpgcheck = 0
    name = vProtect repo
  6. On vPlus Server machine, create a vprotect database backup and copy it to safe place. Wait for all tasks to finish before stopping the vprotect-server service.

    stop systemctl vprotect-server
    /opt/vprotect/scripts/backup_db.sh
    cp /tmp/vprotect_db.sql.gz /root
  7. Login to mysql and execute below SQL query.

    mysql -uroot -p vprotect
    
    update filesystembackupdestination
    inner join backupdestination on filesystembackupdestination.guid = backupdestination.guid
    set filesystembackupdestination.dedupvolume = CONCAT('/dev/', REGEXP_REPLACE(backupdestination.name,'\\W','_'), '/', REGEXP_REPLACE(backupdestination.name,'\\W','_'))
    where filesystembackupdestination.dedupvolume is not null;
    
    MariaDB [vprotect]> quit
  8. Start vprotect-server service.

    systemctl start vprotect-server
  9. Proceed with the system upgrade of the vPlus Node machine. After the reboot, you should have new LVM-VDO mounted on your backupdestination directory.

    lsblk
    #NAME                               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
    #sda                                  8:0    0   40G  0 disk
    #├─sda1                               8:1    0  600M  0 part /boot/efi
    #├─sda2                               8:2    0    1G  0 part /boot
    #└─sda3                               8:3    0 38.4G  0 part
    #├─cs-root                        253:0    0 34.4G  0 lvm  /
    #└─cs-swap                        253:1    0    4G  0 lvm  [SWAP]
    #sdb                                  8:16   0  100G  0 disk
    #└─VDOexample-vdolvol_vpool_vdata   253:2    0  100G  0 lvm
    #└─VDOexample-vdolvol_vpool-vpool 253:3    0  300G  0 lvm
    #    └─VDOexample-VDOexample        253:4    0  300G  0 lvm  /backups
PreviousFile SystemNextCatalogic Software vStor