LINUX.ORG.RU

Бекап раздела с Debian BTRFS

 , ,


0

2

Так уж и повелось то маленькие разделы я бекапаю парагоном из загрузочного диска. Так повелось потому что с клонезиллой я потерял один бекап и этого мне хватило(там размер раздела не подходило или что то такое, то есть сделал бекап раздела, потом исходный раздел удалил, а на другой раздел клонезилла уже не смогла восстановить тот бекап. Что то она там выравнивала и все летело к чёрту. Но это не суть)

Проблема заключается вот в чем - делаю бекап арча и бтрфс раздеал - получаю 2-3гигабайта данных.
Делаю бекап дебиана бтрфс с того же раздела и получаю почти 20гигабайт данных.
В обоих случаях чистые системы, примерно занято10-20% места, бтрфс дефрагментирован, сжатие включено.

Может у дебиана по другому работает бтрфс??

btrfs filesystem defrag -czstd -rv / 

в fstab 
***,compress=zstd:1

сейчас начну ставить с нуля разные системы на один и тот же раздел и делать их бекапы, покажу компсайз корня и обьем бекапа клонезиллой и парагоном. Ниже будет дополнятся


Fedora KDE compsize -x / (20GB btrfs partition, драйвера не ставил не обновлял, добавил рпмфузионы и поставил компсайз, недфрагментировал, сжатие по умолчанию включено в фстаб)

Processed 158697 files, 94325 regular extents (101564 refs), 92438 inline.
Type       Perc     Disk Usage   Uncompressed Referenced  
TOTAL       57%      3.9G         6.9G         7.5G       
none       100%      2.2G         2.2G         2.2G       
zstd        36%      1.6G         4.6G         5.1G       
prealloc   100%       12M          12M         138M   

Paragon бекап - 4GB

Debian KDE compsize -x / (20GB btrfs partition установлена без интернета, из полного образа, драйвера не ставил не обновлял сжатие не включил, подправил соурслист, апт апдейт и установил компсайз)

Processed 256067 files, 16975 regular extents (169540 refs), ***
Type       Perc     Disk Usage   Uncompressed Referenced  
TOTAL       100%     8.0G         8.0G         8.3G       
none       100%      8.0G         8.0G         8.3G       

Paragon бекап - 4.3GB
Debian KDE compsize -x / (20GB btrfs partition установлена без интернета, из полного образа, драйвера не ставил не обновлял сжатие Включил, дефрагментировал)

Дрова ставить не стал, из консоля фоткал(включил сжатие и дефрагментировал)
Processed 256077 files, 176127 regular extents (178091 refs), ***
Type       Perc     Disk Usage   Uncompressed Referenced  
TOTAL       43%      3.5G         8.0G         8.2G       
none       100%      698M         698M         740M       
zstd        38%      2.8G         7.3G         7.5G       

Paragon бекап - 6.1GB

Debian KDE compsize -x / (20GB btrfs partition, netinstall utilites+kde, драйвера не ставил не обновлял(смысл писать? нетинсталл же) сжатие не включил, подправил соурслист, апт апдейт и установил компсайз)

Processed 145919files, 78825regular extents (78869refs), 64288 inline.
Type       Perc     Disk Usage   Uncompressed Referenced  
TOTAL      100%      5.2G         5.2G         5.5G       
none       100%      5.2G         5.2G         5.5G      

Paragon бекап - 5.9GB
Debian KDE compsize -x / (20GB btrfs partition, netinstall utilites+kde, поставил драйвера nvidia, обновил(очевидно там ничего) сжатие включил, дефрагментировал)

Processed 167320 files, 100005 regular extents (102001 refs), 90255 inline.
Type       Perc     Disk Usage   Uncompressed Referenced  
TOTAL       48%      2.9G         6.0G         6.3G       
none       100%     1009M        1009M         1.0G       
zstd        38%      1.9G         5.1G         5.3G    

Paragon бекап - 7.6GB Ну вот как? Почему не выходит 18GB как прежде. Но 7.6 все равно очень много для такого раздела.  
Попробую наполнить раздел разными файлами, затем всё удалю и снова дефрагментировав сделаю бекап
Заполнил раздел файлами, удалил файлы, дефрагментировал, снова бекап парагоном - 20GB
compsize -x /
Processed 170591 files, 104384 regular extents (106350 refs), 91381 inline.
Type       Perc     Disk Usage   Uncompressed Referenced  
TOTAL       49%      3.1G         6.3G         6.6G       
none       100%      961M         961M        1003M       
zstd        40%      2.2G         5.4G         5.6G

