AWS EC2에서 전체 행성 OSM 데이터 가져 오기를 시도하고 있습니다. 중 또는 아마도 난 다음 메시지를 수신 "방법"처리 후의 :osm2pgsql 가져 오기가 "노드 캐시에서 읽지 못했습니다. 입/출력 오류"
EC2는 다음의 사양을 갖는다 "Failed to read from node cache: Input/output error"
:
유형 : i3.xlarge
메모리 : 30.5 기가
의 vCPU : 4
PostgreSQL을 : v9.5.6
PostGIS와 : 루트 볼륨뿐만 아니라 2.2
, 내가 장착 한 9백기가바이트 SSD 및 2TB HHD (높은 처리량). Postgresql 데이터 디렉토리는 HHD에 있습니다. osm2pgsql
에 플랫 노드 파일 SSD를 쓰도록 명령했습니다. 나는 다음과 같은 그룹 renderaccount ubuntu postgres
의 구성원 인 사용자 renderaccount
로 위의 명령을 실행
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
:
은 여기 내 osm2pgsql
명령입니다. flat-nodes
파일이 성공적으로 /data-cache/flat-node-cache/flat.nodes
에서 만든 것으로 보이는이 프로필이 있습니다
[email protected]:/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은 추가 정보를 얻을 수있는 로그에 기록합니까?
UPDATE : 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
위의 출력을 연구 한 후에는, 우분투 16.04에 버그가있을 수 있습니다 나타납니다. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1668129?comments=all