Возможности
- Дедупликация блоком 4к
- Компрессия блоков 4к
- Протестирована работа XFS и ext4. Рекомендуется использовать XFS.
- Основная задача оптимизация Flash СХД
- Данные которые хорошо дедуплицируются (от 2 до 6 раз) (по информации вендора):
- Резервные копии (если они выровнены по блоку 4к)
- Виртуальные машины
- Образы контейнеров
- Домашние папки
Processor Architectures
One or more processors implementing the Intel 64 instruction set are required: that is, a processor of the AMD64 or Intel 64 architecture.
RAM
Each VDO volume has two distinct memory requirements:
The VDO module requires 370 MB plus an additional 268 MB per each 1 TB of physical storage managed.
The Universal Deduplication Service (UDS) index requires a minimum of 250 MB of DRAM, which is also the default amount that deduplication uses. For details on the memory usage of UDS, see Section 29.2.1, “UDS Index Memory Requirements”.
The following configurations are not supported
- VDO on top of VDO volumes: storage → VDO → LVM → VDO
- VDO on top of LVM Snapshots
- VDO on top of LVM Cache
- VDO on top of the loopback device
- VDO on top of LVM Thin Provisioning
- Encrypted volumes on top of VDO: storage → VDO → DM-Crypt
- Partitions on a VDO volume: fdisk, parted, and similar partitions
- RAID (LVM, MD, or any other type) on top of a VDO volume
Links
- Using VDO on CentOS/RHEL7 for Storage Efficiency
- Using Data Deduplication and Compression with VDO on RHEL 7 and 8
- A look at VDO, the new Linux compression layer
Установка
yum install -y vdo kmod-kvdo # Установка пакетов
systemctl enable vdo # Активация
systemctl start vdo # Запуск
vdo create --name=vdo_dev0 --device=/dev/sdb --vdoLogicalSize=256G --writePolicy=async --compression=enabled --deduplication=enabled --readCache=enabled --readCacheSize=1G --vdoAckThreads=4 --vdoCpuThreads=4 --vdoHashZoneThreads=4 --vdoLogicalThreads=4 --vdoPhysicalThreads=4
pvcreate /dev/mapper/vdo_dev0 --dataalignment 4k
vgcreate dedup_vg /dev/mapper/vdo_dev0
lvcreate dedup_vg -l 100%FREE
mkfs.xfs /dev/mapper/dedup_vg-lvol0
mkdir /dedup
echo "/dev/mapper/dedup_vg-lvol0 /dedup xfs defaults,noatime,discard,x-systemd.requires=vdo.service 0 0" >> /etc/fstab
mount -a
Подключение к ПО РК
Через протокол S3
#Установить Docker
yum install -y docker
systemctl enable docker
systemctl start docker
#Запустить контейнер
docker run -p 80:9000 --name minio1 -v /dedup/s3:/data -v /root/.minio:/root/.minio -d \
-e "MINIO_ACCESS_KEY=admin" \
-e "MINIO_SECRET_KEY=password" \
-e "MINIO_HTTP_TRACE=/dev/stdout" \
--restart unless-stopped minio/minio server /data
Дальше настраиваем подключение в зависимости от используемого ПО резервного копирования для работы с созданным сервером S3.
Через агента Bareos Storage Daemon
Устанавливаем пакеты
wget -O /etc/yum.repos.d/bareos.repo https://download.bareos.org/bareos/release/latest/CentOS_7/bareos.repo
yum install -y bareos-sd
Создаем конфигурационный файл на сервере хранилища:
/etc/bareos/bareos-sd.d/device/sdfs.conf
Device {
Name = sdfs
Media Type = File
Archive Device = /dedup # Точка монтирования хранилища
LabelMedia = yes; # lets Bareos label unlabeled media
Random Access = yes;
AutomaticMount = yes; # when device opened, read it
RemovableMedia = no;
AlwaysOpen = no;
Description = "File device. A connecting Director must have the same Name and MediaType."
Maximum Spool Size = 1G;
}
На сервере резервного копирования создаем конфигурационный файл:
/etc/bareos/bareos-dir.d/storage/File-sdfs.conf
Storage {
Name = File_sdfs
Address = 172.27.67.21 # Адрес сервера, на котором установлен SD
Password = "gh66GvtST3xmf0D95zWZ6VPnFGsuIrpVEQx0Yl2QiG/j" # Пароль сервера, на котором установлен SD, из файла /etc/bareos/bareos-sd.d/director/bareos-dir.conf
Device = sdfs
Media Type = File
}
На сервере хранилища
systemctl start bareos-sd
systemctl enable bareos-sd
На сервере резервного копирования
systemctl restart bareos-dir
Мониторинг результатов
watch vdostats --human-readable /dev/mapper/vdo_dev0
Обслуживание
Очистка репозитория после удаления данных
fstrim /dedup
>> Home