Implements the Network Data Administration Facility (NDAF) Admin Client executable.
dmf verb object parameter flag
The dmf command implements the NDAF CLI, which is the program name for the NDAF (Network Data Administration Facility) Admin Client executable. NDAF is an AIX® solution for centralized creation, placement, replication, ongoing management, and namespace federation of file system data across a network of machines.
The dmf command is the prefix for all CLI commands in NDAF. These commands follow a consistent structure: a common prefix, the actual name of the executable (dmf), a verb such as create or delete, the object to which the action is being applied, and any subsequent parameters (such as names). These parameters are position-dependent.
The following objects are used in conjunction with the dmf command.
Item | Description |
---|---|
admin | Represents the dmadm (data management administrator) daemon and is used to configure the admin server. One single object of this class can be created on a server running the dmadm daemon. A machine running the dmadm daemon must also be running the dms (data management server) daemon. When an admin object is created, a server object with the same name is also created. |
server | Represents a dms (data management server) daemon in the system. Also sets default attributes for data hosted on this server and for general server configuration. |
cell | Represents a cell. A cell is a unit of management and namespace, hosted by an admin server, but independent of all other cells hosted by that admin server. A cell contains its own namespace, consisting of dsets, and contains its own NDAF role-based security objects. A cell can be placed (made visible through an NFS export) on any server defined for the admin server that the cell is hosted on. |
dset | Represents read or write data sets that consist of NFS exported data paths, including those hosted on local and clustered file systems. This object class creates dsets and manages their attributes and their visibility in the cell (dmf mount operations). |
replica | Represents read-only copies of a dset, which can be distributed across multiple servers. This object class creates replicas and manages their attributes, placements, and their visibility in the cell (dmf mount operations). |
role | Represents a set of privileges assigned to a set of NDAF principals to delegate object management rights. |
status | Represents the status of the request issued by the admin server. |
The following verbs are used in conjunction with the dmf command.
Item | Description |
---|---|
Objects creation and deletion | |
create | Creates a logical object. |
destroy | Destroys an object and all its content. |
Existing objects inspection | |
enumerate | Lists logical objects that were created. |
show | Shows the attributes of an object. If used with the status object, the dmf command with the show verb lists the state of previous dmf commands requests. |
clear | Clears the requests history and can only be used with the status object. |
Objects attributes update | |
set | Sets the value of a non-list attribute for an object. |
add_to | Adds a key/value item to a list-based attribute for an object. |
remove_from | Removes a key/value item from a list-based attribute for an object. |
Data update and access | |
update | Can only be used for replica objects. Causes a replica and its clone locations to be refreshed with the content of the original source dset. |
source | Changes the source dset of a replica. |
master | Elects another replica location to become the master location. It is originally the first place were the replica was created. The master location cannot be moved. |
place | Can only be used for cell objects, replica objects and dset objects. For cell objects, this action makes the cell available for NFS mount on the related server. For replica objects, this action creates an additional copy location on the related server. For dset objects, this action is used with the -m flag to handle data referrals to data residing outside the NDAF framework. |
unplace | Can only be used for cell objects, replica objects and dset objects. For cell objects, this action makes the cell unavailable for NFS mount on the related server. For replica objects, this action removes a copy location on the related server. For dset objects, with the –m flag, this action removes the data referrals to data residing outside of the NDAF framework. |
mount | Can only be used with dset objects and replica objects. Let this object appear in the cell federation namespace. |
unmount | Can only be used with dset objects and replica objects. Hide this object in the cell federation namespace. |
resolve | Finds the object, dset objects or replica objects, that corresponds to a path exported within the cell. |
Problem solving | |
repair | Unexports and re-exports the dsets of the selected server and fixes internal data representation. |
validate | Checks the consistency of an object in the different internal objects databases on the admin and on the object's server. |
check_adm | Detects and reports inconsistencies in the NDAF admin database. |
check_serv | Detects and reports inconsistencies in the data server database. |
check_adm_serv | Checks admin-data server database consistency. |
Item | Description |
---|---|
-a | Identifies the admin server that a command can be sent to with an attached string parameter. The communication port can be added using a colon separator. By default, port 28000 is used. |
-c | Identifies the container that holds the object that this command is issued to with an attached string parameter. The container is generally a cell, but it can also be a server. |
-d | Launches a request that runs asynchronously. The command returns as soon as the requests are launched. |
-e | At server creation, specifies that the object being created refers to an external NDAF server and is not actually running the NDAF data server. |
-f | When used with the destroy or unplace verb, forces the command without prompting confirmation. |
-m | Specifies that the data of the created dset will be managed outside NDAF (typical use of this is for cluster machines). |
-o | With an attached string parameter, specifies the name of the object that this command is addressed to (a dset object, a replica object, or a role object). |
-r | Causes the CLI to print to the console the UUID (identifier) assigned to the requests generated by the admin server. This is useful for tracking request completion with the dmf show status command. |
-w | Specifies how long the CLI must wait for the asynchronous portion of an operation to complete before timing out (the default is 120 seconds). This flag takes a numeric parameter. The units are in seconds. |
Objects creation and deletion:
create
This verb takes the following syntax:
dmf create object [params]
The create verb creates a logical object. The address parameters specified with it must point at the container for the object. A variable number of parameters are required, depending on the type of object being created.
Parameters
Item | Description | |
---|---|---|
object | Specifies the type of object created. Values include the following (other parameters depend on the object) : | |
admin Requires the
name to be given to the admin server as a parameter. This object parameter
takes the following syntax:
where:
Note: Entering dmf create admin my_admin also
creates the my_admin server object.
|
||
server Requires the
name of the server, its DNS name or IP address and port. This object
parameter takes the following syntax:
where:
|
||
cell Requires the name
to be given to the cell. This object parameter takes the following
syntax:
where:
|
||
dset Requires the name
of the dset, the hosting server, and (optionally)
local path on the server. This object parameter takes the following
syntax:
where:
|
||
replica Requires the
name of the replica, the hosting server, and (optionally) local path
on the server. This object parameter takes the following syntax:
where:
|
||
role Requires the name
of the role to be created. This object parameter takes the following
syntax:
where:
|
destroy
This verb takes the following syntax:
dmf destroy object [params]
The destroy verb destroys an object and all its content. The objects that depend on that object are also destroyed. For example, if a dset is destroyed, all its content is destroyed. If a cell is destroyed, all of its dsets and replicas are destroyed. The address parameters point to the object that is to be destroyed.
Parameters
Item | Description | |
---|---|---|
object | Specifies the type of object destroyed. Values include the following (other parameters depend on the object): | |
admin This object parameter
takes the following syntax:
where:
|
||
server This object
parameter takes the following syntax:
where:
|
||
cell This object parameter
takes the following syntax:
where:
|
||
dset This object parameter
takes the following syntax:
where:
|
||
replica This object
parameter takes the following syntax:
where:
|
||
role This object parameter
takes the following syntax:
where:
|
Existing objects inspection:
enumerate
This verb takes the following syntax:
dmf enumerate object selector [params ]
The enumerate verb obtains lists of objects within containers such as dsets within a cell. It takes a two-part parameter.
The params parameter, which is optional and can be omitted, is a filter consisting in a text match pattern using ? to match a single character and * to match multiple characters. This parameter is used to restrict the list to the objects matching the filters.
Object | Selector | Parameters |
---|---|---|
admin |
|
This object parameter takes the following
syntax:
where:
|
server |
|
This object parameter takes the following
syntax:
where:
|
cell |
|
This object parameter takes the following
syntax:
where:
|
dset |
|
This object parameter takes the following
syntax:
where:
|
replica |
|
This object parameter takes the following
syntax:
where:
|
show
This verb takes the following syntax:
dmf show object [params]
The show verb shows the attributes of an object. When used with the status object, this action lists the history of requests on the admin server.
Parameters
Item | Description | |
---|---|---|
object | Specifies the type of object destroyed. Values include the following (other parameters depend on the object): | |
admin This object parameter
takes the following syntax:
where:
|
||
server This object
parameter takes the following syntax:
where:
|
||
cell This object parameter
takes the following syntax:
where:
|
||
dset This object parameter
takes the following syntax:
where:
|
||
replica This object
parameter takes the following syntax:
where:
|
||
role This object parameter
takes the following syntax:
where:
|
||
status This object
parameter takes the following syntax:
where:
|
clear
This verb takes the following syntax:
dmf clear status [-r] [-a admin_server]
Item | Description |
---|---|
-a admin_server | Specifies the DNS name or IP address of the admin server. The port can be added using a colon separator. |
-r | Prints the uuid (identifier) assigned to the request. |
The clear verb clears the admin requests history when used with the status object. All history activity is then lost.
Objects attributes update:
set
This verb takes the following syntax:
dmf set object key=value [params]
The set verb sets the value of a non-list attribute for an object. These are single attributes, as distinguished from the add_to verb. The parameters of the set verb are a key/value pair.
Parameters
Item | Description | |
---|---|---|
key | Depending on the object type,
the key parameter can be one of the following values:
|
|
key (continued) |
|
|
object | Specifies the type of object. Values include the following (other parameters depend on the object): | |
server This object
parameter takes the following syntax:
where:
|
||
cell This object parameter
takes the following syntax:
where:
|
||
dset This object parameter
takes the following syntax:
where:
|
||
replica This object
parameter takes the following syntax:
where:
|
||
role This object parameter
takes the following syntax:
where:
|
add_to
This verb takes the following syntax:
dmf add_to object key=value [params]
The add_to verb adds a key/value item to a list-based attribute for an object. The additional parameters of the add_to verb specify which NDAF object is impacted.
Parameters
remove_from
This verb takes the following syntax:
dmf remove_from object key=value [params]
The remove_from verb removes a key/value item from a list-based attribute for an object. The additional parameters of the remove_from verb specify which NDAF object is impacted.
The dmf show command can be used to inspect the attributes lists.
Parameters
Item | Description | |
---|---|---|
key | Depending on the object type,
the key can be one of the following values:
|
|
object | Specifies the type of object. Values include the following (other parameters depend on the object): | |
admin This object parameter
takes the following syntax:
where:
|
||
server This object
parameter takes the following syntax:
where:
|
||
cell This object parameter
takes the following syntax:
where:
|
||
dset This object parameter
takes the following syntax:
where:
|
||
replica This object
parameter takes the following syntax:
where:
|
||
role This object parameter
takes the following syntax:
where:
|
Data update and access:
update
This verb takes the following syntax:
dmf update replica [-d | -w timeout] [-r] [-a admin_server] [-c container] [-o object]
Item | Description |
---|---|
-a admin_server | Specifies the DNS name or IP address of the admin server. The port can be added using a colon separator. |
-c container | Specifies the cell name. |
-d | Specifies that the command must be run asynchronously. |
-o object | Specifies the name of the object this command is addressed to. |
-r | Prints the uuid (identifier) assigned to the request. |
-w timeout | Specifies how long the command can wait before completing. |
The update verb causes a replica and its clone locations to be refreshed with the content of the original source dset.
source
This verb takes the following syntax:
dmf source replica source_dset [-r] [-a admin_server] [-c container] [-o object]
Item | Description |
---|---|
-a admin_server | Specifies the DNS name or IP address of the admin server. The port can be added using a colon separator. |
-c container | Specifies the cell name. |
-o object | Specifies the name of the object this command is addressed to. |
source_dset | Specifies the dset that becomes the new source of the replica. |
-r | Prints the uuid (identifier) assigned to the request. |
The source verb changes the source dset of a replica.
master
This verb takes the following syntax:
dmf master replica server [path] [-r] [-a admin_server] [-c container] [-o object]
Item | Description |
---|---|
-a admin_server | Specifies the DNS name or IP address of the admin server. The port can be added using a colon separator. |
-c container | Specifies the cell name. |
-o object | Specifies the name of the object this command is addressed to. |
path | Specifies the path of the replica location. |
-r | Prints the uuid (identifier) assigned to the request. |
server | Specifies the server name. |
The master verb elects another replica location to become the master location. Use this in case you want to change the master location of the replica. The master location is the first location updated on any update command. The other locations are updated afterwards asynchronously. The master location cannot be moved. Moreover, the master location is used to transmit data updates to the other locations. It must, therefore, be carefully selected to provide good data transfer performance.
place
This verb takes the following syntax:
The place verb places an object on a server. It can be applied to a cell, a replica, or a dset. Its parameters depend on the type of object. The action is different between a cell and a replica or dset.
For a cell, the place verb is used to make the cell visible through a server. The cell is exported under the server's nfsroot and contains referrals to mounted dsets and replicas. The parameter of the dmf place cell command is the name of the server. The root namespace of the cell is then placed on the server.
dmf place replica my_server local_path -a my_admin -c
my_cell -o my_replica
dmf place dset my_external_server external_server_path -m
-a my_admin -c my_cell -o my_dset
The place dset action can be used only in cluster file system environments, such as GPFS, where the coherence view of the underlying data is assumed by the system and not by NDAF.
Parameters
Item | Description |
---|---|
cell | This object parameter takes the following syntax:
where:
|
dset | This object parameter takes the following syntax:
where:
|
replica | This object parameter takes the following syntax:
where:
|
unplace
This verb takes the following syntax:
Both cells and replicas can be unplaced from a server. The action differs depending on whether dmf unplace is used on a cell, dset or replica.
For cell objects, unplace actions prevent NFS users from mounting the cell on that server.
dmf unplace cell server [-r] [-f] [-a admin_server] [-c container]
Item | Description |
---|---|
-a admin_server | Specifies the DNS name or IP address of the admin server. The port can be added using a colon separator. |
-c container | Specifies the cell name. |
-f | Forces the action without confirmation. |
-r | Prints the uuid (identifier) assigned to the request. |
server | Specifies the server name. |
The unplace cell verb removes a cell from a server. It does not remove the data from the dsets or replicas and does not unexport the path to this data on the server named in the command line. Data will remain accessible to other clients on this server. The unplace cell verb will unexport the cell through NFS on that server. It remains visible on the other servers.
For dset objects, unplace actions will remove a referral to data that resides outside NDAF.
dmf unplace dset server [path] [-r] [-f] [–m] [-a admin_server] [-c container] [–o object]
Item | Description |
---|---|
-a admin_server | Specifies the DNS name or IP address of the admin server. The port can be added using a colon separator. |
-c container | Specifies the cell name. |
-f | Forces the action without confirmation. |
-m | Specifies that the data of the created dset will be managed outside NDAF (used for cluster machines). |
-o object | Specifies the name of the object this command is addressed to. |
path | Specifies the path where the location data resides and will be removed. |
-r | Prints the uuid (identifier) assigned to the request. |
server | Specifies the server name. |
For replicas, unplace actions will remove a location of the replica.
dmf unplace replica server [path] [-r] [-f] [-a admin_server] [-c container] [–o object]
Item | Description |
---|---|
-a admin_server | Specifies the DNS name or IP address of the admin server. The port can be added using a colon separator. |
-c container | Specifies the cell name. |
-o object | Specifies the name of the object this command is addressed to. |
-f | Forces the action without confirmation. |
path | Specifies the path where the location data resides and will be removed. |
-r | Prints the uuid (identifier) assigned to the request. |
server | Specifies the server name. |
For replicas, the unplace verb removes the clone location of the replica on that server. This location is unexported and its content is destroyed. The referral to this location is removed from the referrals list returned by NFS for this replica in the cell. The other locations of the replica remain the same. The first replica location (created with the create command) is called the master location of the replica. This location cannot be unplaced unless another location is elected as master location to replace the first one (see the master verb for more information).
mount
This verb takes the following syntax:
dmf mount object [params]
The mount verb mounts a dset or a replica in the federation namespace and makes it visible in the cell to NFS clients. In practice, an NFSv4 referral to the dset (exported in NFSv4 at creation time) or replica is added in the cell.
Parameters
Item | Description | |
---|---|---|
object | Specifies the type of object created. Values include the following (other parameters depend on the object) : | |
dset This object parameter
takes the following syntax:
where:
|
||
replica This object
parameter takes the following syntax:
where:
|
unmount
This verb takes the following syntax:
dmf unmount object [params]
Parameters
Item | Description | |
---|---|---|
object | Specifies the type of object created. Values include the following (other parameters depend on the object): | |
dset This object parameter
takes the following syntax:
where:
|
||
replica This object
parameter takes the following syntax:
where:
|
resolve
This verb takes the following syntax:
dmf resolve cell path [-r] [-a admin_server] [-c container]
Item | Description |
---|---|
-a admin_server | Specifies the DNS name or IP address of the admin server. The port can be added using a colon separator. |
-c container | Specifies the cell name. |
path | Specifies the path to look up. |
-r | Prints the uuid (identifier) assigned to the request. |
The resolve verb finds which dset or replica corresponds to a path within the cell. Its parameter is the path to look up (the given path is that of an NDAF mountpoint specified by the dmf mount command).
Problem solving:
repair
This verb takes the following syntax:
dmf repair server [-r] [-V] [-U] [-R] [-a <admin_server>] [-c <container>]
Item | Description |
---|---|
-r | Prints the uuid (identifier) assigned to the request. |
-V | Specifies that locations will be verified (default). |
-U | Specifies that bad locations will be unexported. |
-R | Specifies that bad locations will be repaired. |
-a value | Specifies the DNS name or IP address of the admin server the port might be added using a colon separator. |
-c value | Specifies the server name. |
The dmf repair command provides dset and replica recovery on a data server. It is used to either restore a corrupted file system or migrate a data server to a different system if the NDAF dset data and state data is backed up.
The -V flag is used to check the dset and replica locations that are on the selected data server. This is the default action if no flag is set.
If the -V flag reports inconsistencies, the -R flag can be used to repair internal dset and replica descriptors. It will also reexport the dset and replica locations.
In case some locations are corrupted, you can request them to be unexported before doing the repair (-R) actions. To do so, run the dmf repair command with the -U (unmount) flag. Once the unexport action is done, you can destroy, recreate, and recover the file system from a backup. Finally, use the dmf repair server command with the -R option to recover the server and reexport the dsets within the file system.
validate
This verb takes the following syntax:
dmf validate object [params]
The validate verb checks the consistency of an object on the admin and on the object's server. A query is sent to the admin server daemon, which queries its database and the database of the object's server. Any consistent content found is returned.
Parameters
Item | Description | |
---|---|---|
object | Specifies the type of object validated. Values include the following (other parameters depend on the object): | |
server This object
parameter takes the following syntax:
where:
|
||
dset This object parameter
takes the following syntax:
where:
|
||
replica This object
parameter takes the following syntax:
where:
|
||
role This object parameter
takes the following syntax:
where:
|
check_adm
This verb takes the following syntax:
dmf check_adm admin [-a machine]
The check_adm verb detects and reports inconsistencies in the NDAF admin database.
check_serv
This verb takes the following syntax:
dmf check_serv server [-a machine] [-c server]
The check_serv verb detects and reports inconsistencies in the data server database.
check_adm_serv
This verb takes the following syntax:
dmf check_adm_serv admin [-a machine] [-c server]
dmf check_adm_serv admin [-a machine]
Or
dmf check_adm_serv server [-a machine] [-c server]
The check_adm_serv verb checks admin-data server database consistency.
Item | Description |
---|---|
0 | The command completed successfully. |
>0 | An error occurred. |
dmf create admin my_admin -a admin_host
dmf create server server_name server_dns_name -a admin_host
The dms daemons
must run on that machine.dmf create cell my_cell -a admin_host
dmf create dset my_dset server_name server_path -a admin_host -c my_cell
The dset
data will reside on server_dns_name in server_path.dmf create replica my_replica server_name replica_path -a admin_host -c my_cell -o my_dset
/usr/bin/dmf