7

У меня блестящий новый компьютер с небольшим SSD (120 ГБ) и двумя гигантскими HD с вращающейся ржавчиной (3 ТБ каждый). Я хочу разделить его следующим образом:

  • разделы подкачки (~ 128 ГБ), операционной системы (~ 128 ГБ) и данных (все остальные), разделенные на жесткие диски
  • крошечный загрузочный раздел на SSD
  • все остальное пространство SSD используется для пула кеша
  • пул кэша должен быть разделен между всеми разделами HD, кроме, может быть, не подкачки

Я попытался сделать это с помощью lvmcache и столкнулся со следующими проблемами:

  • Если вы просто создаете кеш-пул очевидным образом (как описано, например, здесь), вы можете назначить его только для кэширования одного источника LV. Так что я мог бы иметь это для ОС или для данных, но не для обоих.

  • Я попытался обойти это, создав "тонкий пул", охватывающий все жесткие диски, подумав, что я могу кэшировать весь тонкий пул, а затем назначить ОС и LV данных из этого, но мне сказали, что невозможно кэшировать тонкий бассейн. (Страница lvmthin не имеет большого смысла, возможно, что я сделал эту часть неправильно.)

У меня нет идей. Кто-нибудь может подсказать, как сделать эту работу? Обратите внимание, что я не женат на lvm, если bcache+ обычный MD (для чередования) может сделать это, или какой-то другой инструмент, о котором я не знаю, то это будет Just Fine Too.

2 ответа2

2

В основном ядре использование одного и того же кеша для устройств с несколькими источниками НЕ поддерживается dm-кешем (это то, что lvmcache использует внизу) из-за гонок, обращающихся к метаданным. Смотрите Re: [dm-devel] dm-cache: можно ли использовать один и тот же кеш с несколькими устройствами-источниками? за комментарий 2013 года от разработчика.

Однако, для полноты, первоначальный разработчик dm-кеша имеет отказ от репозитория для тестирования, который поддерживает «несколько исходных устройств на одном кеш-устройстве» (см. Https://groups.google.com/forum/#!topic/dm-cache/q- lM1t438PU для деталей), но этот код не в основных ядрах.

0

Вы можете создать кешированный том и преобразовать его в тонкий пул.

кеш-пул (данные кеша + метаданные кеша) -> кешированный том (пул кеша + оригинальный большой медленный том) -> кешированный тонкий пул

В этом примере vg0 - это ваша группа томов с физическими томами /dev /small-fast-disk и /dev /big-slow-disk. Все логические тома должны быть в одной группе томов.

создать объем кеш-пула (данные кеша и метаданные кеша одной командой)

lvcreate --type cache-pool --name cachepool --size 128G vg0 /dev/smal-fast-disk

создать объем кеша

lvcreate --type cache --cachepool vg0/cachepool --size 3T --name thincachevol vg0 /dev/big-slow-disk

преобразовать кэшированный том в тонкий том

lvconvert --thinpool vg0/thincachevol

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .