0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

HDDクラッシュからのベクトルタイル高速生産

Last updated at Posted at 2022-01-01

2021年末から2022年始にかけて、FTS Kitを構成していたハードディスクドライブがクラッシュしたことの対策をしていました。

 2021-12-30 10.03.46.jpg

起こったこと

https://x.optgeo.org/ をホストしている Raspberry Pi 4B (m354) には SATA HDD を USB 経由で接続し、そこにベクトルタイルなどのコンテンツを入れていました。この HDD はバスパワーで動かしていました。

今後、ホストするコンテンツを増強することを考えていたため、USB 接続の SSD ドライブを隣の USB ポートに接続したところ、しばらくディスクを回しているうちに HDD から異音が出るようになり、だんだんと壊れていきました。

原因を憶測してみます。二つの USB ドライブに対して必要な電流を Raspberry Pi が供給しきれず、HDD が設計外の動作をしたのではないでしょうか。

壊れた HDD を調べてみると、2011年の製造でした。よく回ってくれたと思います。

対策

HDD のファイルシステムの修復も試みつつ、ベクトルタイルは SSD の上に生産し直してみることにしました。optgeo は既存のオープンジオデータの運搬活性示数を増すことをする活動なので、何度でも生産し直せますね。

MacBook Air でのベクトルタイル生産

ただし、Raspberry Pi で生産し直していたのでは、またかなりの長時間がかかってしまいます。そこで、手元の MacBook Air (M1, 2020) で生産をしてみることにしました。

NFS

m354 にぶら下がっている SSD に MacBook Air からデータを書き込めるようにするために、NFS で接続をしました。

古くから問題ですが、macOS では初期作成のユーザーについて、uid 501, gid 20 になります。Raspberry Pi OS では uid 1000, gid 1000 です。

今回は、私は macOS 側に uid 1000, gid 1000 のユーザ fts を作って対応しました。

ちょっと怪しいところはありますが、おそらく問題なく動いています。

速度の比較(体感)

やはり、Apple M1 と BCM 2711 では格が違うようで、MacBook Air での生産は Raspberry Pi 4B と比べて格段に速度が速いです。

あまりきっちりと計測する余裕はないので、とりあえず体感の報告をします。

タスク一個の処理速度については、ざっくり 10 倍程度速い気がします。

さらに、タスクを 10 くらい並行で投入しても、この Qiita エントリがストレスなく書ける程度には安定して動いてくれます。

とはいえ、マルチコアを十分に活用してくれる Tippecanoe や tile-join を含むタスクを 10 も並行で投入していると、CPU のアイドルタイムはありません。キーボードがちょうど良い程度に温まり、この季節にはちょうど良い感じになります。

今後やりたいと思うこと

  • ストレージが失われやすいということを前提としてみると、ベクトルタイルをファイルシステム展開することを避け、SQLiteファイル(.mbtilesファイル)からホストする方法の方がスマートであるように思えます。UNVT には onyx に代表されるようなそういったサーバの運用実績があるので、これをもう少し汎用化して、気軽に使えるようにしてみたいと思います。すでに通られた道を通り直すような作業になるので、面白いだろうと思っています。ただ、とりあえず現状復帰を優先して、こちらの開発は後回しにしています。

あらゆる持続するウェブサービスはそうだと思いますが、障害があるたびに良くなりますし、障害があるたびに良くなることが重要です。よくしていきたいと思います。

2022年もよろしくお願いします。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?