「クラウド」カテゴリーアーカイブ

ARMのサーバーの動向

ARMのサーバープロセッサとしての動向が紹介されています。

ARMアーキテクチャのサーバープロセッサは、つぼみのまま枯れてしまうのか?

サーバープロセッサとしては、電力効率はよくても性能が出なかったために広く普及はしていないようです。

これからのサーバーの開発はクラウド事業者が先導するようですので、しばらくすると状況は変わるかもしれませんね。

GeForceをサブスクリプションで利用する

さくらインターネットでは、GPUを使えるサーバーを時間貸しでレンタルすることが9月から始まっていました。

今回、NvidiaからGeForceのレンタルが開始されるようですね。

【速報】GeForceもサブスクリプションの時代に

ローカルのPCにゲームをインストールしても、リモートのGPUが使えるようになるとか。どういう技術を使っているのでしょう。

ローカルのPCはただの端末というわけではなそうですね。アプリケーションが対応していないとだめということでしょうか。

米国では3月から始まるそうですので、しばらくたつとどんなものかわかってくるのでしょう。

仮想マシンとコンテナの違い

仮想マシンとコンテナの違いが簡単にまとめられています。

コレ1枚で分かる「仮想マシンとコンテナの違い」

両者ともアプリケーションを動かす環境を提供します。一言で違いをいうと、OSを動かすかどうかです。それに伴って様々な違いが生まれるのですけど。

両者の特性を生かして上手に使いたいですね。

ARM版のWindows 10でWin32アプリが動く

ARM版のWindows 10でWin32アプリケーションが動くそうですね。

【詳報】Win32アプリが動く“ARM版Windows 10”はフル機能搭載の完全なるWindows 10

もうすでにスマホのAndroidでは、IntelのCPU上でARM版のアプリがエミュレーションによって動いています。これの逆をやることになるわけで、できないことではないと思っていました。ARMのCPUの処理速度がエミュレーションに耐える速度になってきたということでしょう。

ただ、Win32のアプリは簡単なものから複雑なものまで多岐にわたります。よく使うアプリが快適に動くのはもう少し時間がかかるのではないかと思います。Photoshopをデモに使っていたそうですが、実用に耐えるのでしょうか。

NASにVirtualBoxをインストールして古いOSを使う

最近のNAS(Network Attached Storage)は、高機能化していて仮想化環境も扱えるようになっています。NASとは、ネットワーク越しに使えるハードディスクです。

そこで、昔のPCをそのままディスクイメージに変換して使う方法が、紹介されています。

“昔のPC”をNASに保存、さらにリモートでも使用可能に!

記事では、ASUSTORのNASにVirtualBoxを導入して、Windows 7のPCをNASに移行する方法が詳しく説明されています。

移行したWindows 7を使う方法は2つあって、1つはリモートデスクトップを使う方法です。

もう1つは、ASUSTORのNASのHDMI端子を使ってディスプレイに出力できるそうです。

調べてみると、サポートされるモデルは、AS31/32/50/51/61/62/70だそうです。メモリーはなるべくたくさんないといけないので、AS50/51シリーズ以上の機種で、メモリーを増設して使わないといけません。最大で8GBだそうなので、仮想化されるOSは、1つか2つが精いっぱいではないでしょうか。

少しお値段が張るのがネックですかね。

「うるさい隣人」問題

仮想環境において、同居したサーバーがコンピューターのリソースを取り合うことを「うるさい隣人」問題というそうですね。

仮想環境における「うるさい隣人」問題 (1/3)

パフォーマンスの低下の原因には、CPU、メモリー、ネットワーク、ストレージなどあらゆる場所が考えられるそうです。

その中のストレージについて、少し詳しく言及されています。

完全にコントロールするためには、ハイパーバイザーかハードウェア側で制御しないといけない問題だと思います。

さくらインターネットでGPUサーバーのレンタルが開始されます

さくらインターネットで、GPUサーバーのレンタルが開始されるそうですね。

「NVIDIA Tesla」搭載GPUサーバを月額制で──さくらインターネットが9月末に開始

費用が結構かかるようです。どれくらい需要が見込めるのでしょう。ビジネスとして成り立つのかどうかとても興味があります。

Docker for Windowsの仕組み

DockerがWindowsに正式に対応しました。コンテナーがどうやってWindowsで動くのか興味がありました。

