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
参考
docker for windowsでのpostgres永続化
やりたいこと
docker for windowsでdocker-composeを使ってpostgresのデータを永続化したい。
バージョンは以下。OSはWin10です。
方法
下記コマンドで永続化のためのデータコンテナ作成
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
コンテナへ永続化される。
参考
AWS S3でData not foundと表示され削除できない時の対処
「AWS 基礎からのネットワーク&サーバー構築」を読んだ
読みました。
www.nikkeibp.co.jp
帯にもあるようにアプリ開発者に超絶おすすめ
WordPress, MySQLをEC2に構築するためのネットワーク周りについて学べます。
vartualBoxとかを使う場合にはもっと細々とコマンドを打ったりしてネットワークを作る必要があるんだろうけど、AWSではGUIやCLIで簡単に作れちゃうので、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
configure
でAPI 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出るけど。。。