~nabeken/diary/

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


IHANet BGP peering overview

Rimuhosting について

Posted on Tue Mar 17 01:11:16 +0900 2009 by nabeken

Xenが登場して以来、XenベースのVPSサービスが多数登場しています。日本でもいくつか見うけられます。海外では日本よりも栄えており、選ぶのにも一苦労な感じです。値段も激安からほどほどで、どれを選ぼうか悩みます。

私は実家でここ4年ほど固定IPアドレスでサーバを2台運用していますが、やはり1台では何かと不安なため、外に1台…と考えていました。また、手元のマシンで Xen を試していたため、Xenの可能性はある程度把握していました。そこで、 Google 検索していろいろ探しました。条件は次の通り。

  • Xen based
  • IPv6が使えること(native or tunneling)
  • 3000円/monthほどであること

IPv6が使えるには2つの障壁があります。まず、カーネルモジュールまたはカーネルにIPv6が組み込まれていること。そして、sitによるトンネリングを許可しているか、です。

1つ目は ProVPS を契約しました。契約してからカーネルを確認すると IPv6 が組み込まれていない、かつ、IPv6モジュールが用意されていなった状態。これはカーネルのバージョンから Xen のバージョンを推定して、手元でIIPv6モジュールを用意するも、どうもIPv6スタックをモジュール経由で入れるにはそもそもカーネル側で設定が必要なようで、失敗しました。サポートに問い合わせても、返事がなく、返事を促したところ、カーネルのバグではないかという回答。カーネルに組み込んでくれという願いも虚しく、解約を申し込みました。その時、今月の料金はいらないよという話だったので、基本的には非常に良心的だと思います。普通に使うなら、安くていい選択肢だと思います。

2つ目は rimuhosing を契約しました。料金では ProVPS を上まわっていたのですが、 geek friendly な感じで、早速契約時に IPv6 は使えるかという質問を投げると、 native では用意していないが、トンネリングはできるからそれで我慢してくれ、という回答を得ました。海外であれは tunnelbroker.net が近いので、そこを利用してトンネリングを考えました。時差の関係で真夜中に契約したにもかかわらず、3時間もせず開通し、ログインできました。ディストリビューションも数種類、ただし、 Gentoo はリソース食うからやめてくれという注意書きもありました :-)(実はここはディスクイメージでも受け付けてくれるので、やろうと思えばできるが、ということ)

さて、ログインして dmseg を見るとまずモジュールは許可していませんが、リクエストすればすぐに組み込んでくれるようで、ほとんどが組み込み状態でした。IPVSもあります。また、SWAPはデフォルトで96MB付いています。メモリを増やしたため、今は切って運用しています。

 # dmesg
Linux version 2.6.16.38-xenU (kernelbuilder@host94.rimuhosting.com) (gcc version 4.1.2 20071124 (Red Hat 4.1.2-42)) #2 SMP Wed Aug 13 21:03:44 EDT 2008
BIOS-provided physical RAM map:
 Xen: 0000000000000000 - 0000000019800000 (usable)
0MB HIGHMEM available.
408MB LOWMEM available.
NX (Execute Disable) protection: active
On node 0 totalpages: 104448
  DMA zone: 104448 pages, LIFO batch:31
  DMA32 zone: 0 pages, LIFO batch:0
  Normal zone: 0 pages, LIFO batch:0
  HighMem zone: 0 pages, LIFO batch:0
