多段 SSH 先ホストを使ってDynamicForward (Sockets Proxy)

できるといいなーとおもってやったら普通にできた。

local -> host(A) -> host(B) -> remote

な感じの構成で、host(B) には local から直接 SSH できなくて、 remote には、host(A) からはアクセス出来ない場合、多段Proxy の設定で host(B) に Proxy しつつ、DynamicForward したい。ついでに ProxyCommand つかって ssh-config にも書きたい、とおもって、書いてみたらできた。そりゃ netcat してるだけなんだからできるか、と今更だけど思ったけど。

Host xxx_proxy
  User sotarok
  IdentityFile ~/path/to/key
  Hostname host(B)
  DynamicForward 127.0.0.1:8081
  ProxyCommand ssh host(A) nc %h %p

munin の memcached プラグイン

memcached プラグインというと、

/usr/share/munin/plugins/memcached_

ってファイルがあって、これに普通にsymlink張るだけだとどうも動作しなかった。どうやら、同じ実行ファイルで、ファイル名から、取得する情報を変更する、的な実装になっているみたい。(これはあるバージョン移行のif_eth0などもそうみたい)

なので、symlinkは、以下の3種類を作ってあげる。

$ cd /etc/munin/plugins
$ sudo ln -snf /usr/share/munin/plugins/memcached_ memcached_bytes
$ sudo ln -snf /usr/share/munin/plugins/memcached_ memcached_counters
$ sudo ln -snf /usr/share/munin/plugins/memcached_ memcached_rates

これで動作する。

(あ、あとなんか CPAN の Cache::Memcached がインストールされてなくて動作しない、ということもあった。CentOSの場合は sudo yum install perl-cache-memcached などで入れる)

MySQL について勉強する

している。毎日少しずつでもしましょう。


実践ハイパフォーマンスMySQL 第2版

実践ハイパフォーマンスMySQL 第2版

e1000eェ

再起動したら、eth0があがらなくなった。

SIOCSIFADDR: No such device
eth0: ERROR while getting interface flags: No such device
SIOCSIFNETMASK: No such device
SIOCSIFBRDADDR: No such device
eth0: ERROR while getting interface flags: No such device
eth0: ERROR while getting interface flags: No such device
Failed to bring up eth0.

xen kernel のときだけで、普通のkernelで起動すればあがってくるので、xenのブリッジの設定周りとか、udevまわりがあやしいとか死ぬほど色々悩んで色々やったけど、結局、カーネルのイメージアップデートしたときに、xen kernelのe1000eのドライバだけが新しくなってなかったらしく....

e1000eの最新のドライバを落としてきて、

/lib/modules/2.6.26-2-xen-686/kernel/drivers/net/e1000e/e1000e.ko
/lib/modules/2.6.26-2-xen-686/kernel/drivers/net/e1000/e1000.ko

を上書きしたら治った。

時間を無駄にしすぎたので反省してがんばる。

Debian の Xen 上の CentOS で 「INIT: Id "1" respawning too fast: disabled for 5 minutes」

先日のもろもろで、CentOS起動したと思ったんだけど、コンソールとろうとすると、起動時に

INIT: Entering runlevel: 3
Entering non-interactive startup
Bringing up loopback interface:  [  OK  ]
Bringing up interface eth0:  [  OK  ]
Mounting other filesystems:  [  OK  ]
Starting sshd: [  OK  ]
INIT: Id "1" respawning too fast: disabled for 5 minutes
INIT: no more processes left in this runlevel
INIT: Id "1" respawning too fast: disabled for 5 minutes

で、どうやらgettyで落ちてるらしい。

あれこれ検索した結果、どうやらゲストOSの /etc/inittab に指定されてる、

# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty hvc0
#2:2345:respawn:/sbin/mingetty tty2
#3:2345:respawn:/sbin/mingetty tty3
#4:2345:respawn:/sbin/mingetty tty4
#5:2345:respawn:/sbin/mingetty tty5
#6:2345:respawn:/sbin/mingetty tty6

が悪いらしい。編集すればいいらしいけど、ターミナルにアタッチできないのに編集だなんて・・・、と思ったけど、 http://blog.nice-777.com/?p=153 を参考に、ゲストのイメージをマウントしてホストから直接 /etc/inittab を編集。

% mkdir /mnt/instdisk
% sudo losetup -f
sudo/dev/loop0
% sudo losetup /dev/loop0 /home/xen/domains/sheryl/disk.img
% sudo mount /dev/loop0 /mnt/instdisk
% sudo vim /mnt/instdisk/etc/inittab

で、

# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
#2:2345:respawn:/sbin/mingetty tty2
#3:2345:respawn:/sbin/mingetty tty3
#4:2345:respawn:/sbin/mingetty tty4
#5:2345:respawn:/sbin/mingetty tty5
#6:2345:respawn:/sbin/mingetty tty6

そしたら無事にターミナルにもはいれた。めでたし。

Xen の Debian ホストに CentOS ゲストをインストール

ふつうに xen-create-image したら、エラーでた。

General Information
--------------------
Hostname       :  sheryl
Distribution   :  centos-5
Partitions     :  swap            512Mb (swap)
                  /               16Gb  (ext3)
Image type     :  sparse
Memory size    :  512Mb
Kernel path    :  /boot/vmlinuz-2.6.26-2-xen-686
Initrd path    :  /boot/initrd.img-2.6.26-2-xen-686

...

Copying files from host to image.
Copying files from /var/cache/apt/archives -> /tmp/FFm9Clfut8/var/cache/apt/archives
Done
Done
E: No such script: /usr/share/debootstrap/scripts/centos-5

Copying files from new installation to host.
Copying files from /tmp/FFm9Clfut8/var/cache/apt/archives -> /var/cache/apt/archives
Done
Done
The installation of the new system has failed.

The system is missing the common file: /bin/ls
Done
System installation failed.  Aborting

install method が debootstrap (デフォルト) だと、だめなので、rinseを指定する。

% sudo xen-create-image --ip xx.xx.xx.xx --hostname sheryl --dist centos-5 --install-method rinse

インストールできた、が、なにかエラーが発生していて起動できない。
なんか以下のようなエラーがでてた。yumが必要としているライブラリが欠けているらしい。

% sudo cat /var/log/xen-tools/sheryl.log
...
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

   libnss3.so: cannot open shared object file: No such file or directory

/etc/rinse/centos-5.packages に以下を追記して、xen-create-image やりなおし。

nss                                                                                                                                                                                                                                     
nspr
python-iniparse

で、起動もできた。

PTY allocation request failed on channel 0

xen で構築したホストにSSHしようとすると、

PTY allocation request failed on channel 0

とかいって止まってしまったりする。

そいつコンソールから入って、

# apt-get install udev

で解決したりした。