The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Оценка поддержки в Linux жестких дисков с размером сектора 4 Кб

15.02.2010 18:05

В связи с использованием в новых моделях жестких дисков Western Digital Caviar Green нестандартного размера сектора, увеличенного с 512 байт до 4 Кб, предпринята попытка оценки степени поддержки таких дисков в Linux. В итоге были получены удручающие результаты: из-за отсутствия выравнивания записываемого кластера данных по границе физического сектора размером 4096 байт (выравнивание производится по 512-байтовым логическим секторам), наблюдается падение производительности более чем в три раза. Проблема возникает из-за того, что при разбивке диска некорректно вычисляется оптимальное смещение для первичного дискового раздела, который по умолчанию создается начиная с позиции LBA 63, оставаясь не выравненным по границе цилиндров.

  1. Главная ссылка к новости (http://www.osnews.com/story/22...)
Лицензия: CC-BY
Тип: английский / Обобщение
Короткая ссылка: https://opennet.ru/25428-linux
Ключевые слова: linux, disk, lba, sector
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (47) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Damon (??), 18:32, 15/02/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ну чтож, ждем реакции разработчиков ядра. Не думаю, что сей насущный вопрос надолго останется без внимания...
     
     
  • 2.10, dry (ok), 19:46, 15/02/2010 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Много "крутых" слов ни о чем.
    Если бы сэр удосужился прочитать статью, а не лепил херь по принципу "первый нах",
    то стало бы очевидно, что ядро тут как раз не при чем. Проблема в программах нарезки разделов, которые не учитывают физический размер сектора.
     
  • 2.11, Султан (?), 20:13, 15/02/2010 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Просвещайтесь:
    http://www.fcenter.ru/online.shtml?articles/hardware/hdd/28121


     
     
  • 3.14, Damon (??), 20:53, 15/02/2010 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >Просвещайтесь:
    >http://www.fcenter.ru/online.shtml?articles/hardware/hdd/28121

    Спасибо, обязательно просвячусь...

     
  • 2.31, kay (ok), 08:47, 16/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Опаньки... Может поэтому у меня винт 1.5T тормозит? При форматировании тормоза начинаются на 80 секторе при создании inodes...
     
  • 2.49, Аноним (-), 12:28, 17/02/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    почему то уверен, что соответствующие патчи радикально все улучшающие будут уже в следующем релизе
     

  • 1.2, ddsa (?), 18:33, 15/02/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/

    я совсем не в теме, поэтому спрашиваю, логическое взаимодействие с диском осуществляется только драйвером ОС или BIOS материнской платы/контроллера тоже должен поддерживать работу с сектором нестандартного размера?
     
     
  • 2.9, dalco (?), 19:16, 15/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    BIOS большинству операционок нужен только для того, чтобы начать загрузку, дальше уже работают драйвера. Это хорошая новость.
    "Умные" контроллеры со своим BIOS'ом и процессором (а ля RAID-контроллеры e.t.c.) скорее всего не учитывают существование "неправильных" дисков, т.е. будут тормозить или глючить до смены прошивки (если таковая возможна). Это плохая новость.

    P.S. Вообще, стандарт на 4К сектора еще чуть ли не в 2003 году был принят, так что это, по идее, не проблемы дисков WD :)

     

  • 1.7, Аноним (7), 19:03, 15/02/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интересно, у freebsd те же проблемы?
     
     
  • 2.15, xxx (??), 20:58, 15/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    http://lists.freebsd.org/pipermail/freebsd-arch/2009-December/009770.html

    Да, схожие с описанными здесь. Разработчики уже думают над решением этих проблем.

     
     
  • 3.30, Ян Злобин (?), 04:35, 16/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Да, схожие с описанными здесь. Разработчики уже думают над решением этих проблем.

    Нет.  Если верить этому: http://lists.freebsd.org/pipermail/freebsd-arch/2009-December/009770.html

    UFS runs incredibly well on 4k blocks, and we should exploit that
    to the fullest extent, and if we really want to jerk chains, we should
    push RAID3 in 4+2 and 8+3 configs aggressively, it performs great,
    both under read and write, and Windows cannot do it.

    то все отлично.

     
     
  • 4.44, xxx (??), 15:04, 16/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Ну там довольно длинное обсуждение было, и судя по всему всё поддерживается, но не совсем так как хотелось бы. Надо в ркопашку ФС выравнивать и т. д.  Поэтому насколько я помню дополнительные телодвижения от разработчиков всё таки потребуются.
     

  • 1.12, svchost (ok), 20:38, 15/02/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А в чем преимущество 4096 сектора?
     
     
  • 2.16, anonymous (??), 21:11, 15/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    1. Увеличение объема жесткого диска за счет того, что меньше места расходуется на служебные нужды.
    2. Увеличение шансов на восстановление неправильно считавшихся битов за счет того, что под контрольную сумму отводится больше места.
     

  • 1.17, аноним (?), 21:45, 15/02/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Linux, равно как и FreeBSD, отлично поддерживают сектора любого размера. Проблема в другом - их не поддерживает "другая ось", и ориентируясь на нее, производители жестких дисков над 4kb секторами сделали костыльную прослойку из-за которой ОС видны 8 512байтовыех секторов. Дальше - закон дырявых абстракций в действии. Под FreeBSD я никогда не выравнивал разделы по 63 секторам, во многом потому что никогда не использовал yблюдскую MBR разметку - это и без 4кб секторов было актуально на стрипах, иначе получался заметный оверхед.
    А все что нужно сделать разработчикам - поменять дефолты на человеческие, и выковырять любые сообщения о "неверной геометрии" чтобы не смущать пользователей. Для FreeBSD это актуально - постоянно жалуются что sysinstall ругается на геометрию, когда никакой геометрии уже лет 5 как не существует.
     
     
  • 2.18, cvsup (ok), 23:15, 15/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Целиком поддерживаю. Кроме того, в freebsd-arch есть длинное обсуждение по этой теме:
    http://lists.freebsd.org/pipermail/freebsd-arch/2009-December/009770.html
     
  • 2.34, letsmac (?), 10:39, 16/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    "Другая ось" их таки поддерживает. Молчком, но поддерживает. Вместо MBR давно можно использоваться EFI.
     
     
  • 3.55, крф (?), 09:01, 20/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >"Другая ось" их таки поддерживает. Молчком, но поддерживает. Вместо MBR давно можно
    >использоваться EFI.

    самая свежая и перед этим - да.
    а самая популярная - нет.

     
  • 2.46, Michael Shigorin (ok), 23:01, 16/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >это и без 4кб секторов было актуально на стрипах

    См. тж. http://www.pythian.com/blogs/411/aligning-asm-disks-on-linux и другие ссылки внизу http://freesource.info/wiki/HCL/XranenieDannyx/SoftwareRAID (гругря "пропускаем первый мегабайт, если уж надо dos partition table").

     

  • 1.19, pavlinux (ok), 00:12, 16/02/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Э-э-э-э , типа

    # mkfs.reiserfs -b 4096
    # mkfs.ext[234] -b 4096 -I 4096
    # mkfs.btrfs -s 4096
    # mkfs.cramfs -b 4096  
    ...
    XFS только 2k понимает.


     
     
  • 2.22, Yuriy (??), 02:18, 16/02/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    man mkfs.xfs
    -s sector_size
    The default sector_size is 512 bytes. The minimum value for  sector  size  is 512; the maximum is 32768 (32 KiB).

     
     
  • 3.24, pavlinux (ok), 03:30, 16/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >man mkfs.xfs
    >-s sector_size
    >The default sector_size is 512 bytes. The minimum value for  sector
    > size  is 512; the maximum is 32768 (32 KiB).
    >

    -i ?

     
     
  • 4.25, Yuriy (??), 03:40, 16/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    -i inode_options
    это размер индексного дескриптора
     
     
  • 5.28, pavlinux (ok), 03:53, 16/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >-i inode_options
    >это размер индексного дескриптора

    Ну... для Линя минимальная лог. ед. это же инода.
    Чудесно начинают работать харды, когда inode = sector = block (ака BLK_SIZE || PAGE_SIZE)

     
     
  • 6.32, sceptic (?), 10:31, 16/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Итак? На чём сошлись?
    /me как раз собирался взять такой диск от WD
     
     
  • 7.35, letsmac (?), 10:42, 16/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Итак? На чём сошлись?
    >/me как раз собирался взять такой диск от WD

    /me мацал и такой и от самсунга. Опыт показал, что самсунг холоднее на боллее чем 10 градусов (два месяца аптайм), и на 10-20%  производительнее в режиме NAS / динамические диски. Корейцы одерживают Win.

     
     
  • 8.39, sceptic (?), 11:02, 16/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Что за модель я хочу 1-1 5tb... текст свёрнут, показать
     
  • 8.40, hate (ok), 11:05, 16/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    IMHO Диски от гнусмаса одноразовое гуано Найти к ним tools для низкоуровневого... текст свёрнут, показать
     
     
  • 9.45, letsmac (?), 16:00, 16/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Samsung, не Seagate - у них багов с переполнением логов и необходимости перепрош... текст свёрнут, показать
     
     
  • 10.47, Michael Shigorin (ok), 23:13, 16/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Не могу согласиться -- угораздило купить один 2 5 , после этого пришлось выгугли... текст свёрнут, показать
     
     
  • 11.52, аноним (?), 20:09, 18/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Ну Hitachi - гно В массиве из 6 дисков на 3 постоянно есть сектора, которые не ... текст свёрнут, показать
     
     
  • 12.54, Michael Shigorin (ok), 13:19, 20/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Вы, как бы это сказать помягче, воинствующий чайник Во-первых -- есть проб... текст свёрнут, показать
     
  • 6.43, Yuriy (??), 12:42, 16/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Ну... для Линя минимальная лог. ед. это же инода.

    inode это не данные и даже не метаданные и тем паче не лог. ед. Это только дескриптор данных. Ко всему прочему в xfs inodes сгрупированы по 64 айнода. Плюс ко всему в описании xfs от sgi не двусмысленно записано
    sb_inodesize
    Size of the inode in bytes. The default is 256 (2 inodes per standard sector) but can be made as large as 2048 bytes when creating the filesystem.

     

  • 1.20, pavlinux (ok), 00:20, 16/02/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Честно говоря не фкурю зависимость :)




    [512][512][512][512][512][512][512][512][512][512][512][512][512][512][512][512]
    [                 4096                 ][                 4096                 ]


    Если у меня фаил 4Mb + 256 бaйт  - какая мне х... разница,
    что  диск за одно обращение впишет 256 + 3768 нулей, что 256 + 256 нулей.
    Обращение-то одно? И пипец, с сектором в 4K, 3 кило с лишним потеряем.

      

     
     
  • 2.21, pavlinux (ok), 01:18, 16/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > И пипец, с сектором в 4K, 3 кило с лишним потеряем.

    Всё, вурил, - народ перестал покупать диски,
    теперь у населения 1G картинок будет занимать 4Gb.

     
  • 2.23, sergej (??), 03:15, 16/02/2010 [^] [^^] [^^^] [ответить]  
  • –2 +/
    нормальные ФС заполняют остатки блоков совмещая хвосты нескольких файлов в одном блоке. А так да - конечно же это опять мировой заговор производителей железа.
     
     
  • 3.26, pavlinux (ok), 03:47, 16/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >нормальные ФС заполняют остатки блоков совмещая хвосты нескольких файлов в одном блоке.

    Только не ясно как работает диск при этом??? Ведь для него же одна логическая ед. это 1 сектор.

    Можно, наверно как-то так...



    [  512  ][  512  ][  512  ][  512  ][  512  ][  512  ][  512  ][  512 ]
    [                         4096                                        ]
    [sdfr00000000000000000000000000000000000000000000000000000000000000000]



    считать сектор, если не все нули, тогда найти диапазон от 0 и до конца сектора.
    записать в переменную 3768 байт и записать новую инфу обратно в этот сектор.
    Жалко что харды не умеют журналировать :)

     
     
  • 4.29, denis111 (ok), 04:24, 16/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Они своим смартом занимаются, куда им ещё журналировать :)
     
  • 3.48, Michael Shigorin (ok), 00:29, 17/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >нормальные ФС заполняют остатки блоков совмещая хвосты нескольких файлов в одном блоке.

    Не знаю как "нормальные", а конкретно для reiserfs 3.6 рекомендуется -o notail.

     
  • 2.37, azure (ok), 10:56, 16/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    А размер блока файловой системы у тебя тоже 512? :) Обычно больше. Зато тысяча четырехкилобайтных блока займет _физически_ на блине меньше места чем 8 тысяч 512-байтных блоков, поэтому и быстрее считается при прочих равных.
     

  • 1.33, Frank (??), 10:35, 16/02/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как сказали знающие люди, parted уже умеет правильно работать с 4к сектором, шумиха высосана из пальца.
     
     
  • 2.36, sceptic (?), 10:47, 16/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Как сказали знающие люди, parted уже умеет правильно работать с 4к сектором,
    >шумиха высосана из пальца.

    пруфф? ещё лучше если на релизченджлог, или на коммит мессадж.

     
     
  • 3.38, Frank (??), 10:59, 16/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Читаем каменты к статье по первой ссылке в новости.
     
  • 3.41, Frank (??), 11:06, 16/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    или читаем на первоисточнике, http://www.gnu.org/software/parted/features.shtml :
    Support for logical sector sizes not equal to 512

    А вот и цитата из FAQ (http://www.gnu.org/software/parted/faq.shtml):

    Does GNU Parted support physical sector sizes not equal to 512?
        Starting from 1.7, GNU Parted will automatically align partitions to the physical sector size reported by an ATAPI-compliant drive.

     
     
  • 4.42, Frank (??), 11:08, 16/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Замечу так же, что parted 1.7.1 лежит на ФТП с 27.05.2006, т.е. проблемы нет уже более двух с половиной лет. Но слоупоки, юзающие fdisk, такие слоупоки :)
     

  • 1.50, RedRat (ok), 14:01, 17/02/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мне пару дней назад подарили такой 2Тб винт WD20EARS с 4Кб секторами. Жалко, что WD не оставила возможности выключить в своих винтах ублюдочный режим эмуляции 512-байтных секторов. Я бы предпочёл ручками выровнять разделы и создать ФС с 4Кб блоками, чем наблюдать падение производительности при записи мелких файлов.
     
     
  • 2.53, аноним (?), 20:11, 18/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Мне пару дней назад подарили такой 2Тб винт WD20EARS с 4Кб секторами.
    >Жалко, что WD не оставила возможности выключить в своих винтах yблюдочный
    >режим эмуляции 512-байтных секторов. Я бы предпочёл ручками выровнять разделы и
    >создать ФС с 4Кб блоками, чем наблюдать падение производительности при записи
    >мелких файлов.

    Противоречия тут не находите?

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру