Если кому интересно, сам нашел решение.
У меня для виртуальных машин были сделаны LVM тома, и так как Windows пишет 512байт сектора, и специфика базы такова что куча маленьких транзакций, получался дикий поток мелких записей по 512 байт, который даже flashcache не кешировала, так как они не кратны 4К
Сейчас я перегнал разделы в файлы
dd if=/dev/lv/laylay of=/home/laylay.img
и заменил в xen конфиге машины с phy на file
flashcache c его writeback настроил на раздел, который монтируется в /home
Получается, что гостевая винда теперь в файле меняет по 512 байт, Dom0 в этих случаях меняет целый кластер 4к, и стало бы хуже, но так как теперь заработал writeback у flashcache стало значительно лучше.