~nabeken/diary/

Gentoo Linux(6年くらい)とFreeBSD(1年くらい)とOpenBSD(新参者)を使う日々。


IHANet BGP peering overview

Xen で IPv6 native な VPS "Rapidxen" をつかってみた

Posted on Wed Jun 24 01:00:18 +0900 2009 by nabeken

非常に安定していて、Rimuhostingで満足しているのですが、料金にやや不満が出始めたのと、IPv6への対応がまだなのを機にVPSを移行することにしました。

移行要件

  • Debian
  • IPv6 native
  • Xen
  • 安い

以上の要件を満すもので、今回は Rapidxen を選択しました。

申し込み

2009/06/17 にオンラインで申し込み。Paypalで1ヶ月分を支払い、サーバができあがるのを待つ。

翌日の昼すぎにVPSが開通しました。Debianにしたので、最小限の環境が用意されていました。Web上のコンパネでは、逆引きの設定やVPSの再起動や強制終了などができます。このあたりは、かなり簡素なのであまり期待しないほうがよいでしょう。

 $ ps ax
  PID TTY      STAT   TIME COMMAND
    2 ?        S<     0:00 [kthreadd]
    3 ?        S<     0:00  _ [migration/0]
    4 ?        S<     0:00  _ [ksoftirqd/0]
    5 ?        S<     0:00  _ [watchdog/0]
    6 ?        S<     0:00  _ [events/0]
    7 ?        S<     0:00  _ [khelper]
   19 ?        S<     0:00  _ [xenwatch]
   20 ?        S<     0:00  _ [xenbus]
   51 ?        S<     0:00  _ [kblockd/0]
   60 ?        S<     0:00  _ [ksuspend_usbd]
   66 ?        S<     0:00  _ [khubd]
   69 ?        S<     0:00  _ [kseriod]
  101 ?        S      0:00  _ [pdflush]
  102 ?        S      0:00  _ [pdflush]
  103 ?        S<     0:00  _ [kswapd0]
  104 ?        S<     0:00  _ [aio/0]
  229 ?        S<     0:00  _ [net_accel/0]
  523 ?        S<     0:00  _ [kstriped]
  528 ?        S<     0:00  _ [ksnapd]
  556 ?        S<     0:00  _ [kjournald]
    1 ?        Ss     0:00 init [2]  
 1115 ?        Sl     0:00 /usr/sbin/rsyslogd -c3
 1155 ?        Ss     0:00 /usr/sbin/cron
 1172 hvc0     Ss+    0:00 /sbin/getty 38400 hvc0
 1599 ?        S<s    0:00 udevd --daemon
 1664 ?        Ss     0:00 /usr/sbin/sshd
 1677 ?        Ss     0:00  _ sshd: nabeken [priv]
 1679 ?        R      0:00      _ sshd: nabeken@pts/0
 1680 pts/0    Ss+    0:00          _ -sh
 1686 ?        Rs     0:00          _ ps axf
 $ uname -a
Linux nabeken 2.6.26-1-xen-amd64 #1 SMP Sat Jan 10 20:39:26 UTC 2009 x86_64 GNU/Linux

これから察するに dom0 は Debian ですね。よいと思います。

 # cat /proc/cpuinfo

processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 15
model		: 65
model name	: Dual-Core AMD Opteron(tm) Processor 2216
stepping	: 2
cpu MHz		: 2399.998
cache size	: 1024 KB
physical id	: 0
siblings	: 1
core id		: 0
cpu cores	: 1
apicid		: 0
initial apicid	: 1
fpu		: yes
fpu_exception	: yes
cpuid level	: 1
wp		: yes
flags		: fpu de tsc msr pae cx8 apic cmov pat clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow up rep_good pni cx16 lahf_lm cmp_legacy extapic cr8_legacy
bogomips	: 4801.56
TLB size	: 1024 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc

 # free -m
             total       used       free     shared    buffers     cached
Mem:           256        120        135          0          7         88
-/+ buffers/cache:         25        231
Swap:          767          0        767

で、なぜか IPv6 アドレスがついていませんでした。プランにはちゃんとあるのに…。さっそく、チケットをオープンし、問合せました。24時間以内の回答ということでしたが、結局48時間後に返信がありました。回答は、IPv6 のゲートウェイアドレスと prefix のみで非常に簡素なものでした…。さっそく、VPSに設定したところきちんと通信できることを確認しました。/64なので、サービス毎にアドレスを振ることも可能です。

IO bandwidth が狭い

sarでモニタリングすると、特に負荷を掛けていない状態でも常時 iowait が発生しており、シェルの応答性がやや落ちることがしばしばあります。

Linux 2.6.26-1-xen-amd64 (winry) 	06/23/09 	_x86_64_

