The OpenNET Project / Index page

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

Выключение sync для внешних накопителей в Debian GNU/Linux
Ситуация: после подключения USB-стика при копировании на него информации в особо крупных размерах 
наблюдается скорость около 10-200 килобайт/сек., что есть не очень хорошо, даже просто ужасно.

Кто виноват?
Виноват HAL. Внешние накопители (USB-флешки) он монтирует в режиме синхронной записи данных. 

Что делать?
Нужно изменить настройку одного из файлов конфигурации HAL:
   /etc/hal/fdi/policy/preferences.fdi

отредактируем его, изначально было так (обычно в этот файл мало что вносится):


 <?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
 <deviceinfo version="0.2">
 <!--
  <device>
    <match key="storage.hotpluggable" bool="false">
      <match key="storage.removable" bool="false">
        <merge key="storage.automount_enabled_hint" type="bool">false</merge>
      </match>
    </match>
  </device>
 -->



как видно, всё закомментировано, никаких настроек нет. а сделаем так:

 <?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
 <deviceinfo version="0.2">
  <device>   
    <!-- disable sync for mount -->   
    <match key="block.is_volume" bool="true">   
      <match key="volume.fsusage" string="filesystem">   
        <match key="@info.parent:storage.bus" string="usb"> 
          <merge key="volume.policy.mount_option.sync" type="bool">false</merge>   
        </match>   
      </match>   
    </match>   
  </device> 
 </deviceinfo>



Вытаскиваем железки и перезапустим HAL, с привилегиями суперпользователя выполним:
  /etc/init.d/hal restart


Подключаем железку, получаем, к примеру, на моём стике разность в скорости
возросла с 120-200kB/s до 2.4-12 MB/s.
Зависит от характеристик самой флешки.

Настройки опций монтирования также могут быть найдены внутри директории /usr/share/hal/fdi/

Опции с отключением синхронизации требуют обязательного отмонтирования накопителя!
 
03.11.2008 , Автор: Karbofos
Ключи: mount, flash, usb, hal / Лицензия: CC-BY
Раздел:    Корень / Администратору / Система / Диски и файлы / Монтирование

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, BSD (??), 00:13, 04/11/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Уберите этот совет. После него половина пользователей лишится файлов на флешке если не следелает команду unmount или sync. А во всем обвинят Linux

    =(

     
     
  • 2.3, a (??), 01:08, 04/11/2008 [^] [^^] [^^^] [ответить]  
  • +/
    ...и еще eject, чтобы сбросился внутренний кэш на самом накопителе  --- а то я как-то понять не мог, откуда побитые файлы на внешенм усб-диске
     
     
  • 3.4, User294 (ok), 06:27, 04/11/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >...и еще eject, чтобы сбросился внутренний кэш на самом накопителе  ---

    Это видимо актуально для usb-hdd.Потому что в упор не вдупляю - ГДЕ у флешек кэш?Его там как правило тупо нет потому как он там достаточно бессмысленный =)

     
     
  • 4.13, pavlinux (ok), 20:15, 05/11/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Кэш не у фляжки, а у ОСки в РАМке :)

    С noatime в РАМку кидаюсться указатели, а посля sync_а, или со временем, только их содержимое.

     

  • 1.2, Karbofos (??), 01:02, 04/11/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    просто добавить нужно, что откручивать нужно вручную.
     
  • 1.5, vadiml (?), 09:56, 04/11/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Думаю желательно убрать такой совет ибо больше проблем добавит новичкам.
    Для флешек & Co надо flush ставить (ядра так с 2.6.16..18-го)
     
  • 1.6, Developer (?), 10:42, 04/11/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    новичкам рекоммендуется вообще делать рекурсивный rm из корневого каталога
     
     
  • 2.7, anonimus (?), 14:30, 04/11/2008 [^] [^^] [^^^] [ответить]  
  • +/
    злобно... Бармин?
     
     
  • 3.11, Доктор Хаус (?), 09:38, 05/11/2008 [^] [^^] [^^^] [ответить]  
  • +/
    это моя цитата
     

  • 1.8, szh (ok), 17:18, 04/11/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Опции с отключением синхронизации требуют обязательного отмонтирования накопителя!

    Здесь надо было написать команду которая это делает!

    Кроме того для разделов FAT32 уже есть давно такая замечательная опция flush !!!
    В OpenSuse 11 да и наверно в других современных дистрибутивов флешки монтируются с ней по умолчанию, и данный совет для FAT флешек вреден. Use "flush", dont use "nosync"

     
     
  • 2.9, szh (ok), 17:20, 04/11/2008 [^] [^^] [^^^] [ответить]  
  • +/
    В смысле use nosync with flush for FAT
     
     
  • 3.10, Аноним (10), 01:44, 05/11/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Ja v google poischu. A drugie - net.
    Napishite svoi zamechanija v wiki.
     

  • 1.14, pavlinux (ok), 20:22, 05/11/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Подключаем железку, получаем, к примеру, на моём стике разность в скорости возросла
    >с 120-200kB/s до 2.4-12 MB/s.

    Юзайте Jet Flash 168 серию !!! 25-30 Mb/s обеспечено, и около 8 с синками.

     
     
  • 2.15, Доктор Хаус (?), 11:28, 06/11/2008 [^] [^^] [^^^] [ответить]  
  • +/
    сходи к окулисту, ибо:
    > Зависит от характеристик самой флешки.
     
     
  • 3.16, pavlinux (ok), 00:46, 08/11/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем к акулитсу, и так видно - х..вая флэшка. :)
      
     


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




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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