RFC: GEOM MULTIPATH rewrite
mav at FreeBSD.org
Mon Oct 31 20:10:19 UTC 2011
Attempt to fix some GEOM MULTIPATH issues made me almost rewrite it. So
I would like to present my results and request for testing and feedback.
The main changes:
- Improved locking and destruction process to fix crashes in many cases.
- Improved "automatic" configuration method to make it safe by reading
metadata back from all specified paths after writing to one.
- Added provider size check to reduce chance of conflict with other
- Added "manual" configuration method without using on-disk metadata.
- Added "add" and "remove" commands to manage paths manually.
- Failed paths no longer dropped from GEOM, but only marked as FAIL and
excluded from I/O operations.
- Automatically restore failed paths when all others paths are marked
as failed, for example, because of device-caused (not transport) errors.
- Added "fail" and "restore" commands to manually control FAIL flag.
- GEOM is now destroyed on last provider disconnection. IMHO it is
right to do if device was completely removed.
- Added optional Active/Active mode support. Unlike Active/Passive
mode, load evenly distributed between all working paths. If supported by
device, it allows to significantly improve performance, utilizing
bandwidth of all paths. It is controlled by -A option during creation.
Disabled by default now.
- Improved `status` and `list` commands output.
Latest patch can be found here:
Feedbacks are welcome!
Sponsored by: iXsystems, Inc.
More information about the freebsd-current