★★

Последнее исправление: Sapetuko (всего исправлений: 17)
Ответ на: комментарий от t184256

Сейчас я уже понаставил флатпак софта на 3GB и уменьшил размер раздела, паралелльно ещё буду тестировать clonezilla. До установки флетпак программ клонезиллой сделала бекап и получился размер около 3GB, что нормально. Сейчас снова сделаю клонезиллой и парагоном. Потом буду пробовать клонезиллой восстановить бекап удалив перед этим искомый раздел и создав чуть больший. В тот раз на это я и погорел.

#btrfs fi us /

Overall:
    Device size:                  18.69GiB
    Device allocated:              8.77GiB
    Device unallocated:            9.92GiB
    Device missing:                  0.00B
    Used:                          6.21GiB
    Free (estimated):             11.98GiB      (min: 11.98GiB)
    Free (statfs, df):            11.98GiB
    Data ratio:                       1.00
    Metadata ratio:                   1.00
    Global reserve:               17.62MiB      (used: 0.00B)
    Multiple profiles:                  no

Data,single: Size:8.01GiB, Used:5.95GiB (74.32%)
   /dev/sda1       8.01GiB

Metadata,single: Size:776.00MiB, Used:270.33MiB (34.84%)
   /dev/sda1     776.00MiB

System,single: Size:4.00MiB, Used:16.00KiB (0.39%)
   /dev/sda1       4.00MiB

Unallocated:
   /dev/sda1       9.92GiB



# btrfs fi us /
Overall:
    Device size:                  18.69GiB
    Device allocated:              8.77GiB
    Device unallocated:            9.92GiB
    Device missing:                  0.00B
    Used:                          6.21GiB
    Free (estimated):             11.98GiB      (min: 11.98GiB)
    Free (statfs, df):            11.98GiB
    Data ratio:                       1.00
    Metadata ratio:                   1.00
    Global reserve:               17.62MiB      (used: 0.00B)
    Multiple profiles:                  no

Data,single: Size:8.01GiB, Used:5.95GiB (74.32%)
   /dev/sda1       8.01GiB

Metadata,single: Size:776.00MiB, Used:270.33MiB (34.84%)
   /dev/sda1     776.00MiB

System,single: Size:4.00MiB, Used:16.00KiB (0.39%)
   /dev/sda1       4.00MiB

Unallocated:
   /dev/sda1       9.92GiB
Sapetuko ★★
() автор топика
Ответ на: комментарий от t184256

На основе данных что выше указаны теперь снова забекапил клонезиллой(~4.5Gb) и парагоном(~15GB)
Как так?
Когда делаю бекап Арча(с Убунтой уверен будет также) где даже больше софта и меньше свободного места то получается меньше, примерно как и у клонезиллы. То есть разумный размер.

Sapetuko ★★
() автор топика
Последнее исправление: Sapetuko (всего исправлений: 1)
Ответ на: комментарий от Vochatrak-az-ezm
compsize /var/lib/flatpak/
Processed 66129 files, 16790 regular extents (32224 refs), 39824 inline.
Type       Perc     Disk Usage   Uncompressed Referenced  
TOTAL       85%      2.7G         3.2G         6.3G       
none       100%      2.4G         2.4G         5.0G       
zstd        40%      318M         789M         1.3G

compsize /usr
Processed 152798 files, 92601 regular extents (94564 refs), 81031 inline.
Type       Perc     Disk Usage   Uncompressed Referenced  
TOTAL       48%      2.6G         5.5G         5.7G       
none       100%      725M         725M         767M       
zstd        41%      1.9G         4.8G         5.0G    

compsize /var
Processed 79734 files, 24331 regular extents (39802 refs), 48438 inline.
Type       Perc     Disk Usage   Uncompressed Referenced  
TOTAL       81%      3.0G         3.7G         6.8G       
none       100%      2.6G         2.6G         5.1G       
zstd        37%      430M         1.1G         1.6G    


Sapetuko ★★
() автор топика
Последнее исправление: Sapetuko (всего исправлений: 1)
Ответ на: комментарий от Vochatrak-az-ezm

