1.\"
2.\" Copyright (c) 2006 Wilko Bulte
3.\" All rights reserved.
4.\"
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted provided that the following conditions
7.\" are met:
8.\" 1. Redistributions of source code must retain the above copyright
9.\" notice, this list of conditions and the following disclaimer.
10.\" 2. Redistributions in binary form must reproduce the above copyright
11.\" notice, this list of conditions and the following disclaimer in the
12.\" documentation and/or other materials provided with the distribution.
13.\"
14.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24.\" SUCH DAMAGE.
25.\"
26.\" $FreeBSD: head/share/man/man4/geom_fox.4 208027 2010-05-13 12:07:55Z uqs $
27.\"
28.Dd January 2, 2005
29.Dt GEOM_FOX 4
30.Os
31.Sh NAME
32.Nm geom_fox
33.Nd "GEOM based basic disk multipathing"
34.Sh SYNOPSIS
35To compile this driver into the kernel,
36place the following line in your
37kernel configuration file:
38.Bd -ragged -offset indent
39.Cd "options GEOM_FOX"
40.Ed
41.Pp
42Alternatively, to load the driver as a
43module at boot time, place the following line in
44.Xr loader.conf 5 :
45.Bd -literal -offset indent
46geom_fox_load="YES"
47.Ed
48.Sh DESCRIPTION
49The intent of the
50.Nm
51framework is to provide basic multipathing support to access direct
52access devices.
53Basic in the above sentence should be read as:
54.Nm
55only provides path failover functionality, not load balancing over
56the available paths etc.
57Using suitable hardware like SCSI or FibreChannel disks it is
58possible to have multiple (typically 2) host bus adapters access
59the same physical disk drive.
60.Pp
61Without a multipathing driver the
62.Fx
63kernel would probe the disks multiple times, resulting in the creation of
64multiple
65.Pa /dev
66entries for the same underlying physical device.
67A unique label written in the GEOM label area allows
68.Nm
69to detect multiple paths.
70Using this information it creates a unique
71.Pa da#.fox
72device.
73.Pp
74The
75.Nm
76device is subsequently used by the
77.Fx
78kernel to access the disks.
79Multiple physical access paths ensure that even in case of a path failure the
80.Fx
81kernel can continue to access the data.
82.Pp
83The
84.Nm
85driver will disallow write operations to the underlying devices once the
86fox device has been opened for writing.
87.Sh EXAMPLES
88.Pp
89.Bl -bullet -compact
90.It
91.Nm
92needs a label on the disk as follows in order to work properly:
93.Bd -literal
94"0123456789abcdef0123456789abcdef"
95"GEOM::FOX <--unique--id-->"
96.Ed
97.Pp
98For the unique ID 16 bytes are available.
99The
100.Dq Li GEOM::FOX
101is the magic to mark a
102.Nm
103device.
104.Pp
105The actual labelling is accomplished by
106.Bd -literal
107echo "GEOM::FOX someid" | dd of=/dev/da2 conv=sync
108.Ed
109.Pp
110For FibreChannel devices it is suggested to use the Node World Wide
111Name (Node WWN) as this is guaranteed by the FibreChannel standard to
112be worldwide unique.
113The use of the Port WWN not recommended as each port of a given
114device has a different WWN, thereby confusing things.
115.Pp
116The Node WWN can be obtained from a verbose boot as in for example
117.Bd -literal
118isp1: Target 1 (Loop 0x1) Port ID 0xe8 (role Target) Arrived
119 Port WWN 0x21000004cfc8aca2
120 Node WWN 0x20000004cfc8aca2
121.Ed
122.Pp
123This Node WWN would then be used like so:
124.Bd -literal
125echo "GEOM::FOX 20000004cfc8aca2" | dd of=/dev/da2 conv=sync
126.Ed
127.Pp
128For non-FibreChannel devices you could for example use the serial
129number of the device.
130Regardless of what you use, make sure the label is unique.
131.Pp
132Once the labelling has been performed and assuming the
133.Nm
134module is loaded the kernel will inform you that it has found a new
135.Nm
136device with a message similar to
137.Bd -literal
138Creating new fox (da2)
139fox da2.fox lock 0xfffffc0000fdba20
140.Ed
141.Pp
142.It
143To check which physical devices match a given
144.Nm
145device:
146.Bd -literal -offset indent
147# geom fox list
148Geom name: da2.fox
149Providers:
1501. Name: da2.fox
151 Mediasize: 73407865344 (68G)
152 Sectorsize: 512
153 Mode: r0w0e0
154Consumers:
1551. Name: da2
156 Mediasize: 73407865856 (68G)
157 Sectorsize: 512
158 Mode: r0w0e0
1592. Name: da6
160 Mediasize: 73407865856 (68G)
161 Sectorsize: 512
162 Mode: r0w0e0
163.Ed
164.Pp
165.It
166To check the status of the
167.Nm
168components:
169.Bd -literal
170# geom fox status
171 Name Status Components
172da2.fox N/A da2
173 da6
174.Ed
175.El
176.Sh SEE ALSO
177.Xr GEOM 4 ,
178.Xr geom 8 ,
179.Xr gmultipath 8
180.Sh AUTHORS
181.An -nosplit
182The
183.Nm
184driver was written by
185.An "Poul-Henning Kamp" Aq phk@FreeBSD.org .
186This manual page was written by
187.An "Wilko Bulte" Aq wilko@FreeBSD.org .
188.Sh CAVEATS
189The
190.Nm
191driver depends on the underlying hardware drivers to do the right thing in case
192of a path failure.
193If for example a hardware driver continues to retry forever,
194.Nm
195is not able to re-initiate the I/O to an alternative physical path.
196.Pp
197You have to be very sure to provide a unique label for each of the
198.Nm
199devices.
200Safety belts are not provided.
201For FibreChannel devices it is suggested to use the Port WWN of the device.
202The World Wide Name is guaranteed to be worldwide unique per the
203FibreChannel standard.
204.Sh BUGS
205The
206.Nm
207framework has only seen light testing.
208There definitely might be dragons here.
209.Pp
210The name
211.Nm
212is completely obscure.
213Just remember that any sly fox has multiple exits from its hole.
214.Pp
215The examples provided are too FibreChannel-centric.
2.\" Copyright (c) 2006 Wilko Bulte
3.\" All rights reserved.
4.\"
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted provided that the following conditions
7.\" are met:
8.\" 1. Redistributions of source code must retain the above copyright
9.\" notice, this list of conditions and the following disclaimer.
10.\" 2. Redistributions in binary form must reproduce the above copyright
11.\" notice, this list of conditions and the following disclaimer in the
12.\" documentation and/or other materials provided with the distribution.
13.\"
14.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24.\" SUCH DAMAGE.
25.\"
26.\" $FreeBSD: head/share/man/man4/geom_fox.4 208027 2010-05-13 12:07:55Z uqs $
27.\"
28.Dd January 2, 2005
29.Dt GEOM_FOX 4
30.Os
31.Sh NAME
32.Nm geom_fox
33.Nd "GEOM based basic disk multipathing"
34.Sh SYNOPSIS
35To compile this driver into the kernel,
36place the following line in your
37kernel configuration file:
38.Bd -ragged -offset indent
39.Cd "options GEOM_FOX"
40.Ed
41.Pp
42Alternatively, to load the driver as a
43module at boot time, place the following line in
44.Xr loader.conf 5 :
45.Bd -literal -offset indent
46geom_fox_load="YES"
47.Ed
48.Sh DESCRIPTION
49The intent of the
50.Nm
51framework is to provide basic multipathing support to access direct
52access devices.
53Basic in the above sentence should be read as:
54.Nm
55only provides path failover functionality, not load balancing over
56the available paths etc.
57Using suitable hardware like SCSI or FibreChannel disks it is
58possible to have multiple (typically 2) host bus adapters access
59the same physical disk drive.
60.Pp
61Without a multipathing driver the
62.Fx
63kernel would probe the disks multiple times, resulting in the creation of
64multiple
65.Pa /dev
66entries for the same underlying physical device.
67A unique label written in the GEOM label area allows
68.Nm
69to detect multiple paths.
70Using this information it creates a unique
71.Pa da#.fox
72device.
73.Pp
74The
75.Nm
76device is subsequently used by the
77.Fx
78kernel to access the disks.
79Multiple physical access paths ensure that even in case of a path failure the
80.Fx
81kernel can continue to access the data.
82.Pp
83The
84.Nm
85driver will disallow write operations to the underlying devices once the
86fox device has been opened for writing.
87.Sh EXAMPLES
88.Pp
89.Bl -bullet -compact
90.It
91.Nm
92needs a label on the disk as follows in order to work properly:
93.Bd -literal
94"0123456789abcdef0123456789abcdef"
95"GEOM::FOX <--unique--id-->"
96.Ed
97.Pp
98For the unique ID 16 bytes are available.
99The
100.Dq Li GEOM::FOX
101is the magic to mark a
102.Nm
103device.
104.Pp
105The actual labelling is accomplished by
106.Bd -literal
107echo "GEOM::FOX someid" | dd of=/dev/da2 conv=sync
108.Ed
109.Pp
110For FibreChannel devices it is suggested to use the Node World Wide
111Name (Node WWN) as this is guaranteed by the FibreChannel standard to
112be worldwide unique.
113The use of the Port WWN not recommended as each port of a given
114device has a different WWN, thereby confusing things.
115.Pp
116The Node WWN can be obtained from a verbose boot as in for example
117.Bd -literal
118isp1: Target 1 (Loop 0x1) Port ID 0xe8 (role Target) Arrived
119 Port WWN 0x21000004cfc8aca2
120 Node WWN 0x20000004cfc8aca2
121.Ed
122.Pp
123This Node WWN would then be used like so:
124.Bd -literal
125echo "GEOM::FOX 20000004cfc8aca2" | dd of=/dev/da2 conv=sync
126.Ed
127.Pp
128For non-FibreChannel devices you could for example use the serial
129number of the device.
130Regardless of what you use, make sure the label is unique.
131.Pp
132Once the labelling has been performed and assuming the
133.Nm
134module is loaded the kernel will inform you that it has found a new
135.Nm
136device with a message similar to
137.Bd -literal
138Creating new fox (da2)
139fox da2.fox lock 0xfffffc0000fdba20
140.Ed
141.Pp
142.It
143To check which physical devices match a given
144.Nm
145device:
146.Bd -literal -offset indent
147# geom fox list
148Geom name: da2.fox
149Providers:
1501. Name: da2.fox
151 Mediasize: 73407865344 (68G)
152 Sectorsize: 512
153 Mode: r0w0e0
154Consumers:
1551. Name: da2
156 Mediasize: 73407865856 (68G)
157 Sectorsize: 512
158 Mode: r0w0e0
1592. Name: da6
160 Mediasize: 73407865856 (68G)
161 Sectorsize: 512
162 Mode: r0w0e0
163.Ed
164.Pp
165.It
166To check the status of the
167.Nm
168components:
169.Bd -literal
170# geom fox status
171 Name Status Components
172da2.fox N/A da2
173 da6
174.Ed
175.El
176.Sh SEE ALSO
177.Xr GEOM 4 ,
178.Xr geom 8 ,
179.Xr gmultipath 8
180.Sh AUTHORS
181.An -nosplit
182The
183.Nm
184driver was written by
185.An "Poul-Henning Kamp" Aq phk@FreeBSD.org .
186This manual page was written by
187.An "Wilko Bulte" Aq wilko@FreeBSD.org .
188.Sh CAVEATS
189The
190.Nm
191driver depends on the underlying hardware drivers to do the right thing in case
192of a path failure.
193If for example a hardware driver continues to retry forever,
194.Nm
195is not able to re-initiate the I/O to an alternative physical path.
196.Pp
197You have to be very sure to provide a unique label for each of the
198.Nm
199devices.
200Safety belts are not provided.
201For FibreChannel devices it is suggested to use the Port WWN of the device.
202The World Wide Name is guaranteed to be worldwide unique per the
203FibreChannel standard.
204.Sh BUGS
205The
206.Nm
207framework has only seen light testing.
208There definitely might be dragons here.
209.Pp
210The name
211.Nm
212is completely obscure.
213Just remember that any sly fox has multiple exits from its hole.
214.Pp
215The examples provided are too FibreChannel-centric.