Надзвичайно повільна швидкість запису на зашифрованому зовнішньому диску на Mavericks


10

Запис на повністю зашифровану флешку на Mavericks надзвичайно повільний.

Модель приводу, яку я використовував для тестування, була Kingston DataTraveler Ultimate 3.0 G3 (64 ГБ). Я перевіряв швидкість передачі, читаючи / записуючи великий файл з / на як зашифрований, так і незашифрований диск. Я тестував на поточному Macbook з Mavericks і на більш старій машині з Mountain Lion. Я використовував Disk Utility для форматування накопичувача у форматі Mac OS Extended (Journaled) та Mac OS Extended (Journaled, Encrypted).

MacBook Pro (2013) з USB 3.0 під керуванням OS X 10.9.2 (13C64)

Запис: 86,16 Мб / сек (зашифровано: 0,62 Мб / сек)
Читання: 181,66 Мб / сек (зашифроване: 151,15 Мб / сек)

MacBook Pro (2007) з USB 2.0 під керуванням OS X 10.8.5 (12F45)

Запис: 23,57 Мб / сек (зашифровано: 5,04 Мб / сек)
Читання: 36,23 Мб / сек (зашифроване: 37,87 Мб / сек)

Як видно на старшій машині, швидкість запису явно знижується під час запису на зашифрований об'єм, але все ще приблизно в десять разів швидше порівняно з новою машиною, що працює під управлінням Mavericks. Чи може це бути якась нещодавно представлена ​​проблема у FileVault або CoreStorage?

Оновлення (2014-06-28)

Здається, USB-накопичувач мав апаратний дефект з самого початку. У мене з'явився привід заміни (та сама модель), який все ще не дає результатів, яких я очікував, але принаймні зашифрована швидкість запису MBP 2013 року зараз однакова з MBP 2007 року.

MacBook Pro (2013) з USB 3.0 під керуванням OS X 10.9.3 (13D65)

Запис: 135,41 Мб / сек (зашифровано: 9,29 Мб / сек)
Читання: 196,22 Мб / сек (зашифровано: 187,04 Мб / сек)

MacBook Pro (2007) з USB 2.0 під керуванням OS X 10.8.5 (12F45)

Пишіть: - Мб / сек (зашифровано: 9,39 Мб / сек)
Читання: - МБ / сек (зашифровано: 37,79 Мб / сек)

Це все ще залишає питання, хоча чому зашифрована швидкість запису на USB-накопичувач на MBP 2013 року становить менше десяти відсотків від звичайної швидкості запису. Я також порівняв швидкість читання / запису до та після активації FileVault на внутрішній SSD 2013 MBP і там я взагалі не міг виявити жодного уповільнення.


1
Нічого собі - нормально читати / писати та шифрувати записи добре виглядають. Але ця зашифрована запис болісно повільна. Який інструмент вимірює МБ / с? Чи можете ви відтворити ці результати за допомогою Blackmagic (безкоштовно на MAS)
bmike

Я використовував просту однолінійку Bash з використанням time, ddі awk. Blackmagic дає мені ті ж результати: goo.gl/bn32fC (незашифрований) проти goo.gl/yghyqA (зашифрований).
Стефан Шмідт

Я підозрюю, що швидкість читання для зашифрованого обсягу відсутня, оскільки тривалість зчитування коротша, ніж інтервал вибірки пропускної здатності Блекмагіка
Стефан Шмідт

Відповіді:


2

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

По-перше, поведінка при записі: на відміну від енергонезалежної пам'яті (речі, що використовується в пам'яті комп'ютера) або на жорстких дисках, де будь-який біт можна записати на 0 або 1 в будь-який час, флеш-пам’ять має два основних стани: записане та стерте. У межах "записаних" є 0 і 1. Коли вам потрібно записати у флеш-пам'ять, ви повинні написати цілий блок, який наразі знаходиться в стираному стані. Програмне забезпечення файлової системи в ОС може знати, які блоки є безкоштовними, але контролер і зберігання на флеш-пристрої цього не роблять. Спеціальний спосіб для ОС повідомити SSD, щоб зробити блоки доступними, був розроблений для "підключених до шини" SSD: він називається TRIM. Стеки протоколів USB, наскільки мені відомо, не підтримують TRIM. Таким чином, флеш-пам’ять продовжує заповнюватися до тих пір, поки не буде фактично стертих блоків, і в цей момент файлова система повинна стерти і переписати блоки, прочитавши їх, об'єднання нових даних, стирання та виписування їх назад. Ось чому ви бачите зменшення продуктивності запису з невеликих файлів на SSD з часом.

Цікаві особливі обставини зашифрованих томів: залежно від способу роботи шифрування, він може фактично зашифрувати весь том, заповнивши всі блоки випадковими даними, навіть якщо блоки фактично не використовуються та містять нулі. Отже, коли ви вмикаєте FileVault (або іншим чином включаєте шифрування основного сховища), він в основному споживає весь об'єм, не залишаючи місця для операцій запису. Файлова система повинна постійно читати, стирати і переписувати блоки, щоб вона могла переписати їх із будь-якими зашифрованими даними, які ви хочете розмістити на ній.

Зараз я прямо зараз скажу, що це спекуляція, заснована на розумному розумінні того, як все працює, але є люди, які насправді знають деталі, які можуть виправити або покращити моє пояснення, і я сподіваюся, що вони це зроблять.


Це справді звучить дуже розумно. Я зробив кілька копань, і здається, що для зовнішніх накопичувачів eSATA і Thunderbolt обидва підтримують TRIM. Це може бути цікаво щодо зовнішніх SSD, але, мабуть, не для палець, тому що у Macs немає інтерфейсів eSATA, і це не схоже на доступні накопичувачі Thunderbolt, вони стануть доступними незабаром: goo.gl/sDM1au
Stefan Schmidt

1
На всякий випадок, коли хтось замислюється: Тим часом моєму вирішенню є створення зашифрованого розрідженого пакета на диску, розміром якого є об'єм накопичувача. Я не робив жодних орієнтирів, але це виглядає приблизно нарівні з записом незашифрованих даних на диск.
Штефан Шмідт

@StefanSchmidt зашифрований розріджений пакет, як описано тут? blog.fosketts.net/2015/07/22/…
Брад Купіт

@BradCupit Так, але я синхронізую вміст розрідженого пакета, а не самого розрідженого пакета, тому я монтую розріджений пакет hdiutil attach, а потім використовую rsyncдля синхронізації з моєю локальною папкою, потім відключаю розріджений пакет hdiutil detachі виймаючи дисковий диск diskutil eject.
Штефан Шмідт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.