0%

2019/11/11 Week Release Note

雑感

  • もうだめぽ

11/11

  • はてなdiaryの記事を全部ここに引き上げた。
  • はてなのアカウント、消すか迷ってたけど消した。
  • ESディスクフル対応
  • はてなの記事を持ってきたせいで並びがおかしくなってるけど後で直します。。

ElasticSearch ディスクフル

ILM (index lifecycle management)を設定したので油断していたが、設定内容が
誤っていてまったくrolloverされていなかった。
原因は https://discuss.elastic.co/t/getting-errors-related-to-ilm/182256 これとまったく同じ。

なんかこの辺でそれっぽくはなったものの、index名が logstash-2019.11.11 とかだったのが logstash-000000 という
感じになってしまってちょっと残念。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 現状のテンプレート設定を取得
$ curl 192.168.10.20:9200/_template/logstash_index_templates
{"logstash_index_templates":{"order":0,"index_patterns":["logstash-*"],"settings":{"index":{"lifecycle":{"name":"logstash_policy"},"number_of_shards":"1","number_of_replicas":"0"}},"mappings":{},"aliases":{}}}⏎

# rollover_alias が設定されていないので追加してテンプレートを更新
# is_write_index も設定されていないので追加
$ curl -X PUT '192.168.10.20:9200/_template/logstash_index_templates' -H 'Content-Type: application/json' -d '{"index_patterns":["logstash-*"],"settings":{"index":{"lifecycle":{"name":"logstash_policy", "rollover_alias":"logstash"},"number_of_shards":"1","number_of_replicas":"0"}}"mappings":{},"aliases":{}}'
{"acknowledged":true}⏎

# templateを更新しても既存のindexの設定は変わらないので修正
$ curl -X PUT '192.168.10.20:9200/logstash-*/_settings' -H 'Content-Type: application/json' -d '{"settings":{"index":{"lifecycle":{"name":"logstash_policy", "rollover_alias":"logstash"}}}, "aliases":{"logstash":{"is_write_index":true}}}'
{"acknowledged":true}⏎

# index alias が作成されていなかったので作成(rollover_alias と合わせる)
$ curl -X POST '192.168.10.20:9200/_aliases' -H 'Content-Type: application/json' -d '{"actions" : [{ "add" : { "index" : "logstash-*", "alias" : "logstash" }} ] }'

よくわからんのでテストしてみた。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# kibana でpolicyを作成。 test_policy とする

# policy を適用するtemplateを作成
$ curl -X PUT '192.168.10.20:9200/_template/logstash_index_templates' -H 'Content-Type: application/json' -d '{"order":0,"index_patterns":["test-*"],"settings":{"index":{"lifecycle":{"name":"test_policy", "rollover_alias":"test"},"number_of_shards":"1","number_of_replicas":"0"}},"mappings":{},"aliases":{"logstash":{"is_write_index":true}}}}'

# documentがないとaliasが作れないのでとりあえずデータを入れる
$ curl -H "Content-Type: application/json" -XPOST "http://192.168.10.20:9200/test-0/_doc" -d "{ \"field\" : \"value\"}"

### 削除するとき用。(aliasと同名のindexがあるとaliasが作れない)
$$$ curl -X DELETE '192.168.10.20:9200/test' -H 'Content-Type: application/json'

# alias
$ curl -X POST '192.168.10.20:9200/_aliases' -H 'Content-Type: application/json' -d '{"actions" : [{ "add" : { "index" : "test-*", "alias" : "test" }} ] }'

# aliasに書き込んでいくとindexが自動的に切り替わる
$ curl -H "Content-Type: application/json" -XPOST "http://192.168.10.20:9200/test-0/_doc" -d "{ \"field\" : \"value\"}"

11/12

11/13

PPPoEを復活させて一部VMだけそちらを通す

