Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Накопители (SSD, HDD, USB Flash) (http://forum.oszone.net/forumdisplay.php?f=53)
-   -   [решено] VM на SSD: стоит ли? (http://forum.oszone.net/showthread.php?t=254722)

AlexBosh 22-02-2013 19:43 2096902

Как Вы думаете, стоит ли создавать виртуальную машину на SSD (вирт-й диск гигов на 80-т) или не нужно его подвергать различным мучением, а просто установить на него только ОС, необходимый системный софт и сдувать с него пылинки?

AMDBulldozer 22-02-2013 20:01 2096906

Цитата:

Цитата AlexBosh
Как Вы думаете, стоит ли создавать виртуальную машину на SSD »

Это зависит от того, как Вы планируете использовать виртуальную машину. Если на ней будут запускаться приложения с большим объемом файловых операций, то износ ячеек SSD будет практически таким же, как если бы Вы запускали ту же программу на host-системе.

vadblm 22-02-2013 23:03 2097042

Цитата:

Цитата AlexBosh
Как Вы думаете, стоит ли создавать виртуальную машину на SSD (вирт-й диск гигов на 80-т) или не нужно его подвергать различным мучением, а просто установить на него только ОС, необходимый системный софт и сдувать с него пылинки? »

Что-то непонятен смысл затеи. Если вы таким образом думаете сохранить ресурс SSD, то увы, такое применение будет наоборот плохо сказываться — хост система будет работать с одним большим файлом, в котором будет ежесекундно происходить запись, соответственно, TRIM, которая занимается очисток ячеек после удаления, имхо, не будет работать.
Так что
Цитата:

Цитата AMDBulldozer
износ ячеек SSD будет »

даже больше.

AlexBosh 23-02-2013 01:54 2097152

Тогда откажусь от этой затеи.

AMDBulldozer 23-02-2013 02:17 2097155

Цитата:

Цитата vadblm
Если вы таким образом думаете сохранить ресурс SSD, то увы, такое применение будет наоборот плохо сказываться — хост система будет работать с одним большим файлом, в котором будет ежесекундно происходить запись, соответственно, TRIM, которая занимается очисток ячеек после удаления, имхо, не будет работать. »

Простите, почему Вы так решили? Файлы существуют только с точки зрения файловой системы. Возможности драйвера диска ограничены исключительно блоковыми операциями. Для него нет никакой разницы, производится ли запись в блок, принадлежащий одному большому файлу или одному из тысячи мелких.
В случае изменения содержимого какого-то из блоков файла, контроллер записывает новое содержимое блока в другое место, а старое помечает как недействительное (invalidated).
Через некоторое время контроллер выполнит операцию объединения блоков SSD (merging) и самостоятельно пометит освободившиеся блоки SSD как кандидаты на стирание. Поэтому никаких проблем с освобождением блоков SSD (которое в случае удаления файла выполняет команда TRIM) не возникнет.

Пояснение по использованию терминов: по термином "блок" понимается блок файловой системы. Часто имеет размер 4096 байт. В терминологии MS называется кластером.
Блок SSD - минимальная единица данных над которой может быть выполнена операция стирания. Обычно имеет размер 512 кБ. Физическому блоку HDD соответствует так называемая "страница" SSD, которая в большинстве случаев имеет размер 4096 байт.

vadblm 23-02-2013 11:12 2097216

Я несколько коверкано выразился, по большому счёту хотел сказать, что при удаления файла в ВМ блоки на хосте всё равно не освобождаются, TRIM не выдаётся, ресурс SSD снижается.

ShaddyR 23-02-2013 12:40 2097249

AMDBulldozer, думаю, я понял смысл сказанного vadblm: внутри файла VM команду TRIM никто посылать не будет (если там, конечно, не будет стоять ОС последнего поколения, что вряд ли), а значит блоки, принадлежащие данному файлу, в автоматическом режиме не будут обрабатываться контроллером.

(вынес сообщения в отдельную тему)

Fikys 23-02-2013 13:37 2097272

Цитата:

Цитата ShaddyR
значит блоки, принадлежащие данному файлу, в автоматическом режиме не будут обрабатываться контроллером »

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

exo 23-02-2013 14:03 2097285

из опыта. Было две МВ на ССД + система. Через 1,5 года бенчмарки упали ниже обычного HDD 7200.
Да и визуально было заметно - производительности ССД нет.
После форматирования (erase) производительность вернулась на уровень 95% ( + Был добавлен обычный диск для ВМ.

AMDBulldozer 23-02-2013 15:00 2097307

Цитата:

Цитата ShaddyR
AMDBulldozer, думаю, я понял смысл сказанного vadblm: внутри файла VM команду TRIM никто посылать не будет (если там, конечно, не будет стоять ОС последнего поколения, что вряд ли), а значит блоки, принадлежащие данному файлу, в автоматическом режиме не будут обрабатываться контроллером. »

Команда TRIM используется драйвером файловой системы в единственном случае. Когда после удаления файла необходимо пометить все, принадлежавшие этому файлу блоки как свободные. В случае файла образа виртуальной машины это произойдет только после того как пользователю надоест эта игрушка и он удалит образ. Тогда будет выполнена команда TRIM, которая пометит блоки как свободные. В то же время, до момента его удаления файл может быть многократно изменен. Возьмем, к примеру, файл (или раздел) подкачки. Он тоже большого размера, в него тоже интенсивно ведется запись, к нему тоже не применяется команда TRIM. Но ничего не мешает располагать этот файл на SSD.
Все изменения данных в файле (или в разделе - контроллеру без разницы, он их не различает) обрабатываются абсолютно одинаково, независимо от того, является ли этот файл маленьким и временным или большим и постоянным. Повторяю: единственное, для чего нужна команда TRIM - сообщить контроллеру, что блоки, в которых, по его мнению, в данный момент хранится полезная информация, можно перевести из числа занятых в пул свободных.

ShaddyR 23-02-2013 16:45 2097360

Цитата:

Цитата AMDBulldozer
В случае файла образа виртуальной машины это произойдет только после того как пользователю надоест эта игрушка и он удалит образ »

именно так. До того момента все операции изменения содержимого данного файла ОСью VM не регистрируются драйвером материнской ОС. А значит и TRIM не будет выполнен, кроме случая, когда данная команда поддерживается ОС, установленной в VM

vadblm 23-02-2013 18:31 2097409

Цитата:

Цитата ShaddyR
кроме случая, когда данная команда поддерживается ОС, установленной в VM »

Да и в этом случае не будет, т.к. драйвер фс обращается к эмулируемому контроллеру, а не к контроллеру хоста. Хотя… Вероятно, в случае например virtio (драйвера "прямого" доступа), такое возможно.

Да, погуглил, есть по крайней мере один патч для virtio-scsi http://rwmj.wordpress.com/2012/06/12...in-libguestfs/


Время: 06:51.

Время: 06:51.
© OSzone.net 2001-