タグ別アーカイブ: KVM

新さくらVPSの実利用ケースで速度計測した。 ついでに、お名前.comのVPSも試した

 新しいさくらのVPSに移行が完了した。
 早速、以前構築したffmpegで地デジ録画をトランスコードするシステムを2GBプランで走らせて実効レートを測定してみた。
high(1280×720 High@L4.1)プロファイルの場合14fps
walkman(400×240 Base@L3.0)プロファイルの場合63fps
 従来の3980円コースの8割前後のスピード処理できて1480円なので、かなり良い感じ。
 HDDの容量が200GBもあるから、変換後のデータをストリーミング用に保存するのに別サーバがいらない感じ(Walkmanプロファイルは30分で85MB)

 性能にとりあえず満足したので、2台を本契約にした。
 メインのシステムの運用コストが3980+1480>1480x2に下がったので、追加で2GBプラン1台をテストに使っていたのだけど、お名前.comで登録してあるドメインの管理をしに見に行ったらお名前.com VPSサービスが新しくなっていて、従来、高くていまいちなVZだけだったのに、KVMのサービスが始まっていたため、さくらの試用期間が切れる前にこちらもテストしてみることにした。

 このお名前のサービスは明らかにさくらを狙っていて、さくらとUnixBench比較したり、サービス比較表を作ったりしている。
 お名前.com VPSは、月額1380円のコースがほぼさくら 2GB(月額1480円)に対応した状態。
 CPUは3コア、メモリは2GBと同等だが、HDDが70GBと少ない。
 しかし、ベースがKVMで、VirtioがON/OFFを自由に切り替えられたり、持ち込みのISOイメージからブートしたり出来るなど、細かいところで良い感じを出している。

 いつものイメージバックアップ展開法を使って、KNOPPIXのCDでブートしたお名前に、さくら上に配置してあったフルバックアップをddで流し込む(自前CDイメージが使えるので、GRUBからブートの処理をしなくて良い)
 なお、旧さくらのVPS同様にドライブが2デバイスに分かれていて、vda=20GB vdb=50GB(hda/hdb)の状態になっていた。
 何の問題もなくVirtioでさくら上で使っていたイメージが動作開始。 仮想コンソールの操作性がイマイチ(ハングしたり重い)なのだけど、がんばってIP設定などを修正して、リブートすると普通にSSHで操作して残りのセットアップ。
 で、動画トランスコードシステムを走らせてみた結果・・・
high(1280×720 High@L4.1)プロファイルの場合21fps
walkman(400×240 Base@L3.0)プロファイルの場合90fps
 はやっ。 さくら速いなと思っていたけどそれ以上に速い。
 ディスク性能が著しく低下する事があるけど、それでもこの演算能力は魅力的だ。
 実環境でUnixBenchを測定すると、公式で謳っている3000は出ないことが多いものの(ディスクアクセスがイマイチ)、ウェットストーンが2000近く、演算能力の高さを伺わせる。

 ディスクの並列アクセス性能が非常に低い様だ。
 UnixBenchのディスク周りの結果を抜き出してみる(Virtio_blkオン)
並列無し

3パラ

並列にすると細かいほど低下していて、ごく普通のダイレクトディスクアクセスを思わせる結果。

さくら2GBの3パラの結果が

であるから、DB処理等でランダムなディスクアクセスが発生するとお名前は一気に遅くなりそうな傾向。 さくらは親OS側かRAID周りで大きいキャッシュを切っているのかもしれない。

 また、実際の利用だと、さくらよりもネットワーク帯域も狭めで大きいファイルの転送にはちょっといらつく。

 さくらの3本化はやめて、さくらのVPS2本+演算用にお名前.com VPSを1本契約して、演算済みの物をさくらに転送する感じで運用してみよう(用途的にHDD容量も重要な要素なので)

 演算性能重視ならお名前、ディスク容量・バランス重視ならさくらが良いかと思う。

(183)


カテゴリー: LAMP[Linux, Apache, MySQL, PHP], レビュー | タグ: , , , | コメントをどうぞ