Built 1 zonelists
Kernel command line: root=/dev/xvda1 ro root=/dev/xvda1 ro root=/dev/xvda1 ro root=/dev/xvda1 ro root=/dev/xvda1 ro console=tty1
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Initializing CPU#0
PID hash table entries: 2048 (order: 11, 32768 bytes)
Xen reported: 1994.997 MHz processor.
Console: colour dummy device 80x25
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Software IO TLB disabled
vmalloc area: da000000-f53fe000, maxmem 2d7fe000
Memory: 399232k/417792k available (3529k kernel code, 10012k reserved, 773k data, 212k init, 0k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay using timer specific routine.. 4267.88 BogoMIPS (lpj=8535778)
Mount-cache hash table entries: 512
CPU: After generic identify, caps: 178bc3f1 ebd3fbff 00000000 00000000 00002001 00000000 0000001f
CPU: After vendor identify, caps: 178bc3f1 ebd3fbff 00000000 00000000 00002001 00000000 0000001f
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)
CPU: After all inits, caps: 178bc3f1 ebd3fbff 00000000 00000410 00002001 00000000 0000001f
Checking 'hlt' instruction... OK.
Brought up 1 CPUs
migration_cost=0
Grant table initialized
NET: Registered protocol family 16
Brought up 1 CPUs
xen_mem: Initialising balloon driver.
Sangoma WANPIPE Router v1.1 (c) 1995-2000 Sangoma Technologies Inc.
audit: initializing netlink socket (disabled)
audit(1235210029.923:1): initialized
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
fuse init (API version 7.6)
JFS: nTxBlock = 3200, nTxLock = 25600
SGI XFS with ACLs, security attributes, no debug enabled
SGI XFS Quota Management subsystem
Initializing Cryptographic API
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
i8042.c: No controller found.
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: loaded (max 8 devices)
nbd: registered device at major 43
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
PPP BSD Compression module registered
PPP MPPE Compression module registered
NET: Registered protocol family 24
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky 
netconsole: not configured, aborting
Xen virtual console successfully installed as tty1
Event-channel device installed.
netfront: Initialising virtual ethernet driver.
aoe: aoe_init: AoE v2.6-14 initialised.
mice: PS/2 mouse device common for all mice
md: linear personality registered for level -1
md: raid0 personality registered for level 0
md: raid1 personality registered for level 1
md: raid10 personality registered for level 10
md: raid5 personality registered for level 5
md: raid4 personality registered for level 4
raid5: automatically using best checksumming function: pIII_sse
   pIII_sse  :  7018.000 MB/sec
raid5: using function: pIII_sse (7018.000 MB/sec)
md: multipath personality registered for level -4
md: faulty personality registered for level -5
md: md driver 0.90.3 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: bitmap version 4.39
device-mapper: 4.5.0-ioctl (2005-10-04) initialised: dm-devel@redhat.com
device-mapper: dm-multipath version 1.0.4 loaded
device-mapper: dm-round-robin version 1.0.0 loaded
device-mapper: dm-emc version 0.0.3 loaded
GACT probability on
Mirror/redirect action on
Simple TC action Loaded
netem: version 1.2
u32 classifier
    Perfomance counters on
    input device check on 
    Actions configured 
