Я настроил /dev/sda3
на своем SSD для кэширования /dev/sdb3
на моем жестком диске как /dev/bcache0
, используя bcache в Ubuntu 13.10 (ядро 3.11.0-14-generic). Я отформатировал его как ext4
.
В настоящее время я монтирую /
(на моем SSD) и /home
(bcache), используя эти опции fstab
# / (root) -> /dev/sda2 (SSD)
UUID={uuid for /dev/sda2} / ext4 discard,noatime,nodiratime,errors=remount-ro 0 1
# /home -> { /dev/bcache0 -> { /dev/sda3 -> /dev/sdb3 } }
UUID={uuid for /dev/bcache0} /home ext4 defaults 0 2
Что мне интересно, есть ли какие-либо опции монтирования (например, сбросить (TRIM) ), noatime и т. д.) полезны при монтировании bcache или, если bcache самостоятельно занимается оптимизацией файловой системы для разделов SSD и HDD.
Пожалуйста, дайте мне знать, если я не прояснил свой вопрос, спасибо.
discard
является особым случаем: bcache (я думаю) будет использовать его для сброса секторов, но не будет передавать его в стек, если вы явно не попросили об этом (echo 1 |sudo tee -a /sys/block/*/bcache/discard
, который запомнится через перезагрузки). Наилучшим примером производительности является то, что ваша файловая система отправляет сбросы (что означает, что вы должны установить флаг в /etc/fstab
), а bcache передает их тогда и только тогда, когда ваш SSD поддерживает SATA 3.1 (поддержка TRIM в очереди).
Ваша файловая система способна определять bcache как нечто вроде SSD (вращение = 0 в sysfs), которое она может использовать для настройки себя немного по-другому. Помимо discard
и noatime
, я не думаю, что существует реальная необходимость отклоняться от ext4 по умолчанию .
Если вы поместите discard в аргументы монтирования fstab для файловой системы на устройстве bcache, то файловая система будет выдавать команды TRIM для bcache для удаленных блоки. Теоретически bcache может использовать входящие команды TRIM в качестве подсказок для освобождения кэшированных данных, но я не думаю, что это так, и в Интернете есть подсказки, что bcache вообще не понимает входящие команды TRIM (я нашел один непроверенный отчет об ошибках) .
Однако bcache может сам отправлять команды TRIM при удалении сегментов на своем кеширующем SSD-устройстве. По умолчанию это не включено, потому что TRIM не ставится в очередь на дисках до SATA3.1, поэтому он работает медленнее, но на современных твердотельных накопителях включение сброса дает лучшую производительность.
TLDR; не помещайте «discard» в /etc/fstab для файловой системы на устройстве bcache, но разрешите отбрасывание bcache в /sys/block/*/bcache/discard, если ваше устройство кэширования является современным твердотельным накопителем SATA3.1.