I'm trying to use LVMs on multiple machines at once without the use of CLVM. My reason for doing so is that I've found CLVM rather unstable and a pain to get working in the flexible way in which I want it. Given that I know which servers will be connected to an LVM at any one time I've taken to automatically refreshing metadata on machines when an update is made to an LV on another. Whenever an lv is updated by one machine, I simply refresh the metadata for that lv on all machines. The changes propagate just fine.
However, I'm sometimes getting huge error blocks like below when running (in this example) the command lvs
:
/dev/dm-0: read failed after 0 of 4096 at 0: Input/output error
/dev/dm-1: read failed after 0 of 4096 at 0: Input/output error
/dev/dm-2: read failed after 0 of 4096 at 0: Input/output error
/dev/dm-3: read failed after 0 of 4096 at 0: Input/output error
/dev/dm-4: read failed after 0 of 4096 at 0: Input/output error
/dev/dm-5: read failed after 0 of 4096 at 0: Input/output error
/dev/dm-6: read failed after 0 of 4096 at 0: Input/output error
/dev/dm-7: read failed after 0 of 4096 at 0: Input/output error
/dev/dm-8: read failed after 0 of 2048 at 0: Input/output error
These errors don't actually actually seem to stop me doing anything with my logical volumes currently active on the system - but obviously they're not desirable to have have there and suggest a bigger problem. I'm not sure if it's to do with the clustering method I described above or not. I have noticed, however, that it seems to happen after formatting or partitioning an LV. I'd appreciate any clues as to why these errors appear and how I can avoid them.