pnfsdscopymr
—
copy or move a data storage file for a MDS file to a
different DS
pnfsdscopymr |
[-r mounted-on-DS-dir]
[-m source-mounted-on-DS-dir
destination-mounted-on-DS-dir] mdsfile |
The pnfsdscopymr
command copies a data
storage file for an MDS file from one DS to another DS. It is normally used
to recover data files onto a repaired DS, but can also be used to manually
migrate a data storage file from one DS to a different one. By default, the
command will copy the data storage file for “mdsfile” to one
of the other DSs to create a mirror of it. This might be done if the file
was created before mirroring was enabled on the pNFS service and now needs
to be mirrored.
The following options are available:
-r
mounted-on-DS-dir
- This option indicates that the data storage file should be created on the
DS that is mounted on the directory “mounted-on-DS-dir”. It
will only do the copy if there is an entry in the pnfsd.dsfile extended
attribute that has an IP address of 0.0.0.0. See
pnfsdsfile(1)
for how to do this. This is normally done for all regular files via
find(1)
in order to recover the data storage files onto a repaired DS.
-m
source-mounted-on-DS-dir
destination-mounted-on-DS-dir
- This option indicates that the data storage file is to be migrated from
the source DS mounted on the diectory
“source-mounted-on-DS-dir” to the DS mounted on the
directory “destination-mounted-on-DS-dir”. In this case, the
data storage file will be removed from the source DS when the copy is
completed.
If the copy/migration is already done, the command will simply exit(0), so that
it can safely be used on all regular files in the exported directory tree on
the MDS.
This command must be run on the MDS and a typical usage would be
as an argument for
find(1)
for all regular files.
For example, if the repaired DS is mounted on /data3 and files
previously stored on the repaired DS have had the DS's IP address set to
0.0.0.0:
# cd <top-level-exported-directory-on-the-MDS>
# find . -type f -exec pnfsdscopymr -r /data3 {} \;
The pnfsdscopymr
command first appeared in
FreeBSD 12.0.