Чи варто дефрагментувати жорсткий диск, що працює на віртуальній машині?


18

Я знаю, що запустити Defrag на SSD немає сенсу (насправді це погана ідея). Що з віртуальною машиною, що працює на SSD, чи варто дефрагментувати її жорсткий диск, оскільки в основному той же самий доступ до жорсткого диска?


Не знаю , чому це на SO, але може мати відношення: stackoverflow.com/questions/281527 / ...
Der Hochstapler

VSS може спричинити зростання сховища, якщо ви не використовуєте дефрагментатор, відомий VSS.

Тільки якщо опція defrag є частиною вашого програмного забезпечення для віртуалізації.
qasdfdsaq

Відповіді:


14

Я дефрагмую свої VHD, але з міркувань простору, а не часу:

Я використовую динамічно виділений варіант для VHD, тому вони починаються невеликими і розширюються за потребою. Але оскільки VHD (не обов'язково файли) стає фрагментованим, він розширюється, щоб включати всі виділені блоки. Дефрагментація VHD - це перший крок до його ущільнення.


Коефіцієнт простору може бути актуальним, оскільки VM знаходиться на SSD, хоча загалом дефрагментація чого-небудь на SSD не потрібна з міркувань продуктивності і не рекомендується.
Bigbio2002

3

Дефрагментацію SSD немає необхідності. Звичайний жорсткий диск повинен обертатися, щоб знайти (частини) файлів. SSD є порівнянним з оперативною пам'яттю, всі файли можна отримати з однаковою затримкою.

Вікіпедія стверджує, що "ефективність читання не змінюється залежно від місця зберігання даних на SSD"


Надайте посилання на статтю у Вікіпедії .
wizlog

1
@wizlog Voila;)
Саймон Вербеке

2

Це лише моя думка, я не маю результатів тестів, щоб їх підкріпити. Ось приблизне наближення до того, як все, можливо, відбувається:

Справжня ОС:

  1. Програма запитує дані X (швидко)
  2. ОС запитує драйвер диска для даних X (швидко)
  3. Фізичний диск отримує дані X і повертає їх в ОС ( повільно, якщо фрагментарно )

Тут було б еквівалентне ланцюг команд у ВМ:

  1. Програма VM запитує дані X (швидко)
  2. VM OS запитує дані X (швидко)
  3. Хост VM просить реальну ОС отримати дані X, що зберігаються у віртуальному диску (швидко)
  4. Real OS просить драйвер диска отримати дані X (швидко)
  5. Фізичний диск отримує дані X і повертає їх в ОС ( повільно, якщо фрагментарно ).

Як бачите, в обох випадках фрагментація дійсно стає проблемою на етапі операції, коли фізичний жорсткий диск намагається прочитати дані, і це відбувається в реальній ОС поза контекстом VM. До цього все, ймовірно, відбувається в пам'яті.

На закінчення, оскільки ми знаємо, що SSD не страждають від фрагментації в реальній ОС, і що проблема фрагментації в VM, ймовірно, виникає лише на останньому фізичному етапі операції, я б припустив, що дефрагментація або вашої віртуальної ОС, або Файл віртуального диска у вашій основній ОС не покращить продуктивність на SSD, при цьому настільки ж згубний / марний, як і дефрагментація вашої реальної ОС.

Редагувати: І якщо це правильно, це чортово вагомий привід поставити VM на SSD! На жорсткому диску, фрагментація на будь-якому етапі (гостьова ОС, файл віртуального диска, реальна ОС) порушить лінійність та спричинить фрагментацію на кроці фізичного диска.


2

Незалежно від того, чи має ваша віртуальна машина доступ до даних, які зберігаються на традиційному магнітному жорсткому диску або електронному SSD, фрагмент файлів Windows NTFS та вільний простір уповільнюють швидкість доступу додатків, що запитують дані. Фрагментація файлів NTFS та вільного простору відбувається набагато частіше, ніж ви могли здогадатися. Це може призвести, як тільки ви встановите операційну систему. Це може статися під час встановлення програм або оновлень системи, доступу до Інтернету, завантаження та збереження фотографій, створення електронної пошти, офісних документів тощо. Це нормальне явище та поведінка комп'ютерної системи, але це негативно впливає на понад всі показники роботи програми та системи. У міру того, як відбувається фрагментація, комп'ютерна система та базове сховище виконують більше роботи, ніж потрібно. Кожен запит вводу / виводу займає вимірювану кількість часу. Навіть у SSD середовищі немає такого поняття, як "миттєвий" запит вводу / виводу. Кожен раз, коли програма вимагає прочитати або записати дані, і цей запит розділиться на додаткові запити вводу / виводу, це призведе до ще більшої роботи. Ця додаткова робота викликає затримку саме в той самий момент часу.

З часом дискові диски ставали швидшими, але так само є і процесори. Насправді розрив між різницею швидкостей між жорсткими дисками та процесором фактично розширився. Це означає, що програми можуть отримати багато циклів процесора, але вони все ще голодують, щоб отримати дані зі сховища. Більше того, кількість даних, що зберігаються, різко зросла. Подумайте лише про всі ці цифрові фотографії, зроблені та поділені протягом свят. Кожна фотографія має розмір приблизно 1 Мб, тепер вони перевищують 15 МБ на фотографію, а деякі виходять за рамки цього. Редагування та відтворення відео та зберігання цифрових фільмів також стали досить популярними, і в результаті програми маніпулюють сотнями гігабайт даних. При типових розмірах кластерних дисків 4 кб, файл розміром 15 Мб потенційно може бути фрагментований на майже 4000 розширень. Це означає додаткові 4, Для запиту чи запису файлу потрібно 000 запитів вводу / виводу диска. Незалежно від типу зберігання, для завершення операції просто знадобиться більше часу.

