抽象的:我已经从每日 PPA 安装了enhanceIO 和enhanceio-dkms,网址为http://ppa.launchpad.net/enhanceio/daily/ubuntu/给出版本 0+git20130406-0~69~ubuntu14.04.1。一切似乎都运行良好,只是 udev 规则在重启时不会触发。
HDD 是 LVM 逻辑卷(仅包含数据,不包含根或引导),而 SSD 是 SSD 上的分区。我也尝试过整个 SSD。重启后,/proc/enhanceio
只包含一个“文件”,version
。
我已将 SSD 引用为直接设备 ( /dev/sde2
) 和 by-id 链接 ( ata-ADATA_SP600_7D4020501003-part2
),但无济于事。重启后,我必须使用以下命令从头开始重新创建缓存:
sudo eio_cli 创建 -d /dev/nzbzzz/resources -s /dev/sde2 -m wb -c ResourcesCache
udev 规则引用这样的设备:
ENV{ID_SERIAL}=="ADATA_SP600_7D4020501003", ATTR{分区}=="2", GOTO="EIO_CACHE"
和
ENV{DM_UUID}=="LVM-AxrxJLdH2BHt9FV71H7Zk73Qj1uGdc1WiJJppGgpiqLlbs0W4XnCz2vhAPl17i9w", ENV{DEVTYPE}=="磁盘", GOTO="EIO_SOURCE"
规则并未被修改,它们只是eio_cli create
命令创建的。
有任何想法吗 ?
答案1
您不需要重建缓存,eio_cli enable 就足够了。我可以确认创建的 udev 规则在 Ubuntu 14.04 中被破坏了。
这是重启后重新激活现有缓存的简短输出。虽然我使用了 RO,但对于您使用 WB 模式的情况,如果在 fsck 运行后重新创建或启用它,则可能会丢失数据。基本上,您需要关闭自动 vg 激活或修复 udev 规则。
root@xxx:/etc/udev/rules.d# eio_cli enable -d /dev/md126 -s /dev/md125 -p lru -c eio_vgdata1
root@xxx:/etc/udev/rules.d# cat /proc/enhanceio/
eio_vgdata1/ version
root@xxx:/etc/udev/rules.d# cat /proc/enhanceio/eio_vgdata1/stats
reads 0
writes 0
read_hits 0
read_hit_pct 0
write_hits 0
write_hit_pct 0
dirty_write_hits 0
dirty_write_hit_pct 0
cached_blocks 75858
rd_replace 0
请记住,通过选择使用 Ubuntu,您已经选择在系统中不安装任何可靠组件。
如果我正确地修复了这一块,我会在这里发帖。