hatunina’s blog

メモと日記です

No space left on deviceが発生した時の対処

自分用メモです。

OSはUbunts 18.04 LTSです。

状況

GCEでkaggle APIでデータをダウンロードしていたら No space left on device と表示されエラー

対処1

おそらくディスク容量に空きがないと思われるので df -h で容量を確認する。
そして、容量を圧迫しているファイル・ディレクトリを適当に削除する。 今回は使っていたインスタンスが10Gしか容量がなかったため余分なファイル・ディレクトリ削除で解決した。

対処2

今回は該当しなかったけど、ついでに調べたのでまとめておきます。
ディスクが空いているのに No space left on device が発生する場合はinodeが枯渇している可能性あり。
inodeは df -i で確認する。
枯渇している場合は下記コマンドでどのディレクトリがinodeを使用しているか調査し不要なファイル・ディレクトリを削除する。

# 現在のディレクトリを調査
for i in `pwd`; do echo $i; find $i |wc -l; done

参考

inodeとは/inode消費が多いディレクトリの確認 – たぐたぐねっと

www.ivankuznetsov.com

docker for windowsでのpostgres永続化

やりたいこと

docker for windowsでdocker-composeを使ってpostgresのデータを永続化したい。
バージョンは以下。OSはWin10です。

f:id:hatunina:20181015202318p:plain

方法

下記コマンドで永続化のためのデータコンテナ作成

docker create --name dbdata postgres

docker-compose.ymlにvolumeを追記しトップレベルでデータコンテナを指定する。 例えば redash だとこんな感じ。

version: '2'
services:
  server:
    image: redash/redash:latest
    command: server
    depends_on:
      - postgres
      - redis
    ports:
      - "5000:5000"
    environment:
      PYTHONUNBUFFERED: 0
      REDASH_LOG_LEVEL: "INFO"
      REDASH_REDIS_URL: "redis://redis:6379/0"
      REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres"
      REDASH_COOKIE_SECRET: veryverysecret
      REDASH_WEB_WORKERS: 4
    restart: always
  worker:
    image: redash/redash:latest
    command: scheduler
    environment:
      PYTHONUNBUFFERED: 0
      REDASH_LOG_LEVEL: "INFO"
      REDASH_REDIS_URL: "redis://redis:6379/0"
      REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres"
      QUEUES: "queries,scheduled_queries,celery"
      WORKERS_COUNT: 2
    restart: always
  redis:
    image: redis:3.0-alpine
    restart: always
  postgres:
    image: postgres:9.5.6-alpine
      volumes:
        - dbdata:/var/lib/postgresql/data
    restart: always
  nginx:
    image: redash/nginx:latest
    ports:
      - "80:80"
    depends_on:
      - server
    links:
      - server:redash
    restart: always
volumes:
  dbdata:

こうしておけば docker-compose up , docker-compose down を繰り返してもpostgresのデータは dbdata コンテナへ永続化される。

参考

ishikawa-pro.hatenablog.com

qiita.com

github.com

AWS S3でData not foundと表示され削除できない時の対処

現象

バケットを削除したはずなのに、バケット配下のフォルダのみ削除されバケットは残っている状態。。。 また、Data not foundと表示されコンソール上で何も操作できない。。。

対処

削除が反映されるまで時間がかかるのでちょっと待ちましょうとのこと。

参考

https://forums.aws.amazon.com/thread.jspa?threadID=262821

「AWS 基礎からのネットワーク&サーバー構築」を読んだ

読みました。

www.nikkeibp.co.jp
帯にもあるようにアプリ開発者に超絶おすすめ
WordPress, MySQLをEC2に構築するためのネットワーク周りについて学べます。
vartualBoxとかを使う場合にはもっと細々とコマンドを打ったりしてネットワークを作る必要があるんだろうけど、AWSではGUICLIで簡単に作れちゃうので、GUIの操作も含めて把握できます。
ただ、当然だけどぱらぱらめくっただけの部分はほとんど理解できてないかも。ゲートウェイよくわからん。

CHAPTER9冒頭のまとめ部分は今後何回も見返しそうだし、ネットワーク構築で迷った際には全体的に辞書として使えそう。

aws-cliでCERTIFICATE_VERIFY_FAILEDが出た時の対処

一時的な対処なのでご了承ください。

下記バージョンです。
OSはWin10です。

aws --version
# aws-cli/1.16.10 Python/2.7.9 Windows/8 botocore/1.12.0


configureAPI keyやプロキシ等諸々を設定した後、ネットワークを繋ごうとすると下記エラー

aws s3 ls

# SSL validation failed for https://s3.ap-northeast-1.amazonaws.com/ [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)


そんな時は--no-verifyオプションをつければとりあえずなんとかなる。

aws s3 ls --no-verify
# C:\Program Files\Amazon\AWSCLI\.\urllib3\connectionpool.py:857: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: # https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl
# -warnings
# C:\Program Files\Amazon\AWSCLI\.\dateutil\parser\_parser.py:1175: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
# 2018-07-31 16:55:08 hoge
# 2018-08-09 11:24:58 huga


まあwarning出るけど。。。

参考

https://github.com/aws/aws-cli/issues/3009