Gathering DAOS data using DAOS resync snapshot
The DAOSMgr task has a feature for gathering DAOS data into a database that LocalDomainAdmins can examine and search. When enabled, a snapshot will run once during a resync and create a database to store the information in a persistent format that can be later reviewed.
Procedure
- Enable the snapshot for the next resync. There are two different ways to enable the snapshot from the console:
-
tell daosmgr resyncsnapshot enable
-
tell daosmgr resyncsnapshot enablefull
Either command outputs the database name that is populated when resync runs. The database name is a unique form of DRS<number>.nsf, where DRS stands for DAOS resync snapshot and <number> is a generated 5-digit number.
Be aware that usingresyncsnapshot enablefull
has a significant performance overhead. Running this command opens every DAOS object to read its header data. This is to provide the encryption information for the object. This process can be expensive, especially if the DAOS configuration includes Tier 2 objects. It is recommended to only use full snapshots if you really need the encryption information. In general, you should use the DAOS encryption manager to access and manage object encryption information.Note: After executing either command, the resync snapshot will only run on the next occurring sync. If you want a new snapshot on a new database, you have to re-enable it. -
- Execute the resync snapshot.
Resync will run like normal, except that it will also create and populate the database whose name was provided during step 1.
If you need to run resync snapshot immediately, run:tell daosmgr resync force
Otherwise, it will run on the next scheduled full resync.
- Review the snapshot database.After resync completes, open the DRS database from Notes and examine its contents. For details, refer to the next section.Note: You need be a member of LocalDomainAdmins to read the database.
Viewing the snapshot database
- Which databases use a specific object?
- How many databases are DAOS-enabled?
- How many of the DAOS-enabled databases actually have DAOS objects?
- How many DAOS objects does a particular database have?
- How many DAOS objects are missing or marked for deletion?
- How many DAOS objects have more than one reference?
- What is the largest number of references for any DAOS object?
- When were DAOS objects last accessed?
- How many objects are in Tier 1 and Tier 2?
- How many objects are encrypted using shared keys?
- How many DAOS objects are in a particular DAOS subdirectory?
- DITIndex view
-
The DITIndex view has the following columns:
- "Database" shows the path to the database
- "Ticket count" shows the total number of DAOS objects in the database
- ObjectEncryptInfo
- This view contains data only if
resyncsnapshot enablefull
was used.It has the following columns:
- "DAOS Object" shows the key for each DAOS object
- "Encrypted" indicates if the object is encrypted
- "Master Key" shows if it is using server or shared encryption
- "Master Key Hash Type" only applies to shared keys and will always be SHA-256
- "Data Key" shows the encryption strength
- ObjectIndex
-
ObjectIndex has the following columns:
- "DAOS Object" shows the key for each DAOS object
- "State" shows the state of the object, either Shared, Private, Deleted, Missing, or Ghost.
- "Ref Count" shows the number of references to the object
- "Last Accessed" shows the date the object was last accessed
- "Tier" indicates where the object is currently located, either in T1 or T2
- "Path" shows the location of the object in either Tier 1 or Tier 2
Note: You can sort these columns, for example by refcount to find the object with the highest number of references. - TicketList
- This view is categorized by database and shows a list of DAOS objects
for each database.
It has the following columns:
- "Database ID" shows each database with DAOS references
- "DAOS Object" shows a list of DAOS objects that the database references
- "Database Path" shows the full pathname