How to install DAOS on ARM64 platform


Groot
 

How to install DAOS on ARM64 platform? Does it just like the process on x86 platform?

Thanks a lot.
Groot


Lombardi, Johann
 

Hi there,

 

Yes, the process is the same except that we don’t provide RPMs. Please use the master branch which is regularly built and (basically) tested on ARM64.

 

Cheers,

Johann

 

From: <daos@daos.groups.io> on behalf of Groot <kukougu@...>
Reply-To: "daos@daos.groups.io" <daos@daos.groups.io>
Date: Friday 23 September 2022 at 11:22
To: "daos@daos.groups.io" <daos@daos.groups.io>
Subject: [daos] How to install DAOS on ARM64 platform

 

How to install DAOS on ARM64 platform? Does it just like the process on x86 platform?

Thanks a lot.
Groot

---------------------------------------------------------------------
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris,
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 5 208 026.16 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


Groot
 

Thanks a lot.
But I can't install ipmctl on ARM64 platform.  I  tried to compile from the source but got an error saying the lack of cpuid.h file. 
And I get error no nvm_management.h file while compiling daos as below
github.com/daos-stack/daos/src/control/lib/ipmctl
lib/ipmctl/nvm.go:17:10: fatal error: nvm_management.h: No such file or directory

So how to compile daos on ARM64 platform? Give some details ?
Thanks.
Groot


Nabarro, Tom
 

Hello Groot,

 

What version of DAOS source are you compiling from?

Please try with current master branch if you are not already.

 

Regards,

Tom

 

From: daos@daos.groups.io <daos@daos.groups.io> On Behalf Of Groot
Sent: Sunday, September 25, 2022 2:02 PM
To: daos@daos.groups.io
Subject: Re: [daos] How to install DAOS on ARM64 platform

 

Thanks a lot.
But I can't install ipmctl on ARM64 platform.  I  tried to compile from the source but got an error saying the lack of cpuid.h file. 
And I get error no nvm_management.h file while compiling daos as below

github.com/daos-stack/daos/src/control/lib/ipmctl

lib/ipmctl/nvm.go:17:10: fatal error: nvm_management.h: No such file or directory

So how to compile daos on ARM64 platform? Give some details ?
Thanks.
Groot


Groot
 

Thanks a lot. We compile successfully by using the master branch.
But we face another problem by using ram and tmpfs to emulate SCM. We set the server config file just as https://github.com/daos-stack/daos/blob/master/utils/config/examples/daos_server_local.yml
And get the error when create pool
$ dmg pool create --size 1G Pool1
Creating DAOS pool with automatic storage allocation: 1.0 GB total, 6,94 tier ratio
ERROR: dmg: pool create failed: rpc error: code = Unknown desc = pool request contains zero target ranks
At the same time, we get the same error when we use ram to emulate SCM on x86 platform.
Any ideas?

Thanks.
Groot


samir.raval@...
 

Hello Groot,

Can you check if servers are ready using "dmg system query"? Looks like daos engine is not up.

Please also provide /tmp/daos_server.log and  /tmp/daos_engine.0.log.

Thank You
SAMIR


Groot
 

Since I build by source on ARM64 platform. I use daos_server start to start the daos server. But get the error bleow and I mkdir the /var/run/daos_server directory and the daos_server start successfully.
$ daos_server start 
ERROR: dRPC server setup: missing socket directory /var/run/daos_server: stat /var/run/daos_server: no such file or directory

But the daos_engine.0 (/tmp/daos_engine.0.log) get error after format the storage.
09/30-16:15:24.84 slave1 DAOS[1213401/-1/0] server ERR  src/engine/module.c:90 dss_module_load() cannot load librdb.so: /root/huzj/daos/install/bin/../lib64/daos_srv/librdb.so: undefined symbol: ds_obj_enum_pack
09/30-16:15:24.84 slave1 DAOS[1213401/-1/0] server ERR  src/engine/init.c:231 modules_load() Failed to load module rdb: -1003
Thanks a lot.
Groot


Faccini, Bruno
 

Can you check if /root/huzj/daos/install/lib64/daos_srv/librdb.so exists ?

And if not, is there any log for this build available ?

Also, what are the environment variables for the session you are using to start the server/engine ?

And last, can you attach your server/engine config file ?

Thanks in advance for your help,

Bruno.

 

From: <daos@daos.groups.io> on behalf of Groot <kukougu@...>
Reply to: "daos@daos.groups.io" <daos@daos.groups.io>
Date: Friday 30 September 2022 at 10:48
To: "daos@daos.groups.io" <daos@daos.groups.io>
Subject: Re: [daos] How to install DAOS on ARM64 platform

 

Since I build by source on ARM64 platform. I use daos_server start to start the daos server. But get the error bleow and I mkdir the /var/run/daos_server directory and the daos_server start successfully.
$ daos_server start 
ERROR: dRPC server setup: missing socket directory /var/run/daos_server: stat /var/run/daos_server: no such file or directory

But the daos_engine.0 (/tmp/daos_engine.0.log) get error after format the storage.

09/30-16:15:24.84 slave1 DAOS[1213401/-1/0] server ERR  src/engine/module.c:90 dss_module_load() cannot load librdb.so: /root/huzj/daos/install/bin/../lib64/daos_srv/librdb.so: undefined symbol: ds_obj_enum_pack

09/30-16:15:24.84 slave1 DAOS[1213401/-1/0] server ERR  src/engine/init.c:231 modules_load() Failed to load module rdb: -1003

Thanks a lot.
Groot

---------------------------------------------------------------------
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris,
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 5 208 026.16 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


Groot
 

Yes, the /root/huzj/daos/install/lib64/daos_srv/librdb.so exists.
And the environment variables we set just like the introduction in https://docs.daos.io/v2.0/QSG/build_from_scratch/#environment-setup
export daospath=/root/huzj/daos
export CPATH=${daospath}/install/include/:$CPATH
export PATH=${daospath}/install/bin/:${daospath}/install/sbin:$PATH
the server config file is:
#For a single-server system
 
name: daos_server
access_points: ['master']
port: 10001
 
 
provider: ofi+sockets
control_log_file: /tmp/daos_server.log
transport_config:
  allow_insecure: false
  client_cert_dir: /etc/daos/certs/clients
  ca_cert: /etc/daos/certs/daosCA.crt
  cert: /etc/daos/certs/server.crt
  key: /etc/daos/certs/server.key
 
telemetry_port: 9191
 
engines:
  -
    rank: 1
    pinned_numa_node: 0
    targets: 2
    nr_xs_helpers: 4
    fabric_iface: enp3s0
    fabric_iface_port: 31416
    log_file: /tmp/daos_engine.0.log
 
    env_vars:
      - FI_SOCKETS_MAX_CONN_RETRY=1
      - FI_SOCKETS_CONN_TIMEOUT=2000
    # Storage definitions (one per tier)
    storage:
      -
        # When scm_class is set to ram, tmpfs will be used to emulate SCM.
        # The size of ram is specified by scm_size in GB units.
        class: ram
        scm_size: 2
        scm_mount: /mnt/daos
 
Thanks.
Groot