Netfilter messages via NETLINK v0.30.
NET: Registered protocol family 2
netfront: device eth0 has copying receive path.
IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
TCP established hash table entries: 16384 (order: 5, 131072 bytes)
TCP bind hash table entries: 16384 (order: 5, 131072 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
TCP reno registered
IPv4 over IPv4 tunneling driver
GRE over IPv4 tunneling driver
ip_conntrack version 2.4 (3264 buckets, 26112 max) - 232 bytes per conntrack
ctnetlink v0.90: registering with nfnetlink.
ip_conntrack_pptp version 3.1 loaded
ip_nat_pptp version 3.0 loaded
ip_tables: (C) 2000-2006 Netfilter Core Team
ipt_recent v0.3.1: Stephen Frost .  http://snowman.net/projects/ipt_recent/
ClusterIP Version 0.8 loaded successfully
arp_tables: (C) 2002 David S. Miller
IPVS: Registered protocols (TCP, UDP, AH, ESP)
IPVS: Connection hash table configured (size=4096, memory=32Kbytes)
IPVS: ipvs loaded.
IPVS: [rr] scheduler registered.
IPVS: [wrr] scheduler registered.
IPVS: [lc] scheduler registered.
IPVS: [wlc] scheduler registered.
IPVS: [lblc] scheduler registered.
IPVS: [lblcr] scheduler registered.
IPVS: [dh] scheduler registered.
IPVS: [sh] scheduler registered.
IPVS: [sed] scheduler registered.
IPVS: [nq] scheduler registered.
TCP bic registered
Initializing IPsec netlink socket
NET: Registered protocol family 1
NET: Registered protocol family 10
lo: Disabled Privacy Extensions
IPv6 over IPv4 tunneling driver
ip6_tables: (C) 2000-2006 Netfilter Core Team
NET: Registered protocol family 17
NET: Registered protocol family 15
Bridge firewalling registered
Ebtables v2.0 registered
ebt_ulog: not logging via ulog since somebody else already registered for PF_BRIDGE
802.1Q VLAN Support v1.8 Ben Greear 
All bugs added by David S. Miller 
Using IPI No-Shortcut mode
Registering block device major 202
blkfront: xvda1: barriers enabled
blkfront: xvda9: barriers enabled
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
Freeing unused kernel memory: 212k freed
Adding 98296k swap on /dev/xvda9.  Priority:-1 extents:1 across:98296k
EXT3-fs warning: checktime reached, running e2fsck is recommended
EXT3 FS on xvda1, internal journal
sixbone: Disabled Privacy Extensions
eth0: no IPv6 routers present
 $ free -m
             total       used       free     shared    buffers     cached
Mem:           400        331         69          0         43        154
-/+ buffers/cache:        133        266
Swap:           95          0         95

Xenの運用にも熟れてきたのか、かなり安定しています。

 07:35:19 up 117 days, 11 min,  0 users,  load average: 0.01, 0.03, 0.00

契約して早1年です。Debian GNU/Linux ('lenny') で運用しています。2つしか使っていませんが、安定したサービスと先進的な機能を使いたい人はオススメです。

upgrading offer

以前、メモリのアップグレードオファーが来ました。どうもホスト側でメモリを持て余していたみたいで、安くてもいいから、メモリどうだい?という内容。スワップを切って運用していたので、256MBを $5/month で追加しました。今は 128 + 256 で運用中。

upgrading offer again..

VPSのあるテキサスのデータセンターでは、ハードウェアのスペック向上によりベースプランの改訂が行われました。その結果、同額でメモリが 400MB になりました。

Rimuhosting の特徴

Web上のコントロールパネルが充実しているため、ほとんどの操作がWeb経由で行えます。consoleもWebからできます(!)。

1. 各種バックアップサービスが充実している

至れり尽くせりで、

  • DNS のセカンダリー (3台)
  • MX のセカンダリー
  • FTP, SSH でアクセスできるバックアップ領域

などがあります。私は DNS のセカンダリーサービスを使い、計4台のDNSサーバを用意しています。構成は

  • ns1.tknetworks.org (PowerDNSによるマスター)
  • ns2.tknetworks.org (PowerDNSによるネイティブ[MySQLのreplicationを使っている]スレイブ; VPS上に用意している。)
  • ns3.tknetworks.org (ns1.rimuhosting.com; マスターから axfr でゾーン転送)
  • ns4.tknetworks.org (ns4.rimuhosting.com; 同上)

で、地域もそれぞれ分散しています。

利用例

まず、DNSサーバのセカンダリ、MXのセカンダリが主な用途です。次に nagios による監視。v6に拘ったのもnagios で直接ホストを監視したかったからです。Postfix, MySQL, PowerDNS てんこ盛りで上がってるプロセスは 75 個。

月々の転送量は 2GB ほどです。一応、上限は40GB/monthなんですが、まあ越すことはないでしょう。

これを見て、使おうと思ったひとはぜひ下のリンクからどうぞ。質問などがあれば @nabeken でも受け付けています。

rimuhosting: http://rimuhosting.com/?r=7293ce3577152c8f477d9ebb794e4b09

最近注目しているサービス

最近では IPv6 を native で提供している VPS も増えてきました。一例を上げると、

Rimuhosting も対応してくれればいいんですが…。今年も要望を上げておきました。