вторник, 8 сентября 2020 г.

Как PBS хранит бэкапы

Продолжаю изучать PBS

На этот раз меня заинтересовало насколько эффективно используется наше хранилище.

Как мы помним у меня хранение резервных копий реализовано на 300Gb виртуальном диске.
Одно хранилище подключего к ноде PVE и в него каждый день делаются бэкапы виртуальной машины.
Второе используется для бэкапов этой же виртуальной машины с помощью клиента, установленного на ней.
На данный момент вот такая картинка:

PVE хранилище
Клиентское хранилище

Теперь посмотрим сколько места копии занимают на диске
Смотрим стандартными средствами:

root@pbs:~# df -h
Filesystem          Size  Used Avail Use% Mounted on
udev                3.9G     0  3.9G   0% /dev
tmpfs               797M   65M  732M   9% /run
rpool/ROOT/pbs-1     31G  1.2G   29G   4% /
tmpfs               3.9G     0  3.9G   0% /dev/shm
tmpfs               5.0M     0  5.0M   0% /run/lock
tmpfs               3.9G     0  3.9G   0% /sys/fs/cgroup
rpool                29G  128K   29G   1% /rpool
rpool/ROOT           29G  128K   29G   1% /rpool/ROOT
spool1              300G  128K  300G   1% /spool1
spool1/pve1         303G  2.8G  300G   1% /spool1/pve1
spool1/debian-test  306G  5.8G  300G   2% /spool1/debian-test
tmpfs               797M     0  797M   0% /run/user/0

Средствами ZFS

root@pbs:~# zfs list
NAME                 USED  AVAIL     REFER  MOUNTPOINT
rpool               1.15G  28.9G       96K  /rpool
rpool/ROOT          1.14G  28.9G       96K  /rpool/ROOT
rpool/ROOT/pbs-1    1.14G  28.9G     1.14G  /
spool1              8.44G   300G       96K  /spool1
spool1/debian-test  5.71G   300G     5.71G  /spool1/debian-test
spool1/pve1         2.73G   300G     2.73G  /spool1/pve1

Что мы собственно увидели и какие выводы можем сделать?

  1. 9 бэкапов средствами PVE занимают 2.7Gb
  2. 6 бэкапов с помощью клиента (бэкаплю / и /home) занимают 5.7Gb

Очевидный, хоть и странный для меня вывод: полный бэкап VM странным образом эффективнее бэкапа ее части данных

Возможное объяснение ситуации
При бэкапе VM используется процессор ноды, а при бэкапе средствами клиента используется виртуальный процессор, в котором, возможно доступны не все инструкции серверного процессора.

2 комментария:

  1. Александр, пара уточняющих вопросов:
    1. У вас на пулах не включены сжатие и дедупликация?
    2. Пробовали бэкап VM, созданный одним способом, восстановить через другой?

    ОтветитьУдалить
    Ответы
    1. Я создавал в самом начале, когда через интерфейс еще не делалось командой zpool create -f -o ashift=12 spool1 /dev/sdb, а потом zfs create spool1/pve1
      Сжатие не включал, бэкапы не совместимы. PVE восстанавливается из PVE, а клиентский как через интерфейс скачать можно, так и клиентом восстановить.

      Удалить