« 2013年9月 | トップページ | 2015年5月 »

2015年4月

2015年4月25日 (土)

北海道の海岸で地面が幅300メートル高さ10メートル隆起!

北海道の海岸で地面が幅300メートル高さ10メートル隆起してるらしい。そんなことあるんだにゃ~。にゃんだか、怖いにゃー。

2015年4月24日 (金)

SmartOSをUpdateする(VMware Playerの場合)

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の場合) 」にまとめておきました。

2015年4月22日 (水)

Vagrant の仮想ゲストにインターネットから http 接続する(Vagrant Share)

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の方 にまとめています。

2015年4月19日 (日)

Docker Windows Client を Cygwin で動かすと tty を enable にできない件

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の有難味が今一つわかっていないのだけれど。。。

2015年4月18日 (土)

Windows Server 2012R2 の Vagrant Base Boxを作る

OSの評価・機能検証には、手軽に作ったり消したりできる環境があると便利です。Windows Server 2012 R2 の評価環境を Vagrant で手軽にデプロイできるよう Box を作成してみましたので、手順をまとめました。QIITAの方 に載せています。

(Windows Server 2012 R2インストールには、マイクロソフトTechnetからダウンロードした180日の評価版を使っています。)

ロードマップ

Box作成の大まかな手順は以下のようになります。

  • 仮想マシンの作成
  • 仮想マシンの設定
  • OSのインストール
  • Guest Additionのインストール
  • Vagrant Base Boxにするための設定
  • Windows Update の設定と更新プログラムを適用
  • インストールされていない役割や機能のバイナリの削除(オプション)
  • 追加のアプリケーションのインストール(オプション)
  • 解放された領域をゼロで埋める(オプション)
  • Vagrant Base Box を作成
  • Vagrant環境にを Box を追加
  • デプロイテスト
  • RDP接続テスト

2015年4月13日 (月)

SmartOSのLX Branded Zone(Linuxコンテナ)を動かす

今度は、Linuxコンテナ on SmartOSです。

SmartOSは仮想化テクノロジとして以下の機能を持っています。

  • SmartOSによるOS仮想化(コンテナ):
    • SmartOSのZone
    • LinuxのZone(LX Branded Zone)
  • SmartOS組み込みのハイパーバイザベースの仮想化
    • KVM

今度は、SmarOS上のLinuxコンテナであるLX Branded Zoneを動かしてみました。手順は、QIITAの方のSmartOSのLX Branded Zone(Linuxコンテナ)を動かす に載せました。

2015年4月12日 (日)

SmartOSのKVMゲストとしてCentOS7.1を動かしてみる

引き続き、SmartOSで遊んでいます。

SmartOSは仮想化テクノロジとして以下の機能を持っています。

  • SmartOSによるOS仮想化(コンテナ):
    • SmartOSのZone
    • LinuxのZone(LX Branded Zone)
  • SmartOS組み込みのハイパーバイザベースの仮想化
    • KVM

SmartOSのKVMは、zfsのsnapshot(clone)機能を利用してtemplateとなるVM imageから高速に新しいVMを生成することができます。以下の例では実際にCentOSのVMを作るコマンド(vmadm create)の実行時間は、数秒でした。使い捨てのVM環境を頻繁に作成する場合には、vagrant以上に強力な解かもしれません。VPSのようなサービスにも向いていそうです。

今度は、SmartOSのKVM上でCentOS7(7.1.1503)を動かしてみます。

手順は、QIITAの方に載せています。

SmartOSのKVMゲストとしてCentOS7.1を動かしてみる

SmartOSをVMware Playerで動かしてみた!

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によるOS仮想化(コンテナ):
    • SmartOSのZone
    • LinuxのZone(LX Branded Zone)
  • SmartOS組み込みのハイパーバイザベースの仮想化
    • KVM

そして、SmartOSでは、zfsのsnapshot(clone)機能を使って非常に高速に仮想環境をデプロイすることができます。

ここでは、VMware Playerで、SmarOSを起動してキーボード設定を(日本語に)変更し、シリアルコンソールの設定までの手順をまとめました。
(シリアルコンソールの部分は他のOSの場合の参考にもなると思います。)

SmartOSをVMware Playerで動かす 

« 2013年9月 | トップページ | 2015年5月 »