сделал дефрагментацию эту бтрфсную(после утсановки флетпака вроде не делал, не думаю что это чем то повлияет)

Правда не очень понятно, я свойства папки flatpak смотрю в файловом менеджере и мне оно показывает что 3.2GB а компсайз пишет что оно сжато до 1.6GB если я правильно понял

compsize /var/lib/flatpak/
Processed 66129 files, 30919 regular extents (64759 refs), 42201 inline.
Type       Perc     Disk Usage   Uncompressed Referenced  
TOTAL       50%      1.6G         3.2G         6.3G       
none       100%      457M         457M         673M       
zstd        42%      1.1G         2.8G         5.6G 

compsize /usr
Processed 152798 files, 92604 regular extents (94567 refs), 81031 inline.
Type       Perc     Disk Usage   Uncompressed Referenced  
TOTAL       48%      2.6G         5.5G         5.7G       
none       100%      724M         724M         766M       
zstd        41%      1.9G         4.8G         5.0G      

compsize /var
Processed 79742 files, 38330 regular extents (72170 refs), 50820 inline.
Type       Perc     Disk Usage   Uncompressed Referenced  
TOTAL       50%      1.8G         3.7G         6.8G       
none       100%      617M         617M         834M       
zstd        41%      1.2G         3.1G         6.0G   

Sapetuko ★★
() автор топика
Последнее исправление: Sapetuko (всего исправлений: 2)
Ответ на: комментарий от Sapetuko

ФМ и будет показывать объем без сжатия. Но место занято столько, сколько показывает compsize.

Теперь ищи «разницу» между дебиановским снапшотом м арчевским. Вангую что дебиан ввиду своей лютой древности, просто ничего не сжимает. Или использует другой алгоритм/уровень сжатия.

И кстати, если сжатие BtrFS прописано в fstab, то дефрагментировать руками не надо. Файлы сжимаются автоматически, в момент записи (что негативно сказывается на скорости записи и позитивно на чтении).

Vochatrak-az-ezm ★★
()
Ответ на: комментарий от Sapetuko

Ну вот даже тут смотри. У тебя корень весом в 13 гигов, реально занимает 4.8. Но если ты бекапешься на другой носитель через send | recive, то и перекидывать тебе придется 13 гигов. Если на втором носителе не включено сжатие, вот тебе и вылезет разница в объеме.

Vochatrak-az-ezm ★★
()
Ответ на: комментарий от Vochatrak-az-ezm

даже если убрать сжатие то клонезилла сожмет как надо всё это дело(в 5-6гигов) а парагон сожмет в 16 гигов

а вот арч или убунту оба сожмут в 5-6гигов

ведь какое бы там не было сжатие и клонезилла и парагон они ведь и сами все равно сжимают данные когда бекап делают

тут как бы такое что дебиан форматировал бтрфс как то по другому и поэтому парагон делает бекап как dd что ли, посекторно и без сжатия и пустое место тоже будет занимать место

Sapetuko ★★
() автор топика
Последнее исправление: Sapetuko (всего исправлений: 1)
Ответ на: комментарий от Sapetuko

Использовать BtrFS и при этом не использовать ее штатные функции бекапирования это конечно оригинально.

А то что ты описываешь, звучит максимально странно. Ведь незанятое место на разделе, должно ужиматься при сжатии, практически до нуля.

То есть размер обоих бекапов не должен различаться на десятки гигабайт. Сдается мне, что у тебя раздел таки чем то занят. Попробуй на всякий случай посмотреть что скажет filelight.

И если ФС реально пустая и по прежнему занимает намного больше места чем должна. Пробуй убить кеш, и прогони тест ФС (в RO).

Vochatrak-az-ezm ★★
()
Ответ на: комментарий от Vochatrak-az-ezm

Думаю дело в том что btrfs и парагон (или клонзилла) по разному понимают, что такое незанятое место. Вот вывод из программы btdu не используемого места

 btdu v0.5.0 @ /mnt/root_btrfs                         [PAUSED] 
--- INFO: /<SINGLE>/<DATA>/<UNUSED> ----------------------------
--- Details:
- Average query duration: 0.0000246 seconds
- Represented size: ~9.747 GiB (142696 samples), ±33.84 MiB
- Logical offsets: ..., 17206328506, 17185937859, 3952328504

--- Explanation:
btrfs reports that there is nothing at the random sample
location that btdu picked.

