Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

NOTE THESE ARE NOT TO BE APPLIED TO 2.0 TESTING, USE THE QUICKSTARTS IN THE 2.0 ON-LINE DOCUMENTATION

Table of Contents

Table of Contents
excludeTable of Contents

...

Code Block
languagebash
# create pool
dmg pool create --label=pool_1 --size=50G

# sample output
Creating DAOS pool with automatic storage allocation: 50 GB NVMe + 6.00% SCM
Pool created with 6.00% SCM/NVMe ratio
---------------------------------------
  UUID          : 6af46954-f704-45f0-8b80-115ef855a065
  Service Ranks : [1-3]                               
  Storage Ranks : [0-3]                               
  Total Size    : 53 GB                               
  SCM           : 3.0 GB (750 MB / rank)              
  NVMe          : 50 GB (12 GB / rank)                

# assign pool uuid to a variable
export DAOS_POOL=<pool uuid>

# run daos autotest
daos pool autotest --pool $DAOS_POOL

# Sample output
Step Operation               Status Time(sec) Comment
  0  Initializing DAOS          OK      0.000  
  1  Connecting to pool         OK      0.070  
  2  Creating container         OK      0.000  uuid = 
  3  Opening container          OK      0.050  
 10  Generating 1M S1 layouts   OK      4.620  
 11  Generating 10K SX layouts  OK      0.140  
 20  Inserting 1M 128B values   OK     75.130  
 21  Reading 128B values back   OK     71.540  
 24  Inserting 1M 4KB values    OK    109.190  
 25  Reading 4KB values back    OK    103.620  
 28  Inserting 100K 1MB values  OK    413.730  
 29  Reading 1MB values back    OK    461.220  
 96  Closing container          OK      0.040  
 97  Destroying container       OK      0.070  
 98  Disconnecting from pool    OK      0.000  
 99  Tearing down DAOS          OK      0.000  

...

Code Block
languagebash
export D_LOG_FILE=/tmp/daos_perf_daos.log
daos_perf -g /etc/daos/daos_control.yml -o 10 -d 10 -a 10 -C 16 -A -R 'U;p F;i=5;p V' -P 1G -N 10G
   'U' means UPDATE, 'p' means outputing performance
   'F' means FETCH, parameter
   "i=5" indicates the FETCH test will repeat 5 times.
   'V' means verify correctness of data
   ‘o’ Number of Objects
   ‘d’ Number of dkeys
   ‘a’ Number of akeys
   ‘A’ Use Array value of akey. Single value is selected by default.
   ‘P’ Scm Pool size
   ‘N’ Nvme Pool Size

Test :
	DAOS LARGE (full stack, non-replica)
Pool :
	79cae139-272e-4ada-922e-98cc968126bf
Parameters :
	pool size     : SCM: 1024 MB, NVMe: 10240 MB
	credits       : 16 (sync I/O for -ve)
	obj_per_cont  : 10 x 1 (procs)
	dkey_per_obj  : 10
	akey_per_dkey : 10
	recx_per_akey : 16
	value type    : array
	stride size   : 64
	zero copy     : no
	VOS file      : <NULL>
Running test=UPDATE
Running UPDATE test (iteration=1)
UPDATE successfully completed:
	duration : 0.225937   sec
	bandwith : 4.322      MB/sec
	rate     : 70816.20   IO/sec
	latency  : 14.121     us (nonsense if credits > 1)
Duration across processes:
	MAX duration : 0.225937   sec
	MIN duration : 0.225937   sec
	Average duration : 0.225937   sec
Completed test=UPDATE
Running test=FETCH
Running FETCH test (iteration=5)
FETCH successfully completed:
	duration : 1.190614   sec
	bandwith : 4.101      MB/sec
	rate     : 67192.22   IO/sec
	latency  : 14.883     us (nonsense if credits > 1)
Duration across processes:
	MAX duration : 1.190614   sec
	MIN duration : 1.190614   sec
	Average duration : 1.190614   sec

...

