NAME
geom_fox — GEOM based basic disk multipathingSYNOPSIS
To compile this driver into the kernel, place the following line in your kernel configuration file:options
GEOM_FOX
Alternatively, to load the driver as a module at boot time, place the following
line in loader.conf(5):
geom_fox_load="YES"
DESCRIPTION
This driver is
obsolete. Users are advised to use gmultipath(8)
instead. This driver will be removed in FreeBSD
12.
The intent of the geom_fox framework is to provide
basic multipathing support to access direct access devices. Basic in the above
sentence should be read as: geom_fox only
provides path failover functionality, not load balancing over the available
paths etc. Using suitable hardware like SCSI or FibreChannel disks it is
possible to have multiple (typically 2) host bus adapters access the same
physical disk drive.
Without a multipathing driver the FreeBSD kernel would
probe the disks multiple times, resulting in the creation of multiple
/dev entries for the same underlying physical
device. A unique label written in the GEOM label area allows
geom_fox to detect multiple paths. Using this
information it creates a unique da#.fox device.
The geom_fox device is subsequently used by the
FreeBSD kernel to access the disks. Multiple physical
access paths ensure that even in case of a path failure the
FreeBSD kernel can continue to access the data.
The geom_fox driver will disallow write operations
to the underlying devices once the fox device has been opened for writing.
EXAMPLES
-
geom_fox needs a label on
the disk as follows in order to work properly:
"0123456789abcdef0123456789abcdef" "GEOM::FOX <--unique--id-->"
GEOM::FOX
” is the magic to mark a geom_fox device. The actual labelling is accomplished byecho "GEOM::FOX someid" | dd of=/dev/da2 conv=sync
isp1: Target 1 (Loop 0x1) Port ID 0xe8 (role Target) Arrived Port WWN 0x21000004cfc8aca2 Node WWN 0x20000004cfc8aca2
echo "GEOM::FOX 20000004cfc8aca2" | dd of=/dev/da2 conv=sync
Creating new fox (da2) fox da2.fox lock 0xfffffc0000fdba20
- To check which physical devices match a given
geom_fox device:
# geom fox list Geom name: da2.fox Providers: 1. Name: da2.fox Mediasize: 73407865344 (68G) Sectorsize: 512 Mode: r0w0e0 Consumers: 1. Name: da2 Mediasize: 73407865856 (68G) Sectorsize: 512 Mode: r0w0e0 2. Name: da6 Mediasize: 73407865856 (68G) Sectorsize: 512 Mode: r0w0e0
- To check the status of the
geom_fox components:
# geom fox status Name Status Components da2.fox N/A da2 da6
SEE ALSO
GEOM(4), geom(8), gmultipath(8)AUTHORS
The geom_fox driver was written by Poul-Henning Kamp <[email protected]>. This manual page was written by Wilko Bulte <[email protected]>.CAVEATS
The geom_fox driver depends on the underlying hardware drivers to do the right thing in case of a path failure. If for example a hardware driver continues to retry forever, geom_fox is not able to re-initiate the I/O to an alternative physical path. You have to be very sure to provide a unique label for each of the geom_fox devices. Safety belts are not provided. For FibreChannel devices it is suggested to use the Port WWN of the device. The World Wide Name is guaranteed to be worldwide unique per the FibreChannel standard.BUGS
The geom_fox framework has only seen light testing. There definitely might be dragons here. The name geom_fox is completely obscure. Just remember that any sly fox has multiple exits from its hole. The examples provided are too FibreChannel-centric.September 12, 2015 | Debian |