This most likely represents allocated but unused space, which
could be reduced by running a balance on the DATA block group.

More precisely, this node represents samples for which
BTRFS_IOC_LOGICAL_INO returned ENOENT.
--- /<SINGLE>/<DATA> -------------------------------------------  
  ~75.40 MiB [          ] /<UNREACHABLE>
  ~9.747 GiB [##########]  <UNUSED>                               
  ~4.811 GiB [####      ] /@
  ~690.3 MiB [          ] /@home
  ~27.91 MiB [          ] /@snapshots
  ~687.7 MiB [          ] /@var_log

--- Details: ---------------------------------------------------
- Full path: /mnt/root_btrfs
- Average query duration: 0.0003568 seconds
- Represented size: ~16.00 GiB (234312 samples), ±16.12 MiB
- Logical offsets: ..., 3151940930, 14811403150, 14031532483

--- Explanation:
This node holds samples from chunks in the DATA block group,
which mostly contains file data.
NyXzOr ★★★★
()
Ответ на: комментарий от Vochatrak-az-ezm

если сжатие BtrFS прописано в fstab, то дефрагментировать руками не надо. Файлы сжимаются автоматически, в момент записи

думаю тут ты ошибаешся, включил сжатие в фстабе, дефрагментировал, перезагрузил. Фиксируем?
Записал кучу разных файлов. Своб место чуть больше 2 гигов. Снова на шару сделал дефрагментацию - своб места стало больше 3 гигов.

Снова записал кучу файлов, осталось 1.2 гиг своб.места. Презагрузил - 800мегабайт, снова сделал дефрвгментацию - 1.3 свободного места

Sapetuko ★★
() автор топика
Ответ на: комментарий от NyXzOr

Думаю дело в том что btrfs и парагон (или клонзилла) по разному понимают, что такое незанятое место

похоже все завязано на это. Сам первичный топик наполнил всякими тестами, по сути важны последние два.
Наполнил раздел файлами, удалил, дефрагментировал, сделал бекап парагоном - 20GB

Sapetuko ★★
() автор топика
Ответ на: комментарий от Sapetuko

Теперь восстановлю арч из бекапа и все это проделаю с ним
Потом с нуля поставлю арч и опять повторю. Там все будет видно.

Есть у меня подозрение что бтрфс утилиты на арче из за того что они новые - очищают каким то образом свободное место при дефрагментации или работают по другому

Sapetuko ★★
() автор топика
Последнее исправление: Sapetuko (всего исправлений: 2)
Ответ на: комментарий от Vochatrak-az-ezm

вот сейчас ищу возможность перейти на дебиан сид и там снова попробовать, может дело в утилитах бтрфс

где проблема не могу знать но в арче парагон нормально делает бекап бтрфс раздела
в дебиане в самом начале если ничего не записывать тоже обьем не обчень большим получается но если записывать и удалять файлы то идет в разнос

клонезилла на всех дистрах делает нормального веса бекапы

Sapetuko ★★
() автор топика
Последнее исправление: Sapetuko (всего исправлений: 1)
Ответ на: комментарий от Vochatrak-az-ezm

довольно забавная штука получается. Вот что сделал.

было так
btrfs   defaults,subvol=@rootfs,compress=zstd:1 0       0

а  сделал так(из арча взял что то, откуда то еще взял параметры)
rw,relatime,ssd,space_cache=v2,autodefrag,subvolid=5,subvol=@rootfs,discard,compress=zstd:1      0 1

перезагрузился, дефрагментировал, сделал бекап - 15гигов, ни о чём.
Далее заполнил раздел полностью, дефрагментировал(там уже ошибки были ведь места свободного около 100мегабайт), после дефрага показывало килобайты своб.места.. Удалил все чем наполнил и сразу бекап парагоном и 4GB

Затем снова загрузил дебиан, дефрагментировал снова(теперь уже без ошибок ведь свободно 16.5 гигабайтов), снова бекап парагоном и снова 4GB

Sapetuko ★★
() автор топика
Последнее исправление: Sapetuko (всего исправлений: 3)
Ответ на: комментарий от Vochatrak-az-ezm

после изменения ключей монтирования я еще записал и удалил данные и только потом вес бекапов стал нормальным

тоже самое впрочем я делал до всего этого, тогда не помогло

Sapetuko ★★
() автор топика
Последнее исправление: Sapetuko (всего исправлений: 1)