The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Линус Торвальдс пояснил, в чём проблемы реализации ZFS для я..."
Отправлено Аноним, 12-Янв-20 06:26 
> Это есть практически в любой Линуксовй ФС: ext2/3/4, reiserfs, xfs,...

Вы, похоже, не шарите. Или перепутали с другими *links. Которые оперируют не блоками а файлами целиком, что как бы большая разница. Симлинками и хардлинками нельзя сослаться на середину вон того файла. Reflinks работает на блочном уровне - там так можно.

Эта фича есть в всего 2 ФС. Изначально ее сделали btrfs а потом в шапке кой-как прикрутили к XFS. А на самом деле очень крутая фича для работы с VM и образами дисков.

> Это называется Copy-on-write (CoW). Это, да, умеют не многие.

Reflinks более или менее завязан на семантику CoW. Суть в том что изначально при cp --reflink все блоки нового файла ссылаются на блоки старого. Поэтому хотя это формально иной файл, копия почти не занимает места. Однако когда копия (или оригинал) меняются, измененные блоки уже фактически копируются, описание файла апдейтится ФС чтобы отсылать уже туда. Так строится новый вид файла. И программы видят два вполне независимых файла которые можно независимо менять.

Для программ это два совершенно независимых файла, с которыми можно работать как с 2 разными файлами. Они будут хранить разные данные, если это надо (разные блоки будут "unshared").

В чем пойнт? Можно например за несколько секунд поднять 10 одинаковых VM с 20-гиговым диском из шаблона. У каждой будет свой диск, никак не завязаный на соседей или шаблон. Изначально оно почти не займет дополнительного места, а дальше по мере работы VM - смотря насколько их диски разойдутся в состояниях. В хучшем случае постепенно может стать 10 файлов где не шарится ни 1 блок - и тогда это займет 200 гигз. Но во первых наихучший случай почти никогда не наступает, а во вторых - есть разница: случился ли это плавно, при работе VM, или же вы будете ждать копиривания 200 гигз при подъеме виртуалок в самом начале.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру