LINUX.ORG.RU
решено ФорумAdmin

zfs snapshot разжуйте плз

 ,


0

1

Хочу понять , как оно работает.

Вот есть у меня блок информации

[0][0][1][1][0]

я делаю снепшот @snap1, его размер 0, так как он ничем не отличается от состояния системы.

дальше я меняю состояние системы , пишу в первый блок 1 вместо 0

[1][0][1][1][0]

и делаю снепшот @snap2

он тоже размером 0, так как он ничем не отличается от состояния системы.

но что в этот момент происходит с первым снепшотом? он ведь уже отличается от состояния системы. Выходит , что zfs меняет первый снепшот? А если я его экспортировал в файл?

Еще интереснее, если я делаю много итераций , при каждое итерации делаю инкрементый снепшот от последнего и затем удаляю пару промежуточных. Zfs будет менять те снепшоты, что остались в хвосте?

Прежде чем запустить эту магию в продакшен, а хочу точно знать как оно работает. Мне не нужно магии в продакшене :)

★★★★

Последнее исправление: constin (всего исправлений: 1)

пишу в первый блок

Нет. Пишешь в неиспользуемый блок. Занятое пространство при этом увеличивается, т.е теперь хранится два состояния твоего первого блока(до снапшота, и после).

anonymous
()
Ответ на: комментарий от anonymous

Нет. Пишешь в неиспользуемый блок. Занятое пространство при этом увеличивается, т.е теперь хранится два состояния твоего первого блока(до снапшота, и после).

Из этого выходит, что если я затер файл в 1GB, и записал другой файл в 1GB, то размер пула (именно пула) увеличился на 1GB? И вроде как только если я храню снепшот до этой операции? Если я удаляю снепшот, то блоки где лежал стары файл освобождаются?

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

что если я затер файл в 1GB

Размер пула при этом не меняется.

и записал другой файл в 1GB, то размер пула (именно пула) увеличился на 1GB?

Да.

Если я удаляю снепшот, то блоки где лежал стары файл освобождаются?

Да, отмечаются свободными.

anonymous
()
Ответ на: комментарий от constin

Из этого выходит, что если я затер файл в 1GB, и записал другой файл в 1GB, то размер пула (именно пула) увеличился на 1GB?

На два. Удалённые файлы по-прежнему хранятся снапшотом.

Я создал пул, залил в него около 500G, создал снапшот и удалил чуть больше 250G:

NAME             USED  AVAIL  REFER  MOUNTPOINT
temp             489G   410G    23K  none
temp/temp        489G   410G   220G  /mnt/temp
temp/temp@meow   268G      -   488G  -
mord0d ★★★★★
()
Ответ на: комментарий от mord0d

На два. Удалённые файлы по-прежнему хранятся снапшотом.

Ну не на два. 1Gb уже был ( файл стерся, блок остался) + 1 Gb записали еще. Итого +1 Gb от состояния , когда уже существовал первый файл.

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

На два. Удалённые файлы по-прежнему хранятся снапшотом.

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

залил в него около 500G, создал снапшот и удалил чуть больше 250G:
USED 489G

Всё правильно. Иначе, по твоим словам должно быть занято 750.

anonymous
()
Ответ на: комментарий от anonymous

Всё правильно. Иначе, по твоим словам должно быть занято 750.

Так я не дописывал туда после удаления ничего.

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

Так я не дописывал туда после удаления ничего.

Зелёный? Ты же писал только-что, что у тебя при удалении увеличивается занятое пространство.

anonymous
()
Ответ на: комментарий от anonymous

Не увеличивается, а сохраняется. Увеличивается при дозаписи.

Если ТС удалил 1G, осталось занято столько же; если ТС после удаления записал ещё 1G, занято на 1G больше.

Мой пример показывает лишь про удаление, дозапись и так понятна.

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

На два.

Скажи ещё, что не врывался в этот тред с этой фразой.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.