Запись на полностью зашифрованную флешку на Mavericks происходит крайне медленно.
В качестве модели накопителя я использовал Kingston DataTraveler Ultimate 3.0 G3 (64 ГБ). Я проверил скорость передачи, прочитав / записав большой файл с / на зашифрованный и незашифрованный диск. Я тестировал на текущем Macbook с Mavericks и на более старой машине с Mountain Lion. Я использовал Дисковую утилиту для форматирования диска как Mac OS Extended (Журнальный) и Mac OS Extended (Журнальный, Зашифрованный).
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 на внутреннем твердотельном накопителе MBP 2013 года, и там я вообще не смог обнаружить никакого замедления.
time
,dd
иawk
. Blackmagic дает мне те же результаты: goo.gl/bn32fC (незашифрованный) против goo.gl/yghyqA (зашифрованный).Ответы:
У меня та же проблема, которая, я уверен, связана с тем, как работают операции записи на флэш-памяти и как работает шифрование основного хранилища (или любого целого тома).
Во-первых, поведение записи: в отличие от энергозависимой памяти (используемой в памяти вашего компьютера) или жестких дисков, где любой бит может быть записан в 0 или 1 в любое время, флэш-память имеет два основных состояния: запись и стирание. Внутри «записано» 0 и 1. Когда вам нужно записать во флэш-память, вы должны записать весь блок, который в данный момент находится в стертом состоянии. Программное обеспечение файловой системы в ОС может знать, какие блоки свободны, но контроллер и хранилище на флэш-устройстве этого не знают. Для ОС, «связанной с шиной», был разработан особый способ сообщить SSD о доступности блоков: он называется TRIM. Насколько мне известно, стеки протоколов USB не поддерживают TRIM. Таким образом, в основном, флэш-память продолжает заполняться, пока не будет фактически стертых блоков, после чего файловая система должна стереть и перезаписать блоки, читая их, объединяя новые данные, стирая и записывая их обратно. Вот почему вы видите снижение производительности записи небольших файлов на SSD с течением времени.
Особые обстоятельства зашифрованных томов интересны: в зависимости от того, как работает шифрование, он может фактически зашифровать весь том, заполняя все блоки данными, которые кажутся случайными, даже если блоки фактически не используются и содержат нули. Поэтому, когда вы включаете FileVault (или иным образом включаете шифрование основного хранилища), он в основном потребляет весь том, не оставляя места для операций записи. Файловая система должна постоянно читать, стирать и перезаписывать блоки, чтобы она могла перезаписывать их любыми зашифрованными данными, которые вы хотите поместить в нее.
Сейчас я скажу прямо здесь, что это предположение, основанное на разумном понимании того, как все работает, но есть люди, которые действительно знают детали, которые могут исправить или улучшить мое объяснение, и я надеюсь, что они это сделают.
источник
hdiutil attach
, затем использую егоrsync
для синхронизации с моей локальной папкой, затем размонтирую разреженный комплект сhdiutil detach
и извлекаю дискdiskutil eject
.