Я главным образом нашел bcache к комплекту мной лучше, но из-за обсуждения сегодня я приехал для тестирования dm-кэша. Я не нашел большой документ записи, как сделать так, таким образом, я думал, что мог также зарегистрировать и совместно использовать здесь - и этим делают "доступными для поиска".
Таким образом, как на самом деле настроить dm-кэш на Ubuntu?
Я запускал на этой информации о , вытаскивают больше всего из Вашего nvme, но также и man lvmcache
хороший ресурс.
я имею (извините) не больше диски вокруг:
/dev/sda2 (931G slow)
/dev//dev/nvme0n1 (372.6G fast)
Основная установка:
$ sudo pvcreate /dev/sda2
Physical volume "/dev/sda2" successfully created.
$ sudo pvcreate /dev/nvme0n1
Physical volume "/dev/nvme0n1" successfully created.
$ sudo vgcreate cache /dev/sda2 /dev/nvme0n1
Volume group "cache" successfully created
$ sudo lvcreate -L 200G -n origin_device cache /dev/sda2
Logical volume "origin_device" created
$ sudo lvcreate -L 60G -n cache_block cache /dev/nvme0n1
Logical volume "cache_block" created.
$ sudo lvcreate -L 2G -n cache_meta cache /dev/nvme0n1
Logical volume "cache_meta" created.
$ sudo lvconvert --type cache-pool /dev/cache/cache_block --poolmetadata /dev/cache/cache_meta
WARNING: Converting logical volume cache/cache_block and cache/cache_meta to pool's data and metadata volumes.
THIS WILL DESTROY CONTENT OF LOGICAL VOLUME (filesystem etc.)
Do you really want to convert cache/cache_block and cache/cache_meta? [y/n]: y
Converted cache/cache_block to cache pool.
$ sudo lvconvert --type cache /dev/cache/origin_device --cachepool /dev/cache/cache_block
Logical volume cache/origin_device is now cached.
После этого можно использовать то устройство, "как обычно". Я также создал не кэшируемое устройство как ссылку для базового теста:
$ sudo lvcreate -L 200G -n origin_device_reference cache /dev/sda2
Logical volume "origin_device_reference" created.
$ sudo mkfs -t xfs /dev/cache/origin_device
$ sudo mkfs -t xfs /dev/cache/origin_device_reference
И смонтированный это
$ sudo mkdir /mnt/lv-xfs
$ sudo mkdir /mnt/lv-xfs-cached
$ sudo mount /dev/cache/origin_device_reference /mnt/lv-xfs
$ sudo mount /dev/cache/origin_device /mnt/lv-xfs-cached
После того, как эта моя установка была похожа на это:
$ lsblk (filtered of other disks)
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931.5G 0 disk
|-sda2 8:2 0 931G 0 part
| |-cache-origin_device_reference 252:4 0 200G 0 lvm /mnt/lv-xfs
| `-cache-origin_device_corig 252:3 0 200G 0 lvm
| `-cache-origin_device 252:0 0 200G 0 lvm /mnt/lv-xfs-cached
nvme0n1 259:0 0 372.6G 0 disk
|-cache-cache_block_cdata 252:1 0 60G 0 lvm
| `-cache-origin_device 252:0 0 200G 0 lvm /mnt/lv-xfs-cached
`-cache-cache_block_cmeta 252:2 0 2G 0 lvm
`-cache-origin_device 252:0 0 200G 0 lvm /mnt/lv-xfs-cached
$ sudo dmsetup table
cache-cache_block_cdata: 0 125829120 linear 259:0 2048
cache-origin_device_reference: 0 419430400 linear 8:2 423626752
cache-cache_block_cmeta: 0 4194304 linear 259:0 125831168
cache-origin_device: 0 419430400 cache 252:2 252:1 252:3 128 1 writethrough smq 0
cache-origin_device_corig: 0 419430400 linear 8:2 2048
знать, что dm-кэш развился много. Существуют все еще многие руководства, которые рекомендуют настроить кэш с "dmsetup сообщение...", но что все - часть старой "mq" политики. См. Документ Ядра. В эти дни Стохастическая мультиочередь (smq) является значением по умолчанию, которое рассматривают выше, и приезжает без любых настраивающих кнопок. Это пошло, до, чтобы отбросить "mq", так как Ядро 4.6 и сделать является псевдонимом к smq политике.
Так очень основное сравнительное тестирование с двумя медленными синхронизациями io последовательные дисковые поисковые роботы и две aio случайных горячих точки (и не все поисковые роботы, соответствующие на кэш, но горячие точки легко, делают). Существует больше детали на результатах, если Вы хотите посмотреть. Результаты намного лучше, чем без кэша, но тестовый сценарий никоим образом не был достаточно сложен для проверки этого во всех подробностях.
Uncached
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.10 0.20 259.95 126.45 1840.00 599.32 12.63 65.96 170.43 126.56 260.62 2.59 100.00
dm-4 0.00 0.00 260.05 126.65 1840.00 599.32 12.62 65.99 170.37 126.53 260.39 2.59 100.00
READ: io=1109.4MB, aggrb=1891KB/s
WRITE: io=370212KB, aggrb=616KB/s
Cached
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.85 1.75 395.75 112.00 1679.40 9.01 33.18 83.44 82.97 83.44 2.52 100.00
nvme0n1 755.05 0.00 159339.95 0.25 873790.40 16.00 10.97 25.14 0.16 0.16 0.00 0.01 100.12
dm-0 0.00 0.00 156881.90 395.95 873903.00 1679.40 11.13 58.35 0.37 0.16 84.19 0.01 100.12
dm-1 0.00 0.00 160095.25 0.25 873791.00 16.00 10.92 25.41 0.16 0.16 0.00 0.01 100.10
dm-2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-3 0.00 0.00 1.75 396.60 112.00 1679.40 8.99 34.50 86.51 82.97 86.52 2.51 100.00
READ: io=415116MB, aggrb=708356KB/s
WRITE: io=1004.8MB, aggrb=1714KB/s
Это не должно становиться обсуждением bcache, dm-кэша... поскольку я заявил вначале, что обычно предпочитаю bcache также, но это не точка. Но если OTOH, которые у Вас есть любые рекомендации для dm-кэша для добавления, не стесняются использовать раздел комментария.