OpenWRTルーターにPPPoEの接続を追加しようとした。
その瞬間、デフォルトゲートウェイが持って行かれて(チェックボックス外すの忘れた)
そこまでは良かったが、PPPoEが予想以上に遅く(DL 6Mbps UL 29Mbps)
こりゃダメだと思って切り戻しをしたら、なんとVPN経由の通信が一部通らない。
その一部がよりによって、k8sのserviceのIPで、見事にサービス停止。
通るIPアドレスは普通のVMのIPで、本当に全く問題なく通る。
k8sのserviceのIPだけがまったくだめで、tcpdumpしても理由が分からず。
VPN先→k8sには届いているが返りのパケットがVPN先まで届いてないような雰囲気だった。
多分、何かの設定が間違ってるのだろう。
深夜だったのでこれ以上何かしても被害が広がると思って寝た。

zfs send recv

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
web画面からzfs dataset pool/minio-backupを作成
バックアップ元は s3/minio

# zfs snapshot の ls
$ zfs list -t snapshot

# バックアップ先の atime が有効になっていると差分更新時に困るので off
$ zfs set atime=off pool/minio-backup

# zfs snapshot create
$ zfs snapshot -r s3/minio-data@backup

# send recv (初回)
$ zfs send s3/minio-data@backup | zfs recv s3/minio

# rename snapshot
$ zfs rename s3/minio-data@backup lastbackup

# 差分
$ zfs send -R -i @lastbackup s3/minio-data@backup | zfs recv -vF pool/minio-backup

11/14

ルーター切り替え

vyos

OpenWRT、GUIで設定しているとどうも不思議な事が起きるのでvyosに再度登板してもらった。
以前に設定したときのconfigをリストアすると普通に繋がってくれて、ああ。。これだよ。。
っていう感じに。

vyosでDS-LiteとPPPoEを併用する

vyosでDS-LiteとPPPoEを併用する場合、同一NIC上だと上手く行かなかった。
pppoe0: Coming Up から進まなかった。
Hyper-V上の第二世代VMなので、NICを増やして(同じ仮想スイッチにつないで)増やしたNICでPPPoEしたらあっという間に繋がった

policy based routing

DS-LiteとPPPoEのどちらを使わせるかを制御しないと片方しか使われないので設定する。
https://vyos.readthedocs.io/en/latest/routing/pbr.html
↑だとPPPoEを指定できないので↓で書く。幸いvyosでも使える
https://help.ubnt.com/hc/en-us/articles/204952274-EdgeRouter-Policy-Based-Routing

なんとなく動きそうな雰囲気はあったが、configが複雑になるのが嫌だったので別の方法にした。

と思ったが…

よく考えたらPPPoEが必要なのは全てVMなので、PPPoE専用のLANとPPPoE接続を行うルーターVMを立てることにした。
と言うことで、使い慣れたpfSenseで必要なものを作成した。はじめからこうすれば良かったんだ。。。

11/15

  • 転職エージェント登録した(その1)
  • 転職エージェント登録した(その2)
  • minioのバックアップをzfs send / recv に切り替えた。
  • 効果は絶大で、65GBの転送が1GB程度になってとてもよい。

minioバックアップをfreenasのcronに設定

1
2
3
4
5
6
zfs destroy s3/minio-data@lastbackup 
&& zfs rename s3/minio-data@backup lastbackup
&& zfs snapshot -r s3/minio-data@backup
&& zfs send -R -i @lastbackup s3/minio-data@backup | zfs recv -vF pool/minio-backup

実際は上記を1行にまとめて入れた。

11/16

  • 新規のサービス向けの頭出しした。

11/17

  • エージェント提出用の書類書いた。

TODO

k8sの仕組みでオートデプロイ再構築

  • fastladder
  • writefreely
  • misskey
  • テストインスタンス
  • 本番インスタンス

職務経歴書

  • 外枠(プロジェクト名と日付)
  • フォーマット統一
  • プロジェクトの中身 (2018)
  • プロジェクトの中身 (2017)
  • プロジェクトの中身 (2016)
  • プロジェクトの中身 (2015)
  • プロジェクトの中身 (2014)
  • プロジェクトの中身 (2013)
  • プロジェクトの中身 (2012)
  • プロジェクトの中身 (2011)
  • プロジェクトの中身 (2011より前)
  • 自己PR

痩せる

  • プールに行って泳ぐ

電気通信事業者

電気通信事業者、登録する。