無償の「Docker for Windows」で手軽にLinuxコンテナを利用する (1/2)

以前は、VirtualBoxの上で、Tiny Core Linuxという小さいLinuxを動かしていました。

正式な対応といって、どうしてるのかと思いました。結局、Hyper-Vの仮想マシンが1つ動いていて、その上でAlpine LinuxというLinuxが動いています。仮想マシンの名前はMobyLinuxVMとなっています。その上でDockerのコンテナが動いています。MobyLinuxってなんでしょう。

コンテナが実行される環境としては、仮想マシンを動かしてLinuxの上で実行しているのは変わりません。

Windows上からコマンドで、Linux上のコンテナを操作しているわけですね。

VMware Workstation PlayerでOpenStack Mitakaのネットワークを設定しインスタンスを起動

はじめに

VMware Workstation PlayerでOpenStack Mitakaのインストールをしています。

前回は、OpenStack MitakaをインストールしてDashboardを見るところまでをやりました。

インストールにはこちらのサイトを参考にさせていただきました。今回は、ネットワークを設定しインスタンスを起動してロードバランサを動かすところまでやります。

VMware Workstation PlayerでOpenstack Kiloを動かす手順

ネットワークの設定では、こちらも参考にさせていただきました。

OpenStack Neutronを使ってWebシステムを構築する実践的な方法 (1/3)

不具合の対処

OpenStackのホストとなるCentOSを再起動してみると、httpdサービスとneutron-serverサービスがfailedになって立ち上がりません。動くときもありますので、いつも動かないわけではないようです。

サービスの起動の状態を知るのは次のコマンドでわかります。

#systemctl list-units --type service

エラーメッセージはこんな感じです。

#systemctl status httpd

ERROR: scss.ast: Function not found: function-exists:1

#systemctl status neutron-server

neutron.service start operation timed out. Terminating.

こちらの情報によると /lib/systemd/system/httpd.service.d/openstack-dashboard.conf を実行するときに時間がかかりすぎるのが原因だとか。パッチも作られたようです。

とりあえず次のコマンドで手動で起動すると動きます。httpdが起動するまで少し待つ必要があります。

# systemctl start httpd
# systemctl start neutron-server

また、VMware Workstation PlayerのCPU2コア、メモリ4GBにすると安定して動くようになりました。CPU1コア、メモリ4GBでは、リソースが足りないようです。

ネットワークを設定

VMware Workstation PlayerでOpenstack Kiloを動かす手順に従ってネットワークを動かそうとしました。しかし、502 Bad Gatewayというエラーが出て動きません。

問題の特定にはログファイルを見るしかないようでしたが、OpenStackを始めたばかりでどのログファイルのどこを見ればいいのかよくわかりません。

そこで、OpenStack Neutronを使ってWebシステムを構築する実践的な方法 (1/3)に従ってネットワークが動作することを確かめました。そのあとに手順書に従ってネットワークを動かしました。

@ITのサイトでは、OpenStackのハンズオンを基にした手順が書かれてありわかりやすかったのですが、公開するネットワークの設定の仕方が書いてないため、手探りで設定しました。下記に書いたようにpublicのネットワークを設定しました。

また、手順書のようにtennant_idを一つ一つ手書きするのはとても大変でした。そこで、@ITの記事を参考に次のようにしてネットワークを設定しました。

ちなみに、VMware Workstation Playerの画面で作業するのはコピーペーストできません。コピーペーストできるsshクライアントを用意してVMware Workstation PlayerのCentOSにアクセスして作業するとはかどります。

まずpublicという名前の公開するネットワークを作ります。作成する時のポイントはnet-createのときに、--router:externalを使うことです。これで外部のネットワークだと指定することができます。

OpenStackのホストとなるCentOSのIPアドレスは、192.168.0.140と指定してインストールを行っています。そのIPアドレスを外して、192.168.0.141から192.168.0.199をFloationg IPという名前で使って良いアドレスと指定します。

# neutron net-create public --route:external
# neutron subnet-create --name public_subnet --disable-dhcp --allocation-pool start=192.168.0.141,end=192.168.0.199 public 192.168.0.0/24

