我正在尝试在AWS EC2上导入整个星球的OSM数据。在“方式”处理期间或之后,我收到以下消息:
"Failed to read from node cache: Input/output error"
EC2有以下规范:
类型: i3.xlarge
内存: 30.5 Gb
vCPUs: 4
Postgresql: v9.5.6
PostGIS: 2.2
除了根卷之外,我还安装了900 2TB和2TB HHD (高吞吐量)。Postgresql数据目录位于HHD上。我已经命令osm2pgsql编写平面节点文件SSD。
下面是我的osm2pgsql命令:
osm2pgsql -c -d gis --number-processes 4 --slim -C 20000 --flat-nodes /data-cache/flat-node-cache/flat.nodes /data-postgres/planet-latest.osm.pbf
我以用户renderaccount的身份运行上述命令,它是以下组renderaccount ubuntu postgres的成员。flat-nodes文件似乎是在/data-cache/flat-node-cache/flat.nodes成功创建的,并具有以下配置文件:
ubuntu@ip-172-31-25-230:/data-cache/flat-node-cache$ ls -l
total 37281800
-rw------- 1 renderaccount renderaccount 38176555024 Apr 13 05:45 flat.nodes有没有人碰到或者解决了这个问题?我怀疑可能是因为权限问题?现在我注意到,自从上次osm2pgsql失败以来,作为flat-nodes文件目标的SSD已被转换为“只读”文件系统--当挂载卷(?)上出现i/o错误时,这种情况可能会发生。
另外,osm2pgsql是否写入日志以获取更多信息?
更新:dmesg输出:
[ 6206.884412] blk_update_request: I/O error, dev nvme0n1, sector 66250752
[ 6206.890813] EXT4-fs warning (device nvme0n1): ext4_end_bio:329: I/O error -5 writing to inode 14024706 (offset 10871640064 size 8388608 starting block 8281600)
[ 6206.890817] Buffer I/O error on device nvme0n1, logical block 8281344在研究了上面的输出之后,它可能是Ubuntu16.04中的一个bug。https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1668129?comments=all
发布于 2017-04-19 18:14:48
这是一个错误,Ubuntu16.04写入卷nvme0n1。被这个https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1668129/comments/29解决了
https://stackoverflow.com/questions/43398770
复制相似问题