KNOPPIXをVirtio(virtio_blk)=さくらVPS新プラン上で動作するようにする – VPSでddによるイメージフルバックアップ環境設定

 既存のLinux GRUB上からKNOPPIXを起動する手順で配置したKNOPPIXを起動しようとすると新さくらのVPS上では”Could not mount disk to /mnt-system.”エラーが出て起動できない。
 これは、KNOPPIXのmini rootにVirtioドライバが組み込まれていないためであるので、mini rootを修正してVirtio_blkから起動できるようにする。

 基本的な作業環境は、先の手順でKNOPPIXを配置した環境。
 KNOPPIXは6.7.1日本語版CD

  1. 必要なドライバを取得する
    適当なマシンでKNOPPIXを起動して以下のファイルをコピーする。
    /KNOPPIX/lib/modules/3.0.4/kernel/drivers/virtio/virtio.ko
    /KNOPPIX/lib/modules/3.0.4/kernel/drivers/virtio/virtio_ring.ko
    /KNOPPIX/lib/modules/3.0.4/kernel/drivers/virtio/virtio_balloon.ko
    /KNOPPIX/lib/modules/3.0.4/kernel/drivers/virtio/virtio_pci.ko
    /KNOPPIX/lib/modules/3.0.4/kernel/drivers/block/virtio_blk.ko

  2. mini rootを作業用に展開する

    #mkdir /tmp/minirt
    #cd /tmp/minirt
    #gzip -d /boot/KNOPPIX/minirt.gz | cpio -i -c

  3. mini rootにドライバを配置する

    #mkdir /tmp/minirt/modules/virtio

    先ほどのドライバを /tmp/minirt/modules/virtio の中へコピーする。

  4. 起動スクリプトを編集する

    #vi /tmp/minirt/init

    ドライバの組み込みとスペシャルファイルの作成設定
    KNOPPIX 6.7.1の場合355行(KNOPPIXロゴ下load_modules呼出下)]

    insmod /modules/virtio/virtio.ko
    insmod /modules/virtio/virtio_ring.ko
    insmod /modules/virtio/virtio_balloon.ko
    insmod /modules/virtio/virtio_pci.ko
    insmod /modules/virtio/virtio_blk.ko
    mknod /dev/vda b 251 0
    mknod /dev/vda1 b 251 1
    mknod /dev/vda2 b 251 2
    mknod /dev/vda3 b 251 3
    mknod /dev/vda4 b 251 4
    mknod /dev/vda5 b 251 5
    mknod /dev/vda6 b 251 6
    mknod /dev/vda7 b 251 7
    mknod /dev/vda8 b 251 8
    mknod /dev/vda9 b 251 9

    仮想デバイスのマウント設定
    KNOPPIX 6.7.1の場合622行]

    elif ! findknoppix $(listpartitions ‘hd[a-z]’ ‘hd[a-z][0-9]*’ ‘scd[0-9]*’ ‘sr[0-9]*’ ‘sd[a-z]’ ‘sd[a-z][0-9]*’); then

    elif ! findknoppix $(listpartitions ‘hd[a-z]’ ‘hd[a-z][0-9]*’ ‘scd[0-9]*’ ‘sr[0-9]*’ ‘sd[a-z]’ ‘sd[a-z][0-9]*’ ‘vda’ ‘vda[0-9]’); then

    if [ -d /sys/bus/usb/drivers/usb-storage ]; then
    for i in 1 2 3 4 5 6 7 8 9 10; do
    message -n -e “\r${CRE}${BLUE}${WAITFORUSB}${NORMAL}”
    sleep 2

    findknoppix $(listpartitions ‘scd[0-9]*’ ‘sr[0-9]*’ ‘sd[a-z]’ ‘sd[a-z][0-9]*’) && break

    findknoppix $(listpartitions ‘scd[0-9]*’ ‘sr[0-9]*’ ‘sd[a-z]’ ‘sd[a-z][0-9]*’ ‘vda’ ‘vda[0-9]’) && break

  5. mini rootを再パッケージして配置する
    # cd /tmp/minirt
    # find . | cpio -c -o | gzip -c > /boot/KNOPPIX/minirt.gz

 この手順で、/boot/KNOPPIX/minirt.gz イメージがVirtioのvdaデバイスから起動できるようになったので、従来の手順同様にGRUBからKNOPPIXを選択すれば新さくらのVPSでもKNOPPIXを起動できるようになる。
 これで本体OSを止めてKNOPPIXから起動できるようになるので、従来のddイメージコピーで安全にフルコピーがとれるようになる。
 さくらのVPS間でのdd over sshでのイメージコピーは7~9MB/s程度のレートで転送できるので、先頭20GBのみの転送で使用すればダウンタイムは1時間以下である。
 新規でさくらのVPSの環境を構築する場合にも、イメージバックアップを利用したい場合には、最初にカスタムインストールを行って、先頭に/と/bootパーティションを押し込んで、/homeを別途切っておいたほうがダウンタイムを押さえられる(/homeは後からscp等でコピーする)

1ディスクデバイス上の先頭にパーティションを切った場合、ddのbs(ブロックサイズ)オプションとcount(ブロック数)オプションを組み合わせて、bs * countバイトだけコピーできる。

 イメージバックアップを行う場合、セクタ換算で処理するために、200GB中10GBしか使用していなくても200GBの転送が発生するが、田中社長ブログにあるrsyncの方法によれば実際に使っている容量しか転送しないため、相対的に転送処理時間が長くなる可能性があるが、KNOPPIXを経由してイメージバックアップすると完全複製なので、旧サーバの上物が完全移行できる。
 クラウドのように同構成のサーバを複数展開したい場合、1サーバをセットアップしてイメージバックアップを展開用サーバに保存して、VPSを任意に追加してイメージを入れていくことでVPSでも横展開が楽に行える。

 この利用パターンで、エリア毎にDBの設定レコードだけが異なるサイト群を立ち上げるのに、1サイトにシステムを展開してイメージ展開している。
 新規サイトの展開時間はネットワークの転送速度で決まるが、20GBのみ切り出したシステムでは1サイト40分程度の作業時間で転送できる。 1からセットアップするのに比べれば速いが、クラウドに比べると遅い感じもする。
 並列に展開できるので、寝る前にVPS5個位展開開始してやると、朝には展開完了していて、管理画面から再起動をかけてifcfg等を軽くいじるだけなので、相当急いで何十単位でサイト展開するわけでなければこの手順で十分いけるかと思う。

(525)


カテゴリー: LAMP[Linux, Apache, MySQL, PHP] | タグ: , , , , , , | 4件のコメント