ドイツの格安VPS(Contabo VPS 300) を借りてセットアップ済サーバのOSを入れ替える

追記)Contabo のアフェリエイトリンクを貼っておきます．Contabo のサービスを申し込む場合は以下のバナーから申し込んでくれると嬉しいです．

今利用しているさくらのVPSのdiskがいっぱいになってしまいました．現在100GBですが，鹿児島市の航空写真のH30版を入手したのでもう50GBは欲しい．できればもう100GB．

オブジェクトストレージだとそこそこ安そうだけどさくらは申込み停止中．

新規お申し込み停止のお知らせ
100GiB以下 540円

オブジェクトストレージの仕様・料金 | さくらのクラウド

ConoHaは受付中みたい．

容量は100GB単位で追加でき、月額450円/100GBでご利用いただけます。

オブジェクトストレージ｜VPSならConoHa

Amazon S3 はどうだろうと計算すると今の転送量だと4000円/月以上しそう（◞‸◟）

海外だとどうだろうと VPS 比較サイトの VPS Comp を見ると，ドイツの Contabo VPS 300 というストレージ 300GB のサービスが 3.99€/月と格安です．日本円で500円位でしょうか．

VPS Comp

VPS configurator – Contabo.com

安いのでちょっと不安ですが契約してみました．セットアップ料金として別途 4.99€が必要でした．このフィーは申込期間が1ヶ月の場合で，3ヶ月，6ヶ月と伸びるごとに安くなって12ヶ月で無料になります．

契約には別途ライセンスの写真を送る必要がありました．日本語の住基ネットカードの表面のみの写真を送りましたが受け付けてもらえました．

するとすぐにアクセスのための情報がやってきました．アクセス手段はssh と VNC です．
申込時に指定したディストリビューションでセットアップ済ですが，自分で用意したイメージでセットアップしたり暗号化FSなども利用したいです．

さくらのVPS では自分で用意した ISO イメージでセットアップできました．

ISOイメージインストール – さくらのサポート情報

しかし，Contabo ではこの方法は使えないようです．
Webのコントロールパネルを見ると，Rescue system から SystemRescueCD, Debian Live, CroneZilla が使えるようです．

今回は，ディスクに空き領域を作成してそこに起動イメージとセットアップCD イメージを置いてセットアップ済イメージのGRUB からそれを起動してセットアップすることにしました．
(はじめ / の領域に置いて初期化しなければ行けるのではと試しましたがパーティションの設定で d-i に怒られたので別パーティションに)

ということでまずはWebコンソールから Debian Live で起動して，VNC で接続して Install 済のイメージをいじって500MB ほどの空きパーティションを作成しました． / が1GB ほどあったのでこれをおおまかに半分に分割しました．ext4 でフォーマットもして mount します．
(案外VNCももたつかず操作できた)

mount した領域に vmlinux, initrd, Debian Install CD を入れます．
今回はこの辺をダウンロードしました．

http://cdimage.debian.org/cdimage/weekly-builds/amd64/iso-cd/debian-testing-amd64-netinst.iso
http://cdimage.debian.org/cdimage/weekly-builds/amd64/iso-cd/SHA512SUMS
http://cdimage.debian.org/cdimage/weekly-builds/amd64/iso-cd/SHA512SUMS.sign
http://http.us.debian.org/debian/dists/buster/main/installer-amd64/20190410/images/hd-media/vmlinuz
http://http.us.debian.org/debian/dists/buster/main/installer-amd64/20190410/images/hd-media/initrd.gz

再起動してプリインストールイメージの GRUB で c を押して GRUB の command-line に入ります．
そしてこんな感じでさっきダウンロードしたイメージで起動します．

grub> imsmod part_msdos
grub> insmod ext2
grub> set root='hd0,msdos2'
grub> linux /vmlinux
grub> initrd /initrd.gz
grub> boot

うまく起動すれば後はいつもの d-i なのでよしなに……．セットアップが終わったらもったいないのでパーティションを操作してセットアップに使った領域をくっつけておきます．

リモートのサーバで暗号化FS を使うといちいちコンソールのVNC を立ち上げないといけなくて面倒という場合には Debian の場合 dropbear-initramfs を導入するとinitramfs で dropbrar(sshd) を利用できるようになり，ssh 経由でロック解除できます．自動化することも可能．

dropbear-initramfs pkg を導入して，/usr/share/doc/dropbear-initramfs/README.initramfs を見ると良いです．

