Основной набор dm-кэша

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

Таким образом, как на самом деле настроить dm-кэш на Ubuntu?

4
задан 9 November 2016 в 21:25

1 ответ

Я запускал на этой информации о , вытаскивают больше всего из Вашего 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-кэша для добавления, не стесняются использовать раздел комментария.

5
ответ дан 1 December 2019 в 09:32

Другие вопросы по тегам:

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