本文遇到的报错内容为:
htsheep@server01:~/daos/install/bin$ sudo ./dmg pool create test_pool -z 32g
Creating DAOS pool with automatic storage allocation: 32 GB total, 6,94 tier ratio
ERROR: dmg: pool create failed: DER_HG(-1020): Transport layer mercury error
首先,如果设置了多个网络连接(比如engine0使用ibs1网口,engine1使用ibs22网口),请确保先按照官方文档中 DAOS multiple network links 配置页 跟随Setup for multiple network links小节进行设置。
注意net.ipv4.conf.all.arp_ignore要根据网口的掩码进行设置,如果使用的多个网口前16位相同(如均为123.123.xxx.xxx)则设置为2,前24位相同(123.123.123.xxx)则设置为1。
仍然报错:
如果配置完之后仍然报-1020错误,那么本文可以给出如下情况的解决方案:
—— 在daos_server.yml中provider先配置为ofi+sockets成功运行,而后配置为ofi+verbs;ofi_rxm或者ofi+tcp;ofi_rxm,再次运行发现报-1020错误
—— 更宽泛一些,provider使用某个配置运行后,修改为另一个配置报错
当然,其他原因导致报此错误也可以试一下。
本文解决方案来源:https://daos.groups.io/g/daos/topic/80268144#1331 该讨论帖中就是ofi+sockets改为ofi+tcp;ofi_rxm后出现的报错(我是改为的ofi+verbs;ofi_rxm报的错)
解决方法:
1.使用umount卸载所有挂载的设备
首先执行df -h确认挂载的设备名,可以看到/dev/pmem0和/dev/pmem1就是对应设备。
htsheep@server01:~/daos/install/bin$ df -h
Filesystem Size Used Avail Use% Mounted on
....
/dev/pmem1 496G 5.3G 490G 2% /mnt/daos/2
/dev/pmem0 496G 5.1G 490G 2% /mnt/daos/1
使用sudo umount <设备名> 卸载设备,这里我执行的是sudo umount /dev/pmem*,直接全卸载了。
2.使用wipefs -a将磁盘文件系统格式置为空
htsheep@server01:~/daos/install/bin$ sudo wipefs -a /dev/pmem*
/dev/pmem0: 2 bytes were erased at offset 0x00000438 (ext4): 53 ef
/dev/pmem1: 2 bytes were erased at offset 0x00000438 (ext4): 53 ef
3.删除挂载点所有文件
比如我执行的就是sudo rm -rf /mnt/daos/1/*和sudo rm -rf /mnt/daos/2/*。
4.关闭所有server和client后重新运行
5.执行sudo dmg storage format -d --force -i重新格式化存储
6.再次创建池,成功
htsheep@server01:~/daos/install/bin$ sudo ./dmg pool create test_pool -z 32g --user htsheep
Creating DAOS pool with automatic storage allocation: 32 GB total, 6,94 tier ratio
Pool created with 100.00%,0.00% storage tier ratio
--------------------------------------------------
UUID : 63c951be-44c6-4467-8148-e7682263ff70
Service Ranks : [1-3]
Storage Ranks : [0-5]
Total Size : 32 GB
Storage tier 0 (SCM) : 32 GB (5.3 GB / rank)
Storage tier 1 (NVMe): 0 B (0 B / rank)
如果仍存在问题,可以尝试继续参考https://daos.groups.io/g/daos/topic/80268144#1331 中内容,或者在该论坛查找报错内容或发帖求助。