$ sudo apt install dropbear-initramfs
$ sudo install -m 600 /dev/null /etc/dropbear-initramfs/authorized_keys
$ cat ~/.ssh/id_cdsa_remote.pub | sudo tee -a /etc/dropbear-initramfs/authorized_keys
$ sudo update-initramfs -u -k all

UnixBench 測ってみました．500円にしては案外性能いいような．＃自宅サーバ(HP ProLiant MicroServer)は 400前後なのに……

Benchmark Run: Sun May 12 2019 22:42:16 - 23:10:29
2 CPUs in system; running 2 parallel copies of tests

Dhrystone 2 using register variables 56736299.4 lps (10.0 s, 7 samples)
Double-Precision Whetstone 9687.1 MWIPS (9.2 s, 7 samples)
Execl Throughput 5257.7 lps (29.7 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 859332.6 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 245855.2 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 2105320.9 KBps (30.0 s, 2 samples)
Pipe Throughput 1607890.0 lps (10.0 s, 7 samples)
Pipe-based Context Switching 342078.2 lps (10.0 s, 7 samples)
Process Creation 11453.5 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 9834.5 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 1400.3 lpm (60.1 s, 2 samples)
System Call Overhead 1160557.8 lps (10.0 s, 7 samples)

System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 56736299.4 4861.7
Double-Precision Whetstone 55.0 9687.1 1761.3
Execl Throughput 43.0 5257.7 1222.7
File Copy 1024 bufsize 2000 maxblocks 3960.0 859332.6 2170.0
File Copy 256 bufsize 500 maxblocks 1655.0 245855.2 1485.5
File Copy 4096 bufsize 8000 maxblocks 5800.0 2105320.9 3629.9
Pipe Throughput 12440.0 1607890.0 1292.5
Pipe-based Context Switching 4000.0 342078.2 855.2
Process Creation 126.0 11453.5 909.0
Shell Scripts (1 concurrent) 42.4 9834.5 2319.5
Shell Scripts (8 concurrent) 6.0 1400.3 2333.9
System Call Overhead 15000.0 1160557.8 773.7
========
System Benchmarks Index Score 1682.8

回線速度も測ってみましたが流石に遅いですね．

近所

$ speedtest-cli --list|head -6|tail -5|cut -d\) -f1|xargs -I{} -n1 speedtest-cli --server {} |egrep '^Hosted|^Download:|Upload:'
Hosted by noris network AG (Nuremberg) [6.35 km]: 15.333 ms
Download: 98.64 Mbit/s
Upload: 4.02 Mbit/s
Hosted by 10G-Server.com (Nuremberg) [7.56 km]: 9.801 ms
Download: 98.59 Mbit/s
Upload: 4.04 Mbit/s
Hosted by Contabo GmbH (Nuremberg) [7.56 km]: 0.764 ms
Download: 99.14 Mbit/s
Upload: 4.04 Mbit/s
Hosted by Maltechx.de (Nuremberg) [7.56 km]: 8.903 ms
Download: 98.27 Mbit/s
Upload: 4.04 Mbit/s
Hosted by TempleServers (Nuremberg) [7.56 km]: 11.996 ms
Download: 98.20 Mbit/s
Upload: 4.08 Mbit/s

東京

$ speedtest-cli --list|grep -i tokyo|cut -d\) -f1|xargs -I{} -n1 speedtest-cli --server {} |egrep '^Hosted|^Download:|Upload:'
Hosted by OPEN Project (via 20G SINET) (Tokyo) [9281.34 km]: 259.654 ms
Download: 57.46 Mbit/s
Upload: 3.67 Mbit/s
Hosted by GLBB Japan (Tokyo) [9281.34 km]: 314.77 ms
Download: 40.50 Mbit/s
Upload: 3.72 Mbit/s
Hosted by i3D.net (Tokyo) [9281.34 km]: 811.767 ms
Download: 48.99 Mbit/s
Upload: 3.71 Mbit/s
Hosted by GIAM PING VIETPN.COM (Tokyo) [9281.34 km]: 309.393 ms
Download: 45.06 Mbit/s
Upload: 3.62 Mbit/s
Hosted by Rakuten Mobile , Inc (Tokyo) [9281.34 km]: 236.677 ms
Download: 61.32 Mbit/s
Upload: 2.45 Mbit/s
Hosted by Love4Taylor (Tokyo) [9281.34 km]: 263.325 ms
Download: 59.33 Mbit/s
Upload: 3.68 Mbit/s

暫く運用して問題無さそうなら国内のサーバを1つ閉じてこちらと役割分担する感じにしようと思います．