北海道の海岸で地面が幅300メートル高さ10メートル隆起!
北海道の海岸で地面が幅300メートル高さ10メートル隆起してるらしい。そんなことあるんだにゃ~。にゃんだか、怖いにゃー。
« 2013年9月 | トップページ | 2015年5月 »
北海道の海岸で地面が幅300メートル高さ10メートル隆起してるらしい。そんなことあるんだにゃ~。にゃんだか、怖いにゃー。
「SmartOSをVMware Playerで動かす」の後、JoyentからSmartOSの新しいバージョン20150417T032220Zが出ています。
「SmartOSのLX Branded Zone(Linuxコンテナ)を動かす」では、20150403T203920ZでLX Branded Zoneを動かしてみましたが、現在、Joyentのイメージソースに上がっているLX Branded Zoneイメージの動作条件は、20150417T032220Z以上になっているようです。そこで、「SmartOSをVMware Playerで動かす」で作った環境を20150417T032220Zにupdateしてみました(と書いていたら、投稿前にさらに20150423T155306Zが出ていましたので、最終的には20150423T155306Zにupdateしましたが、下記の手順中ではバージョン名は、20150417T032220Zとなっています。20150423T155306Zでも手順は全く同じです)。
SmartOSは、ブートディスクから起動された後は、ramdisk上で稼働し、Global Zoneでの変更はブートディスクへ書き出されることはありません。そのため、Solaris11でSRUを当てるような方法ではupdateできません。また、基本的にはブートディスクの platform ディレクトリ下を新しいバージョンのファイルに入れ替えればupdateは完了ですが、ramdiskであるため、SmartOS稼働中に単純に platform ディレクトリをコピーしても再起動すると消えてしまいます。
そこで、VMware Player上で稼働している SmartOS仮想マシンの場合は、仮想マシンイメージの中のOSイメージを直接updateすることになります。
今回は、既存の環境を間違って壊したくなかったので、クローンを作って以下の手順でupdateしました。石橋を叩かないのであれば、いきなり2.,3.でもOKです。
1.仮想マシンのクローンを作成する
2.Joyentから最新のVMware Fusion用仮想マシンイメージをダウンロード
3.smartos.imgファイルをコピー
4.仮想マシンを起動
詳しくは、QIITAの「SmartOSをUpdateする(VMware Playerの場合) 」にまとめておきました。
Vagrantで作った仮想ゲストにインターネット越しにアクセスしようとすると、いろいろと面倒なものです。設定が面倒なだけでなくファイアーウォールの内側にVagrant環境があったり、環境が自宅にあってプロバイダーからprivate addressしか割り当てられていなかったりすると、外に踏み台を用意したりといろいろ考えないといけません。でも、vagrant share を使えば、vagrantshare.comのサーバに中継してもらって、自宅の Vagrant環境へインターネットからアクセスするといったことが簡単に実現できます。httpを転送する場合の手順をまとめてみました。
1.HashiCorpのAtlasにアカウントを作成
2.Atlasにログイン(vagrant loginコマンド)
3.ポートフォワーディングの設定(Vagrantfile)
4.Atlasへ接続し、アクセス用URLを取得(vagrant shareコマンド)
5.アクセス用URLを使って、外部からアクセス
詳しい手順は、QIITAの方 にまとめています。
Docker Windows Client を Cygwin で動かすと
$ docker run -t -i ubuntu bash
time="2015-04-19T10:12:43+09:00" level=fatal msg="cannot enable tty mode on non tty input"
と怒られる。
これは、既に Github に Open Issue としてあがっていた。
"cannot enable tty mode on non tty input" in Cygwin in Windows #12469
Cygwin の問題のようだ。
msysgit の bash か cmd.exe/PowerShell を使えばこの問題は発生しない。
Git\bin\bash.exe ならちゃんとコンテナ上の bash につながりました。
bash.exe"-3.1$ docker run -t -i ubuntu bash
root@57d86023f148:/#
デタッチして、コンテナIDを確認
root@57d86023f148:/# bash.exe"-3.1$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
57d86023f148 ubuntu:latest "bash" 12 minutes ago
Up 12 minutes pensive_ptolemy
8518a008a628 ubuntu:latest "/bin/bash" 9 hours ago
Exited (0) 9 hours ago thirsty_elion
bash.exe"-3.1$
"cannot enable tty mode on non tty input" in Cygwin in Windows #12469
を見る限り、"we'll probably need to add a hack to fix this behavior of Cygwin."ということで対応は検討中のようだが、しばらくは Docker Windows Clientを使うときには、Cygwin は使わない方が良いようだ。
ここまでには、QIITAの方 にも書いておいたけど、そもそも、Unix/Linuxの住人なので、Docker Windows Clientの有難味が今一つわかっていないのだけれど。。。
(Windows Server 2012 R2インストールには、マイクロソフトTechnetからダウンロードした180日の評価版を使っています。)
Box作成の大まかな手順は以下のようになります。
今度は、Linuxコンテナ on SmartOSです。
SmartOSは仮想化テクノロジとして以下の機能を持っています。
今度は、SmarOS上のLinuxコンテナであるLX Branded Zoneを動かしてみました。手順は、QIITAの方のSmartOSのLX Branded Zone(Linuxコンテナ)を動かす に載せました。
引き続き、SmartOSで遊んでいます。
SmartOSは仮想化テクノロジとして以下の機能を持っています。
SmartOSのKVMは、zfsのsnapshot(clone)機能を利用してtemplateとなるVM imageから高速に新しいVMを生成することができます。以下の例では実際にCentOSのVMを作るコマンド(vmadm create)の実行時間は、数秒でした。使い捨てのVM環境を頻繁に作成する場合には、vagrant以上に強力な解かもしれません。VPSのようなサービスにも向いていそうです。
今度は、SmartOSのKVM上でCentOS7(7.1.1503)を動かしてみます。
手順は、QIITAの方に載せています。
SmartOSをVMware Playerで動かしてみたtときの手順を QIITAに載せましたので、こちらでも簡単にご紹介です。
SmartOSとは、ZFS + DTrace + Zones そして、なんと KVMが使えるOpen Solaris系のOSです。Sun Microsystems(現在のOracle)がオープンソース化した Open Solarisから派生したillumosのカーネルを使ったOSです。
また、DTraceは、LinuxコミュニティにSystem Tapの開発を促すこととなった動的トレースの本家です。
Zonesは、OS仮想化機能、いわゆるコンテナです。Oracle(Sun)のSolaris10では、そのものずばりコンテナと呼ばれていました。Oracle Solaris 11.2には、さらに複数のOSカーネルが動作するKernel Zone機能が追加されました。kernel Zoneは、複数のSolaris Kernelを動作させることができるものですが、SmartOSは、KVMを実装することで他のOSを動作させることができるようになっています。つまり、SmartOSは仮想化テクノロジとして以下の機能を持っています。
そして、SmartOSでは、zfsのsnapshot(clone)機能を使って非常に高速に仮想環境をデプロイすることができます。
ここでは、VMware Playerで、SmarOSを起動してキーボード設定を(日本語に)変更し、シリアルコンソールの設定までの手順をまとめました。
(シリアルコンソールの部分は他のOSの場合の参考にもなると思います。)