Фізичне розміщення даних на SSD насправді не має значення, як це відбувається на звичайних магнітних жорстких дисках. З SSD немає затримки обертання або шукати часу, щоб боротися з цим. Багато експертів вважають, що фрагментація вже не є проблемою, але швидкість доступу до даних програми не просто визначена в цих термінах. Кожен виконаний запит вводу / виводу займає вимірювану кількість часу. SSD-файли швидко, але вони не миттєві. Файлова система Windows NTFS не поводиться інакше, оскільки базове сховище - це SSD проти HDD, і тому фрагментація все ще відбувається. Скорочення непотрібних вводу-виводу за рахунок запобігання та викорінення фрагментації зменшує кількість запитів вводу-виводу та, як наслідок, прискорює час реакції даних програми та покращує загальний термін служби SSD. По суті,

Крім того, SSD вимагає видалення старих даних до того, як над ними будуть записані нові дані, а не просто написання старої інформації, як на HDD. Це збільшує подвійний знос і може спричинити серйозні проблеми зі швидкістю роботи та терміном служби SSD. Більшість виробників SSD мають дуже складні технології вирівнювання зносу, щоб допомогти у цьому. Принциповим питанням є зниження швидкості запису через фрагментацію вільного простору. Невеликі вільні пробіли, розкидані по SSD, призводять до того, що файлова система NTFS записує файл у фрагментованих фрагментах на ті невеликі вільні пробіли. Це спричиняє спричинення більш випадкового трафіку вводу / виводу, який повільніше, ніж послідовні операції.

Я маю результати порівняння, щоб підтвердити це. Якщо ви хочете, опублікуйте коментар із запитом на ці результати, і я буду радий поділитися ними з вами.


Говард Батлер, ви новачок на цьому сайті, ласкаво просимо. Взагалі особисто публікувати особисту інформацію в Інтернеті дуже радимо.
wizlog

@wizlog Немає нічого поганого в опублікуванні особистої інформації в Інтернеті, якщо інформація є власною. Однак для цілей на StackExchange розміщення вашої контактної інформації або "підпис" у відповіді зайве. Користувачі можуть перейти до вашого профілю для отримання додаткової інформації, якщо вони бажають.
iglvzx

@iglvzx Я просто писав коментар, який по суті міг би запропонувати те саме ... Як рекомендує ця відповідь.
wizlog

2

Що стосується оригінального питання про традиційну дефрагментацію SSD, я згоден, це погана ідея, але існують конкретні рішення, які вирішують проблеми руху файлів та тривалості SSD.

Віртуальна машина, на якій працює Windows як її операційна система, фрагментація все ще буде відбуватися, а комбінований ефект додаткового трафіку вводу-виводу зменшить швидкість та ефективність не тільки гостьових систем, але і хоста. І Microsoft, і VMware рекомендують вирішити фрагментацію на рівні гостей.

Ось чому…

  1. Програма запитує дані X

  2. Запит обробляється NTFS.sys

  3. Атрибути файлів вивчаються ($ MFT), і якщо дані не містяться в одній мірі (фрагмент), то для кожного ступеня / фрагмента створюються додаткові запити вводу / виводу для задоволення вихідного запиту даних.

  4. Кожен із цих запитів надсилається до драйвера накопичувача диска.

  5. Після отримання даних вони передаються назад в стек користувачеві / додатку.

Кожна віртуальна машина Windows передає цей тип трафіку вводу-виводу в систему хосту. Якщо структура файлової системи фрагментована на рівні Гость / Віртуальна машина, то це перетворюється на додатковий і непотрібний трафік вводу-виводу, який повинен обробляти Хост і виконувати обробку резервного сховища. Це ще більше ускладнюється, коли ви додаєте все більше віртуальних машин. Фактично, ви можете мати фрагментацію всередині фрагментації на рівні файлової системи хоста.

Будь-які дані зберігаються на SSD або традиційному жорсткому диску, якщо ви працюєте з Windows, файлова система NTFS стане фрагментованою, і в результаті ви ніколи не досягнете виробничої номінальної швидкості та пропускної здатності завдяки фрагментації файлів NTFS та вільного простору. Ефекти можна виміряти за допомогою PerfMon, переглянувши середню довжину черги диска для читання, середню довжину черги запису та найголовніше розділити IO / сек.


1

Починаючи з Windows Server 2008 та Windows Vista, будьте обережні з запланованим завданням дефрагментації Windows за замовчуванням.

Його можна відключити за допомогою: schtasks /change / tn “microsoft\windows\defrag\ScheduledDefrag” /disable

або за допомогою PowerShell:

Get-ScheduledTask ScheduledDefrag | Disable-ScheduledTask

Витягнуто з: http://www.sysadmit.com/2015/10/vmware-y-gpo-defrag-windows.html


0

Я щойно дефрагментував VMLite XPMode VM за допомогою дефрагментації Windows, розміщеної на 240Gb INTEL SSDSC2CW240A3.

Розмір VM для попереднього дефрагментації на хості - 7,83Gb (використаний простір у C: у VM, 5,81Gb 121Gb)

Дефрагментація повідомлення - 9,86Gb (використаний простір на C: у VM, 5,80Gb 121Gb)

Не результат, який я очікував, і я відновив попередню версію дефрагментації.


-1

Ні, не дуже. Є такі речі, як Disperker "Hyperfast", але я поняття не маю, наскільки ефективні ці технології. (Це, можливо, просто рипофф, тому вони не випадуть з ринку після того, як SSD стане основним.)


Гіперфаст, звучить як чарівний соус.
Джафін
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.