Hatena::ブログ(Diary)

独りの超電波プログラマ このページをアンテナに追加 RSSフィード

2016-10-28

[] pypy virtualenv設定メモ

  • sudo apt-get install pypy virtualenv

$ virtualenv test -p `which pypy`

$ source test/bin/activate

$ pip install ...

2015-11-02

[] サーバがまた起動しなくなってた

Gave up waiting for root device. Common problems:

  • Boot args (cat /proc/cmdline)
  • Check rootdelay= (did the system wait long enough?)
  • Check root= (did the system wait for the right device?)
  • Missing modules (cat /proc/modules; ls /dev)

ALERT! /dev/disk/by-uuid/34e5c1 ... does not exist.

こういうやつでてた。

大体の場合はディスクデバイスが起動準備間に合ってない場合に起きるエラーで、すぐexitすれば、大体ディスクが立ち上がってるから、そのまま起動できる。回避するにはrootdelay=をすごく大きい数字にすればいいらしいけど、自分の場合、

(initramfs) blkid

これやっても何のディスクも表示されないから、そもそもディスクが認識されていない。ディスクがマウントされてない以上、busyboxツール以外何もできないので、死ぬかと思ったけど、幸いcloudcoreVPSは、OSインストールの際、任意のISOが選べる。「OSインストール」って書いてあるからISOで上書きするのかとおもいきや、単純に任意のISOからブートできる、というだけだったので、レスキューディスクが使える。debianの最小CDhttps://www.debian.org/CD/netinst/を使ってrescueで立ち上げたら、無事ディスクは生きてたので、まずバックアップをとった。

とりあえずgrub・initramfsの問題かと思って両方共書き直ししてみてもだめだったので、カーネル入れなおししてみた。

http://forums.debian.net/viewtopic.php?t=84834

# apt-get purge linux-image* && apt-get update && apt-get install linux-image-686

とあるけど、自分の場合はlinux-imageの最新版まだ入れてない状態だったので、そっち選んでインストール後、再起動で無事サーバが復活した。死ぬかと思った・・・。

2014-10-09

[] サーバが死んだ

https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1264075.html

Rescueで起動するとこれとそっくりな症状。なんと糞タイムリーな。

Welcome to Debian GNU/Linux jessie/sid!

[ 3.012374] <30> systemd[1]: Inserted module 'autofs4'

[ 3.038538] <30> systemd[1]: Set hostname to <debian>

[ 3.062844] <27> systemd[1]: Failed to create root cgroup hierarchy:

Invalid argument

[ 3.063076] <27> systemd[1]: failed to allocate manager object: Invalid

argument

以下復帰するために試した手順についてメモ。

試行錯誤でやって、なんとか動いた手順、というだけなので、恐らく正しい手順ではない。

  • grubdebianのrescueではなく、普通のやつを起動パラメータを修正して起動する。
    • eを押して修正モードに
    • linux ..... quietのquietを消してinit=/bin/bashにする。これでsystemdが走る前にbashに移れる
  • ファイルシステムがreadonlyで特に何もできないので、

# mount -o remount,rw /

これで書き込み可能に。

多分何度も失敗しながらやり直すことになるので、セットアップのコマンドをシェルスクリプトに保存しておく。emacsは動かなかったけど、jedは動いた。

#!/bin/sh

mount -o remount,rw /

/etc/init.d/networking start

ifconfig eth0 (server ip address) netmask (netmask)

route add default gw (gw ip address)

hostname broken

/etc/init.d/ssh start

これでネットにつながって、sshdが立ち上がる。nameserverの設定はやらなくても大丈夫だった。

あとは必要なサービスを動かす

/etc/init.d/nginx start

/etc/init.d/supervisor start

これでなんとかそれっぽく動くところまで持ってくることができるようになった。

systemdの208で起きる問題らしいので、バックアップが終わり次第ダメ元での215を入れようかと思う。

https://bbs.archlinux.org/viewtopic.php?id=176171

VPSとの相性でも起きる問題らしいので、cloudcore側に解決して欲しい問題なんだが、全く相手にしてくれなかった。腹立たしい。

追記:

上記の状態でapt-getは使えるようになったので、systemdの215を試してみるも直らず。

systemdをダウングレードするか別のinitを使うか迷って結局sysvinitにすることにした。dselectからsysvinit選ぶ。systemdの色々削るけど、めげずに選ぶ。再起動したら普通に動いた。