<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Комментарии к записи: О &#8220;дефрагментации&#8221;</title>
	<atom:link href="http://blog.aboutnetapp.ru/archives/874/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.aboutnetapp.ru/archives/874</link>
	<description>Системы хранения данных как предмет разговора</description>
	<pubDate>Wed, 07 Apr 2021 12:06:44 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>Автор: Дмитрий Прокудин</title>
		<link>http://blog.aboutnetapp.ru/archives/874#comment-1269</link>
		<dc:creator>Дмитрий Прокудин</dc:creator>
		<pubDate>Tue, 12 Apr 2011 05:29:18 +0000</pubDate>
		<guid isPermaLink="false">http://blog.aboutnetapp.ru/archives/874#comment-1269</guid>
		<description>Роман, здравствуйте!
Хорошая статья, все Вы в ней говорите правильно.</description>
		<content:encoded><![CDATA[<p>Роман, здравствуйте!<br />
Хорошая статья, все Вы в ней говорите правильно.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: romx</title>
		<link>http://blog.aboutnetapp.ru/archives/874#comment-1263</link>
		<dc:creator>romx</dc:creator>
		<pubDate>Mon, 11 Apr 2011 11:16:51 +0000</pubDate>
		<guid isPermaLink="false">http://blog.aboutnetapp.ru/archives/874#comment-1263</guid>
		<description>Dmitriy:
Тут вот какой механизм. Как вы знаете (из моей статьи про снэпшоты, например;) снэпшоты в NetApp устроены таким образом, что при создании он места на диске не занимает. 
Мы имеем один набор блоков, на который ссылается "таблица размещения файлов" текущего, активного состояния файловой системы, и "таблица" снэпшота. Таблица сама занимает какие-то килобайты, но это неважно. Обратившись в активную файловую систему мы, руководствуясь ее таблицей считаем блоки данных, и обратившись к таблице снэпшота считаем те же данные.

Теперь на диск начинаются записи. Запись в WAFL реализована таким образом (опять же, вы это знаете из статьи про WAFL;), что в ней не перезаписываются старые блоки, а пишутся новые, если на старые уже есть активная ссылка из "таблицы" снэпшотов.
Значит если мы (пере)запишем (для WAFL это одна и та же операция) один блок на WAFL, то мето, занимаемое на диске снэпшотом, которое было 0, увеличится на один блок. Запишем два - увеличится на два. Перезапишем все блоки - объем тома увеличится вдвое, потому что у нас в нем теперь будет два комплекта блоков, один - тот который был вначале, он "заперт" в снэпшоте, а второй - блоки, которые мы перезаписали новым значением. 

Снэпшот и файловая система теперь не шарят ни одного блока, каждый ссылается на свой набор в N-блоков. Занятое пространство увеличилось вдвое. Один набор блоков занимает active filesystem, второй - снэпшот.

Это та ситуация, ради которой рекомендовалось в свое время устанавливать fractional reserve равным 100% от емкости тома, чтобы в случае массированной перезаписи не столкнуться с исчерпанием свободных блоков на запись.

С точки зрения WAFL дефрагментация это та же самая запись. Она берет и "трогает" все (или почти все) блоки диска по очереди, перезаписывая их.
То что при этом содержимое блоков не меняется WAFL не видит, у нее нет таких средств, видеть содержимое блоков, для нее есть просто операция записи в блок NNN, изменяющая его, для чего надо выделить новый блок из пула свободных. Тот же, который при этом "удаляется" не может быть удален, так как у нас есть снэпшот, на него ссылающийся.

Таким образом если у вас есть том с данными, и есть снэпшот с него, , один или несколько, которые занимают, допустим 10-15% (на самом деле это не они "занимают", это новые и измененные блоки активной файловой системы, с момента взятия снэпшота, занимают) и вы запустили дефрагментацию, то по мере ее работы, вы увидите, как объем снэпшотов на диске в выводе df стремительно увеличивается.

UPD (12.04): Уточню, что это НЕ ОТНОС??ТСЯ к процессу реаллокации, выполняемой внутри системы хранения, ее встроенными средствами (reallocate on / reallocate start [/vol/volname])
Реаллокация выполняется внутренними средствами и "знает" о том как выплняется этот процесс, он для системы "внутренний", происходит с учетом ее внутреннего устройства, увеличения объема места, занимаемого снпшотами, в результате реаллокации, не происходит.

Поэтому надо разделять "дефрагментацию" на стороне хост-системы, и "дефрагментацию" (я в дальнейшем, для избежания путаницы буду их называть "дефрагментация" и "реаллокация") внутри самой системы хранения, силами ее собственной OS Data ONTAP.</description>
		<content:encoded><![CDATA[<p>Dmitriy:<br />
Тут вот какой механизм. Как вы знаете (из моей статьи про снэпшоты, например;) снэпшоты в NetApp устроены таким образом, что при создании он места на диске не занимает.<br />
Мы имеем один набор блоков, на который ссылается &#8220;таблица размещения файлов&#8221; текущего, активного состояния файловой системы, и &#8220;таблица&#8221; снэпшота. Таблица сама занимает какие-то килобайты, но это неважно. Обратившись в активную файловую систему мы, руководствуясь ее таблицей считаем блоки данных, и обратившись к таблице снэпшота считаем те же данные.</p>
<p>Теперь на диск начинаются записи. Запись в WAFL реализована таким образом (опять же, вы это знаете из статьи про WAFL;), что в ней не перезаписываются старые блоки, а пишутся новые, если на старые уже есть активная ссылка из &#8220;таблицы&#8221; снэпшотов.<br />
Значит если мы (пере)запишем (для WAFL это одна и та же операция) один блок на WAFL, то мето, занимаемое на диске снэпшотом, которое было 0, увеличится на один блок. Запишем два - увеличится на два. Перезапишем все блоки - объем тома увеличится вдвое, потому что у нас в нем теперь будет два комплекта блоков, один - тот который был вначале, он &#8220;заперт&#8221; в снэпшоте, а второй - блоки, которые мы перезаписали новым значением. </p>
<p>Снэпшот и файловая система теперь не шарят ни одного блока, каждый ссылается на свой набор в N-блоков. Занятое пространство увеличилось вдвое. Один набор блоков занимает active filesystem, второй - снэпшот.</p>
<p>Это та ситуация, ради которой рекомендовалось в свое время устанавливать fractional reserve равным 100% от емкости тома, чтобы в случае массированной перезаписи не столкнуться с исчерпанием свободных блоков на запись.</p>
<p>С точки зрения WAFL дефрагментация это та же самая запись. Она берет и &#8220;трогает&#8221; все (или почти все) блоки диска по очереди, перезаписывая их.<br />
То что при этом содержимое блоков не меняется WAFL не видит, у нее нет таких средств, видеть содержимое блоков, для нее есть просто операция записи в блок NNN, изменяющая его, для чего надо выделить новый блок из пула свободных. Тот же, который при этом &#8220;удаляется&#8221; не может быть удален, так как у нас есть снэпшот, на него ссылающийся.</p>
<p>Таким образом если у вас есть том с данными, и есть снэпшот с него, , один или несколько, которые занимают, допустим 10-15% (на самом деле это не они &#8220;занимают&#8221;, это новые и измененные блоки активной файловой системы, с момента взятия снэпшота, занимают) и вы запустили дефрагментацию, то по мере ее работы, вы увидите, как объем снэпшотов на диске в выводе df стремительно увеличивается.</p>
<p>UPD (12.04): Уточню, что это НЕ ОТНОС??ТСЯ к процессу реаллокации, выполняемой внутри системы хранения, ее встроенными средствами (reallocate on / reallocate start [/vol/volname])<br />
Реаллокация выполняется внутренними средствами и &#8220;знает&#8221; о том как выплняется этот процесс, он для системы &#8220;внутренний&#8221;, происходит с учетом ее внутреннего устройства, увеличения объема места, занимаемого снпшотами, в результате реаллокации, не происходит.</p>
<p>Поэтому надо разделять &#8220;дефрагментацию&#8221; на стороне хост-системы, и &#8220;дефрагментацию&#8221; (я в дальнейшем, для избежания путаницы буду их называть &#8220;дефрагментация&#8221; и &#8220;реаллокация&#8221;) внутри самой системы хранения, силами ее собственной OS Data ONTAP.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Dmitriy</title>
		<link>http://blog.aboutnetapp.ru/archives/874#comment-1262</link>
		<dc:creator>Dmitriy</dc:creator>
		<pubDate>Mon, 11 Apr 2011 10:55:48 +0000</pubDate>
		<guid isPermaLink="false">http://blog.aboutnetapp.ru/archives/874#comment-1262</guid>
		<description>Роман, а можно подробней, про то как дефрагментнация на уровне ОС, может увеличить размер снапшота на уровне СХД? Ведь данные при дефрагментации, "перемащаются" (по сути уплотняются, смещаются к началу "физического" диска (Lun)), как такая перетасовка данных может увеличить размер снапшота? Ведь на NetApp при этом не возникает новых данных...</description>
		<content:encoded><![CDATA[<p>Роман, а можно подробней, про то как дефрагментнация на уровне ОС, может увеличить размер снапшота на уровне СХД? Ведь данные при дефрагментации, &#8220;перемащаются&#8221; (по сути уплотняются, смещаются к началу &#8220;физического&#8221; диска (Lun)), как такая перетасовка данных может увеличить размер снапшота? Ведь на NetApp при этом не возникает новых данных&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