Code Block
languagebash
# create pool
dmg pool create --config-path=/etc/daos/daos_control.yml pool create label=pool_2 --size=800G
Creating DAOS pool with automatic storage allocation: 800 GB NVMe + 6.00% SCM
Pool created with 6.00% SCM/NVMe ratio
---------------------------------------
  UUID          : b22220ea-740d-46bc-84ad-35ed3a28aa31
  Service Ranks : [1-3]                               
  Storage Ranks : [0-7]                               
  Total Size    : 848 GB                              
  SCM           : 48 GB (6.0 GB / rank)               
  NVMe          : 800 GB (100 GB / rank) 

# List pool
dmg --config-path=/etc/daos/daos_control.yml pool list
Pool UUID                            Svc Replicas 
---------                            ------------ 
b22220ea-740d-46bc-84ad-35ed3a28aa31 [1-3]

# assign pool uuid to DAOS_POOL variable
export DAOS_POOL=b22220ea-740d-46bc-84ad-35ed3a28aa31

# Pool Query
dmg --config-path=/etc/daos/daos_control.yml pool query --pool $DAOS_POOL
Pool b22220ea-740d-46bc-84ad-35ed3a28aa31, ntarget=64, disabled=0, leader=1, version=1
Pool space info:
- Target(VOS) count:64
- SCM:
  Total size: 48 GB
  Free: 48 GB, min:750 MB, max:750 MB, mean:750 MB
- NVMe:
  Total size: 800 GB
  Free: 660 GB, min:10 GB, max:10 GB, mean:10 GB
Rebuild idle, 0 objs, 0 recs

# create container of type POSIX
daos container create --pool=$DAOS_POOL --type=POSIX
Successfully created container cd46cf6e-f886-4682-8077-e3cbcd09b43a


# assign container uuid to DAOS_CONT variable
export DAOS_CONT=cd46cf6e-f886-4682-8077-e3cbcd09b43a

# create dir for dfuse mountpoint on all client nodes
pdsh -w $CLIENT_NODES 'mkdir /tmp/daos_dfuse'

# mount dfuse
pdsh -w $CLIENT_NODES dfuse --pool=$DAOS_POOL --cont=$DAOS_CONT --mountpoint=/tmp/daos_dfuse/

#verify dfuse got mounted.
pdsh -w $CLIENT_NODES df /tmp/daos_dfuse

wolf-86: Filesystem     1K-blocks      Used Available Use% Mounted on
wolf-86: dfuse          828125000 136841868 691283133  17% /tmp/daos_dfuse
wolf-88: Filesystem     1K-blocks      Used Available Use% Mounted on
wolf-88: dfuse          828125000 136841868 691283133  17% /tmp/daos_dfuse
wolf-87: Filesystem     1K-blocks      Used Available Use% Mounted on
wolf-87: dfuse          828125000 136841868 691283133  17% /tmp/daos_dfuse

...

Code Block
languagebash
dmg pool query --pool $DAOS_POOL
Pool b22220ea-740d-46bc-84ad-35ed3a28aa31, ntarget=64, disabled=0, leader=1, version=1
Pool space info:
- Target(VOS) count:64
- SCM:
  Total size: 48 GB
  Free: 47 GB, min:738 MB, max:739 MB, mean:739 MB
- NVMe:
  Total size: 800 GB
  Free: 338 GB, min:5.1 GB, max:5.5 GB, mean:5.3 GB
Rebuild idle, 0 objs, 0 recs

...

Code Block
languagebash
mkdir /tmp/daos_dfuse/daos_container_copy

daos filesystem copy --src daos://$DAOS_POOL/$DAOS_CONT2 --dst /tmp/daos_dfuse/daos_container_copy

mkdir /tmp/daos_dfuse/daos_contcontainer_copy//
failed,mkdir: Filecannot existscreate Successfully copied to POSIX: directory ‘/tmp/daos_dfuse/daos_cont_copy/container_copy’: File exists


Pool Query to confirm data got copied:

Code Block
languagebash
dmg pool query --pool $DAOS_POOL
Pool b22220ea-740d-46bc-84ad-35ed3a28aa31, ntarget=64, disabled=0, leader=1, version=1
Pool space info:
- Target(VOS) count:64
- SCM:
  Total size: 48 GB
  Free: 47 GB, min:732 MB, max:733 MB, mean:732 MB
- NVMe:
  Total size: 800 GB
  Free: 128 GB, min:1.8 GB, max:2.3 GB, mean:2.0 GB
Rebuild idle, 0 objs, 0 recs

...