xref: /freebsd/usr.sbin/pnfsdsfile/pnfsdsfile.8 (revision 42249ef2)
1.\" Copyright (c) 2017 Rick Macklem
2.\"
3.\" Redistribution and use in source and binary forms, with or without
4.\" modification, are permitted provided that the following conditions
5.\" are met:
6.\" 1. Redistributions of source code must retain the above copyright
7.\"    notice, this list of conditions and the following disclaimer.
8.\" 2. Redistributions in binary form must reproduce the above copyright
9.\"    notice, this list of conditions and the following disclaimer in the
10.\"    documentation and/or other materials provided with the distribution.
11.\"
12.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
13.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
14.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
15.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
16.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
17.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
18.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
19.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
20.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
21.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
22.\" SUCH DAMAGE.
23.\"
24.\" $FreeBSD$
25.\"
26.Dd June 30, 2018
27.Dt PNFSDSFILE 8
28.Os
29.Sh NAME
30.Nm pnfsdsfile
31.Nd display
32a pNFS data storage file's location(s) and/or modify the
33.Dq pnfsd.dsfile
34extended attribute for them
35.Sh SYNOPSIS
36.Nm
37.Op Fl qz
38.Op Fl s Ar dshostname
39.Op Fl c Ar old-dshostname,new-dshostname
40.Op Fl m Ar mirror_level
41.Op Fl r Ar dshostname
42.Ar mdsfile
43.Sh DESCRIPTION
44The
45.Nm
46command displays the data storage file's location(s) for a pNFS service and/or
47modifies the
48.Dq pnfsd.dsfile
49extended attribute on the
50.Ar mdsfile .
51A pNFS service maintains a data storage file for each regular file on
52the MetaData Server (MDS) on one or more of the Data Servers (DS).
53If mirroring is enabled, the data storage file will be on more that one of the DSs.
54Unless command options are specified, this command displays the location(s)
55of the data storage file for the MDS file
56.Ar mdsfile .
57It must be used on the MDS and the
58.Ar mdsfile
59must be a file on the exported local file system and not an NFSv4.1 mount.
60This information is stored in the
61.Dq pnfsd.dsfile
62extended attribute for this
63.Ar mdsfile .
64The command line options allow the information in the
65.Dq pnfsd.dsfile
66extended attribute to be changed.
67.Pp
68The following options are available:
69.Bl -tag -width Ds
70.It Fl q
71This option suppresses printing of the DS file's location(s).
72.It Fl z
73This option specifies that the file handle field of the pnfsd.dsfile
74extended attribute is to filled with all zero bits.
75This forces the pNFS MDS to do a Lookup RPC against the DS to acquire the file
76handle to update it.
77Normally this will only be necessary after the DS file has been recovered
78from a backup, causing the file handle to change.
79.It Fl s Ar dshostname
80This option can be used with
81.Fl z
82so that the zeroing out of the file handle is only done if the DS server
83is the one specified by this option.
84.It Fl c Ar old-dshostname,new-dshostname
85This option allows a sysadmin to replace the host IP# for the DS in the
86pnfsd.dsfile extended attribute.
87The old-hostname must resolve to the IP# already in the pnfsd.dsfile extended
88attribute or the replacement will not be done.
89If the old-dshostname matches, then the IP# is replaced by the first AF_INET
90or AF_INET6 address that
91.Xr getaddrinfo 3
92returns for the new-dshostname.
93Changing a DS server's host IP# should be avoided, but this option will
94allow it to be changed, if the change is unavoidable.
95.It Fl m Ar mirror_level
96This option adds entrie(s) to the extended attributes with IP address set
97to 0.0.0.0 to bring the number of entries up to
98.Dq mirror_level .
99It can be used by a system administrator to prepare a file for mirroring
100via the
101.Xr pnfsdscopymr
102command with
103.Fl r
104option.
105.It Fl r Ar dshostname
106This option sets the IP address of the extended attribute entry for the
107.Ar dshostname
108to 0.0.0.0 so that it will no longer be used.
109.Pp
110This is meant to be used when mirroring is enabled and the
111.Ar dshostname
112DS is disabled, so that it can be re-enabled once it is repaired.
113This needs to be done for all files in the exported MDS tree where
114the data may not be up-to-date on the repaired DS when it is re-enabled.
115After being re-enabled, the command
116.Xr pnfsdscopymr 1
117with the
118.Dq -r
119option
120will be used to copy the the file's data to this repaired DS and then update the
121extended attribute to use it.
122.Pp
123A typical use of this will be within a
124.Xr find 1
125for all regular files in the MDS's exported tree.
126.sp
127For example, if the disabled DS is nfsv4-data3:
128.br
129# cd <top-level-exported-directory-on-MDS>
130.br
131# find . -type f -exec pnfsdsfile -q -r nfsv4-data3 {} \\;
132.El
133.Sh SEE ALSO
134.Xr find 1 ,
135.Xr getaddrinfo 3 ,
136.Xr nfsv4 4 ,
137.Xr pnfs 4 ,
138.Xr nfsd 8 ,
139.Xr pnfsdscopymr 8 ,
140.Xr pnfsdskill 8
141.Sh HISTORY
142The
143.Nm
144command first appeared in
145.Fx 12.0 .
146