00:00:01        CPU     %user     %nice   %system   %iowait    %steal     %idle
12:00:01        all      0.00      0.00      0.00      0.31      0.05     99.63
12:10:01        all      0.00      0.00      0.00      0.09      0.04     99.86
12:20:01        all      0.17      0.00      0.25      0.10      0.05     99.43
12:30:01        all      0.00      0.00      0.00      1.44      0.04     98.52
12:40:01        all      0.01      0.00      0.00      1.08      0.05     98.86
12:50:01        all      0.16      0.00      0.28      4.28      0.05     95.22
13:00:01        all      0.00      0.00      0.00      0.32      0.05     99.62
13:10:01        all      0.00      0.00      0.00      0.41      0.07     99.52
13:20:01        all      0.17      0.00      0.26      3.10      0.05     96.42
13:30:01        all      0.01      0.00      0.00      3.50      0.04     96.44
13:40:01        all      0.00      0.00      0.00      7.57      0.04     92.39
13:50:01        all      0.17      0.00      0.26      7.89      0.05     91.63
14:00:01        all      0.00      0.00      0.00      7.12      0.05     92.82
14:10:01        all      0.00      0.00      0.01      6.55      0.04     93.40
14:20:01        all      0.01      0.00      0.11      1.98      0.05     97.84
14:30:01        all      0.15      0.00      0.16      3.33      0.05     96.30
14:40:01        all      0.00      0.00      0.00      5.33      0.05     94.61
14:50:01        all      0.00      0.00      0.00      4.61      0.05     95.34
15:00:01        all      0.18      0.00      0.23      2.31      0.05     97.23
15:10:01        all      0.00      0.00      0.00      4.82      0.05     95.13
15:20:01        all      0.00      0.00      0.00      3.09      0.05     96.86
15:30:01        all      0.19      0.00      0.25      3.95      0.05     95.55
15:40:01        all      0.00      0.00      0.00      1.13      0.04     98.82
Average:        all      0.06      0.09      0.28      6.10      0.05     93.41

このように、平均してもやや高め(?)の数値になっています。この件については、後日チケットをオープンしようと考えています。

現在の状態

  PID TTY      STAT   TIME COMMAND
    2 ?        S<     0:00 [kthreadd]
    3 ?        S<     0:00  _ [migration/0]
    4 ?        S<     0:00  _ [ksoftirqd/0]
    5 ?        S<     0:02  _ [watchdog/0]
    6 ?        S<     0:08  _ [events/0]
    7 ?        S<     0:00  _ [khelper]
   19 ?        S<     0:00  _ [xenwatch]
   20 ?        S<     0:00  _ [xenbus]
   51 ?        S<     0:00  _ [kblockd/0]
   60 ?        S<     0:00  _ [ksuspend_usbd]
   66 ?        S<     0:00  _ [khubd]
   69 ?        S<     0:00  _ [kseriod]
  101 ?        S      0:01  _ [pdflush]
  103 ?        S<     0:00  _ [kswapd0]
  104 ?        S<     0:00  _ [aio/0]
  229 ?        S<     0:00  _ [net_accel/0]
  523 ?        S<     0:00  _ [kstriped]
  528 ?        S<     0:00  _ [ksnapd]
  556 ?        S<     0:05  _ [kjournald]
17862 ?        S      0:00  _ [pdflush]
    1 ?        Ss     0:03 init [2]  
  637 ?        S<s    0:00 udevd --daemon
 1142 ?        Ss     0:01 /usr/sbin/sshd
11294 ?        Ss     0:00  _ sshd: nabeken [priv]
11296 ?        R      0:00      _ sshd: nabeken@notty
11297 ?        Rs     0:00          _ ps axf
 1162 ?        Ss     0:00 /usr/sbin/cron
 1182 hvc0     Ss+    0:00 /sbin/getty 38400 hvc0
 2913 ?        Ss     0:02 /usr/sbin/syslog-ng -p /var/run/syslog-ng.pid
 6019 ?        Ss     0:00 /usr/sbin/atd
 6569 ?        Ss     0:09 /usr/sbin/ntpd -p /var/run/ntpd.pid -u 104:108 -g
12157 ?        Ss     0:00 /usr/sbin/unbound
18797 ?        S      0:00 /bin/sh /usr/bin/mysqld_safe
18830 ?        Sl     0:02  _ /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock
26090 ?        Ss     0:06 /usr/sbin/apache2 -k start
26091 ?        S      0:00  _ /usr/sbin/apache2 -k start
26093 ?        Sl     0:00  _ /usr/sbin/apache2 -k start
26098 ?        Sl     0:00  _ /usr/sbin/apache2 -k start
30612 ?        Ssl    0:11 /usr/sbin/pdns_server --daemon --guardian=yes
30614 ?        Sl     0:00  _ /usr/sbin/pdns_server-instance --daemon --guardian=yes
11883 ?        Ss     0:04 /usr/sbin/openvpn --writepid /var/run/openvpn.osaka.pid --daemon ovpn-osaka --cd /etc/openvpn --config /etc/openvpn/osaka.conf
 7886 ?        Ssl    2:02 ruby /usr/sbin/puppetd -w 0 --server puppet.tknetworks.org --listen
 8106 ?        Ss     0:00 /usr/lib/postfix/master
 8108 ?        S      0:00  _ qmgr -l -t fifo -u
11066 ?        S      0:00  _ pickup -l -t fifo -u -c

一般的な使いかただと思います。余談ですが、動いている全サービスは Puppet で制御しているため、全機能の移行は実質半日ほどで完了しました。

まとめ

チケットへのレスポンスの遅さと IO bandwidth の狭さを除いて、今のところ機能面では特に問題ありません。ある程度、自力で解決できる人なら IPv6 native 欲しさに使うのもわるくはないと思います。ただし、IPv6 native がいらないなら、ここよりも rimuhosting を使うのがよいと思います。チケットへのレスポンスは非常に迅速で、IO bandwidth も広いのでまったく問題はありません。

http://rimuhosting.com/

rimuhostingで IPv6 native が来たら速攻で戻ること間違いなしです。

更新履歴

  • 初稿 (Wed, 24 Jun 2009 01:00:18 +0900)