Як змусити Debian використовувати розмір фізичного сектора на жорсткому диску?


9

Я щойно придбав декілька нових накопичувачів на 3 ТБ. У них є фізичні 4k сектори, але є якийсь шар, який забезпечує логічні сектори 512B (див. Таблицю розділів нижче).

Для того, щоб спробувати отримати трохи більше швидкості з моїх жорстких дисків, я хотів би позбутися цього логічного шару і фактично використовувати фізичний 4k сектори. Однак я не можу зрозуміти, як це зробити (або навіть якщо це можливо) зі сторінок fdisk та розірваного доступу або з пошуку в Google. Хтось знає, як це можна зробити?

Щодо того, що це актуально, ця сторінка демонструє, що помірне вирівнювання секторів може вже досягати 25% різниці швидкостей для читання, а понад 2500% для запису в деяких випадках! Позбавлення логічних секторів на користь фізичних осіб повинно ще більше підвищити швидкість. Дякую!

$ parted /dev/sdc
GNU Parted 2.3
Using /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: ATA WDC WD30EZRX-00M (scsi)
Disk /dev/sdc: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  3001GB  3001GB               zfs
 9      3001GB  3001GB  8389kB

PS Мені не хвилюються дані на накопичувачах, я просто грав з різними файловими системами. Крім того, це моя перша публікація тут, тому, будь ласка, повідомте мені, чи слід мої повідомлення форматувати по-іншому тощо.

Відповіді:


5

Відповідно до інтерв'ю з представником Western Digital, опублікованого на веб-сайті http://www.techarp.com/showarticle.aspx?artno=734 , немає можливості відключити емуляцію 512e на поточних накопичувачах розширеного формату.

[...] Чи запропонує Western Digital оновлення мікропрограмного забезпечення, яке б перетворило поточні накопичувачі розширеного формату, що працюють у режимі емуляції, у власний формат?

На жаль, немає. Поточні накопичувачі розширеного формату не можуть бути перетворені для запуску у рідному форматі за допомогою оновлення програмного забезпечення


1
Якщо це не можливо зробити на рівні диска, що робити на рівні операційної системи. Тобто, скажіть debian записувати на диск лише 4k-блоки. Або через те, як працює диск, це насправді не покращило б швидкість читання / запису? Дякую!
Новий sysadmin

Цікаве запитання. Якщо кеш запису не було, справді має бути великий вплив, як, наприклад, при написанні невеликих шматочків на флеш-пам’яті. Але оскільки на дисковому диску є кілька МБ кешу, я думаю, це зовсім не буде проблемою. Якщо є послідовне записування до послідовних логічних секторів, накопичувач може просто затримати запис на диск, поки не буде записано вісім логічних секторів. Хоча емуляція логічного сектора у вашому випадку непотрібна, вона, ймовірно, досить швидка, щоб взагалі не сповільнити написання.
Гуркен Папст

Хм. Це здається логічним, лише тоді, чому б сторінка, на яку я посилався в оригінальній публікації, показала значне зниження продуктивності запису для нерівних розділів (тобто тих, які починаються в логічному, а не фізичному секторі) навіть для великих файлів. Якби все, що ви пропонуєте, було цілою історією, я б припустив, що кеш теж справляється із цим штрафом, але це явно не відповідає ........
Новий sysadmin

Оскільки існують суттєві відмінності між файловими системами, я здогадуюсь, що Райзер використовує деякий досить складний візерунок та / або несприятливий розмір блоку під час запису, а алгоритм кешування не здатний усунути кілька записів у той самий сектор, хоча це може зробити для ext4. Хоча це лише здогадка, є ще один момент, чому емуляція 512e не повинна бути штрафом для вирівняних розділів: Якби вона була, виробники, ймовірно, вже реалізували б варіант перетворення емуляції, оскільки це було б тривіально, і конкуренція змусила їх це зробити. .
Гуркен Папст

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