次に非公開のネットワークを作ります。OpenStackのインスタンスはまずこのネットワーク上に接続されて作られます。そのあとに上記の公開するネットワークからFloationg IPからIPアドレスを割り当てることで外部のネットワークと通信できるようになります。

neutron net-createでprivate-net1というネットワークを作ります。プライベートネットワークのIPアドレスは 192.168.10.0/24という範囲でネットワークを設定し、101から199まで指定します。 ゲートウェイは192.168.10.1を使います。

# neutron net-create private-net1
# neutron subnet-create --name private-net_subnet1 --enable-dhcp --allocation-pool start=192.168.10.101,end=192.168.10.199 --gateway 192.168.10.1 --dns-nameserver 8.8.8.8 private-net1 192.168.10.0/24

router-createで、router1という仮想ルーターを作ります。router-gateway-setでpublicネットワークにつなげます。publicネットワークでは、Floating IPから192.168.0.141というアドレスが付与されます。router-interface-addで、プライベートなネットワークにつなげます。private-net_subnet1のIPアドレス192.168.10.0/24で最初のアドレス192.168.10.1が使われます。先にゲートウェイを指定していたのと合っている必要があります。router-port-listとsubnet-showで確認できます。

# neutron router-create router1
# neutron router-gateway-set router1 public
# neutron router-interface-add router1 private-net_subnet1
# neutron router-port-list router1
# neutron subnet-show private-net_subnet1

インスタンスを起動

VMware Workstation PlayerでOpenstack Kiloを動かす手順に従ってインスタンスを起動しようとしました。しかし、--is-public と --location というオプションはないといわれ、イメージの登録ができません。

調べてみると、glanceはOpenStack kiloからOpenStack Libertyに変わったときにバージョンが上がってるようです。--os-image-api-version 1 というオプションをつけることでコマンドを使うことができました。

# glance --os-image-api-version 1 image-create --name cirros --is-public True --container-format bare --disk-format qcow2 --location http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img

バージョン2で使うときは、--is-publicを--visibility publicにすることと、--locationは対応するものがないので、イメージをあらかじめローカルにダウンロードしておいて--fileオプションを使って指定するとよいようです。

あとは手順書に従って、インスタンスを作って起動し、ロードバランサを作って動作確認しました。OpenStack KiloとMitakaでは画面が変わっていますが、対応するところはすぐわかると思います。

OpenStackのホストであるCentOS上で次のようにルーティングを設定すると、CentOSからOpenStackのインスタンスに接続できます。動作の確認ができるのでとても助かりました。

# route add -net 192.168.10.0/24 gw 192.168.0.141 br-ex

実際にロードバランサの動作を確認すると、Curlでアクセスしたときはweb_server01とweb_server02の表示が交互に出て、ちゃんとラウンドロビンで動作していることがわかります。

しかし、ChromeでアクセスしてShift-F5でリロードしてみると時々しか変わりません。ブラウザによって動作が異なるようです。原因はわかりませんでした。

インスタンスをKVMで起動

せっかく、VMware Workstation Playerを使ってOpenStackでもCPUの仮想化機能を使えるようにしています。そこで、OpenStackのインスタンスがKVMを使っているのかどうか確かめました。

デフォルトの状態では、OpenStackはQEMUを使ってインスタンスを動かしています。設定ファイルnova.confでvirt_type=kvmとすることで、KVMを使うように設定します。

/etc/nova/nova.conf

virt_type=kvm

実際にKVMが使われているかどうか、確認します。virsh listで、インスタンスのIdを確認して、virsh qemu-monitor-commandでinfo kvmとすることで確認できます。--hmpというのは、Human Monitor Protocolの略で、通常の人間がわかるコマンドを実行するということのようです。

kvm supportがenabledになっていれば、OpenStackのインスタンスでKVMが使われています。そこそこの速度で実行されているのではないでしょうか。

# virsh list

 Id    Name                           State
----------------------------------------------------
 2     instance-00000008              running
 3     instance-00000009              running
# virsh qemu-monitor-command --hmp 2 info kvm
kvm support:enabled

おわりに

neutronのコマンドにneutron lb-*というものと、neutron lbaas-*というものがあります。調べてみると、前者はLBaaS v1で後者はLBaaS v2というようです。v1とv2ではドライバから変わって、互換性はないそうです。v1は廃止予定になっています。せっかく覚えたのになんかもったいないですね。