Если у меня есть SSD и жесткий диск в системе, SSD может действовать как кэш для жесткого диска?

find /var/logs/ -name 'foo*.log' -print0 | tail -r | xargs -0 bar

Должен управлять способом, которым Вы хотите (это было протестировано на Mac OS X, и у меня есть протест ниже...).

Из страницы справочника для находки:

-print0
         This primary always evaluates to true.  It prints the pathname of the current file to standard output, followed by an ASCII NUL character (charac-
         ter code 0).

В основном Вы находите файлы, которые соответствуют Вашей строке + шарик и завершающий каждого с символом NUL. Если Ваши имена файлов содержат новые строки или другие странные символы, находка должна обработать это хорошо.

tail -r

берет стандартный вход через канал и инвертирует его (отметьте это tail -r печать весь вход к stdout и не только последние 10 строк, который является стандартным значением по умолчанию. man tail для большего количества информации).

Мы затем передаем это по каналу к xargs -0 :

-0      Change xargs to expect NUL (``\0'') characters as separators, instead of spaces and newlines.  This is expected to be used in concert with the
         -print0 function in find(1).

Здесь, xargs ожидает видеть аргументы, разделенные символом NUL, от которого Вы передали find и инвертированный с tail.

Мой протест: я считал это tail не играет хорошо с завершенными пустым указателем строками. Это работало хорошо над Mac OS X, но я не могу гарантировать, что это имеет место для всех *, отклоняет. Действовать осторожно.

Я должен также упомянуть, что Параллель GNU часто используется в качестве xargs альтернатива. Можно проверить это, также.

Я могу пропускать что-то, таким образом, другие должны вмешаться.

6
24.01.2013, 16:06
5 ответов

bcache мог бы быть тем, что Вы ищете. Это может действовать как запись через или кэш с обратной записью.

ZFS и Btrfs также имеют функции для помещения чаще используемых блоков на флэш-память.

9
27.01.2020, 20:21

Если у Вас есть ряд файлов, для которых Вам нужна низкая задержка, можно установить объем RAID-1, который зеркально отражает содержание SSD на жестком диске. Объявите компонент жесткого диска как “запись главным образом”, так, чтобы SSD был одобрен при чтении. Например, если sda Ваш SSD и sdb Ваш жесткий диск, создайте раздел sda1 это покрывает целый диск, создайте раздел sdb1 из того же размера, и создают объем RAID с

mdadm --create -l 1 -n 2 /dev/md0 /dev/sda1 --write-mostly /dev/sdb1
4
27.01.2020, 20:21

Существует flashcache. Это используется Facebook для ускорения систем хранения DB.

Я еще не попробовал его, таким образом, Ваш пробег может варьироваться.

3
27.01.2020, 20:21

Так как dm-кэш Linux 3.9 был объединен в дерево магистрали. Согласно документации, это специально предназначено с этой целью.

Это имеет целью улучшать производительность блочного устройства (например, шпиндель) путем динамичной миграции некоторых его данных к более быстрому, устройству меньшего размера (например, SSD).

Это также обеспечит, запись, кэширующаяся некоторым, расширитесь:

Если обратная запись, значение по умолчанию, будет выбрана затем запись к блоку, который кэшируется, то перейдет только к кэшу, и блок будет отмечен грязный в метаданных.

О виртуальном гибридном диске требуется видеть:

Это решение картопостроителя устройства позволяет нам вставлять это кэширование на разных уровнях стопки dm, например, выше устройства данных для пула тонкой резервации памяти.

Другими словами, dm-стек позволяет Вам использовать любое блочное устройство / раздел для становления единственным кэшируемым виртуальным диском как устройством хранения, точно так же, как a /dev/md0 в наборе набега программного обеспечения.

2
27.01.2020, 20:21

LVM также позволяет это:

Гибридные тома можно создавать с помощью целевого кэша dm -, который позволяет одному или нескольким быстрым устройствам хранения, таким как твердотельные накопители на основе флэш-памяти -, выступать в качестве кэша для одного или нескольких более медленных жестких дисков.

2
27.01.2020, 20:21

Теги

Похожие вопросы