2010年12月31日金曜日

2011年に向けてITインフラエンジニアとして何をやるべきか


このエントリーをはてなブックマークに追加


ITインフラ業界に身を置いていて最近特に感じるのが、もはやハードウェアによる差別化が図れない水準まできたということでしょうか。どこのメーカーのハードウェア製品を買っても、必要な性能を満たしており、どれを買っても一緒という状態。

もちろん、ニッチな領域においてはまだまだ差別化の要因はあるのでしょうが、市場の大半はそんな機能は必要としないでしょう。

こうなってくるとメーカーが物を売るにはハードウェア以外に差別化の要素を持つ必要が出てきます。今年のIT業界はSun、McAfee、3PAR、Isilonと大型の買収がいくつも起こりましたが、これらの買収はこういった背景を反映しているのでは?と感じます。

ハードウェアで差別化が図れないから、ソフトをくっつけてカバーする市場を増やし、全体としての価値を上げるという手法です。(このソフトを買いたいけど、一緒にサーバも提供してるならついでに買うか)

2011年はコンピュータがハードウェア的な位置づけから、ソフト(プログラム、人、サービス)的に大きく変わっていく年の始りではないかと思います。クラウドというキーワードでもその流れはますます加速しそうな状態です。

SAPみたいな基幹業務パッケージですら、クラウド化の流れが進行しています。今まではコンサルタントが常駐して業務分析を行い、巨大なハードウェアとソフトウェアライセンス、開発費用を投資して、各企業ごとにプロジェクトを起こしてという、これまでのシステム導入も大きく変わっていくでしょう。

この流れの中で、特に影響を受けるのが、ITインフラにかかわるエンジニアだと思います。こうやって各企業に分散しているシステムが、クラウド化・サービス化の流れで、集約されてしまうことで、間違いなく既存市場の縮小が起こってしまうからです。

しかし、仕事がなくなるわけではなく、別の領域にまた別の形で仕事が作られますが。。。

これは、ホストからオープン化に移行した時と同じ流れだと感じます。私の周りにも大勢いますが、当時ホストのエンジニア、営業をやっていた人たちで、新しい技術を学ぶ努力を放棄してしまった人の現在は悲惨なものです。

なので自分自身も、時代に取り残されないように日々勉強して行くつもりです。

2011年は以下に取り組んでいきたいです。

1. RHCAの取得
  OSを動かす場所が、物理HWからクラウド上に変化しても、
  基本となるOSの知識は役立ちます。
  またそういった基盤を自身で作りたいと考える人々には、
  KVMの知識なども有用だろうと考えるからです。

2. セキュリティ関連の知識
  サービスベースのITではセキュリティが重要ですので、
  セキュリティに関する知識をもうちょっと入手したいですね。
  資格取得をまずは目標にしようかと思います。

3. 英語の習得
  辞書片手にドキュメントを読むにはあまり苦労しないのですが、会話がさっぱりなので。
  これは、秋口に渡米して自分の会話力のなさを痛烈に実感したからです。

4. Common Lisp で何かアプリが作れるくらいに
  もともと趣味でLISPをちょろちょろ勉強しているのですが、
  もうちょっと実用的なレベルなものが作れるようになりたいですね。

インフラエンジニアとして、HWに依存しないようなスタイルでのスキルと実績をあげていければと考えてます。

まずはこのくらいを考えて2011年に臨もうと思います。

それでは、今年1年ありがとうございました。
引き続き来年もよろしくお願いいたします。

【送料無料】ITロードマップ(2011年版)
【送料無料】ITロードマップ(2011年版)
価格:2,310円(税込、送料別)


2010年12月30日木曜日

TeraTerm がものすごく便利になっている


このエントリーをはてなブックマークに追加


Win7化に伴い、今まで使っていたTeraTermをバージョンアップ。

何やらいろいろ便利な機能が増えていてびっくり。
とくに便利だと思った機能が、「漢字コードの簡単変更」機能


これは、すごくいい。HP-UXはShift-JISだし、SolarisはEUC、RHELはUTFとバラバラなので、ワンタッチ切り替えはすごく便利。

最近版はここから入手
http://sourceforge.jp/projects/ttssh2/



2010年12月29日水曜日

Windows 7 Pro で ソフトウェア RAID1


このエントリーをはてなブックマークに追加


前に買ってNexentaを入れてたSun Ultra 27 がハイスペックの割りに、使用頻度が高くなかったので、思い切ってWindows 7 Pro 64bit版に入れ替えて、メインマシン化することにしてみる。

 Sun Ultra 27
  Xeon W3520 4core 2.67GHz
  12GBメモリ
  Quadro FX370
  500GB SATA x2

Windows 7 のインストールは1台目のディスクを選択し、特に問題なく終了。
ドライバもすべてMS自前で用意されててらくちん。
Quadra FX370の、スペックスコアはかなりしょんぼり。

次に、ディスクをミラーするための手順。

 1. スタート → コンピュータ右クリック → 管理
 2. コンピュータの管理 → 記憶域 → ディスクの管理
 3. Windowsをインストールしたディスクを選択し、右クリック → ダイナミックディスクに変換
 4. ミラー先となるディスクは「未使用」状態にしておく。
 5. ミラーしたりパーティションを選択し、右クリック → 「ミラーの追加」 で、未使用ディスクを選択
 6. 複数パーティションある場合は、5を繰り返す

これで、同期が走り、ミラーリングされる。
容量しだいでかなり時間がかかるが、この間再起動をしてもOK。

ミラーが完了すると以下のようになる。

システム領域をミラーすると、Windows起動時にセカンダリディスクからの起動メニューが出るようになる。
ただ、このデフォルト待ち時間が30秒と長いので、5秒に変更する。

 1. ファイル名を指定して実行 → msconfig → ブート
 2. タイムアウト の項目を 5秒に変更

これで終了。


2010年12月25日土曜日

NTEmacs で Twitter


このエントリーをはてなブックマークに追加


予想以上に導入に苦戦してしまった・・・

まずはここから一式取得してくる。
http://www.emacswiki.org/emacs/TwitteringMode-ja

使ったのは、1.0.0。
ここがはまった原因で、この配布されるバージョンはREADME通り設定しても、Windowsだとうまく動かない。
(Linuxだとうまくいった)

なので、GITから最新版を取得してtwittering-mode.el を差し替える。
https://github.com/hayamiz/twittering-mode/blob/master/twittering-mode.el


これでとりあえずは動くようにできるので、一回ログインしてみる。

Emacsを起動して、M-x twit を起動すると、
URLが表示されるのでそのアドレスへアクセスし、PINコードを取得する。

PINをEmacsに入力して、TLが表示されればOK。

しかし、これだと毎回起動時にPINの認証を挟むことになって非常に煩わしい。
なので以下を参考に、自動ログインをさせる。

参考>> http://d.hatena.ne.jp/suttanipaata/20101016/1287262837

このログインした状態で、

M-x help-for-help
v ← 上のコマンドを入力するとメニューがでるので、vを選択
Describe variable: twittering-oauth-access-token-alist


と入力すると、twittering-oauth-access-token-alist に格納された、認証に関する変数の一覧が表示されるので、.emacs で以下のように設定する。
------------------------
(add-to-list 'load-path "~/.emacs.d/elisp/twittering-mode-1.0.0")
(require 'twittering-mode)

(setq twittering-account-authorization 'authorized)
(setq twittering-oauth-access-token-alist
      '(("oauth_token" . "XXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
 ("oauth_token_secret" . "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
 ("user_id" . "XXXXXXXXXXXXX")
 ("screen_name" . "XXXXXXXXXXX")))
------------------------
これで、次回起動時から認証無しで使える。便利!


2010年12月24日金曜日

ssh と リモートデスクトップの小技


このエントリーをはてなブックマークに追加


リモート管理には欠かせないsshとリモートデスクトップの小技


■ssh 接続で、接続先のXをリダイレクトする

ssh -X で接続する。

当然、接続元はXでログインしている必要があるが、これで接続先のXをリダイレクトして、接続元のGUIに画面を表示して操作ができる。
RHELのsystem-config-* や、Oracleの netca, dbca なんか使う時に便利。


■リモートデスクトップにCtl + Alt + Del を送信する

Ctl + Alt + Home

これで接続先にCtl + Alt + Del が送信可能。
たまに使う。


2010年12月23日木曜日

Solaris10 +Emacs23 にTeraTermで256カラー


このエントリーをはてなブックマークに追加


Solaris10へ、Teratermで接続したときに、256色で表示ができるようにしてやる。

■各種確認方法

(1)Teratermが256色表示できているか
http://frexx.de/xterm-256-notes/data/256colors2.pl

このperlスクリプトを実行して、下記のように表示されればOK。
NGな場合、TeraTermをバージョンアップする。

(2)Emacsが表示できるカラーを確認する
M-x list-color-display と実行すると、起動しているEmacsが表示できるカラーの一覧が表示される。
下記のように多数の色が選択できればOK。グラデーションがおかしかったり、8色しか表示されない、何も表示されない場合は、環境変数TERMの設定がおかしい可能性がある。



■Solarisでの設定方法
(1)Solarisはデフォルトで、xterm-256color というterminfo が含まれないので、ncurses をインストールする必要がある。
パッケージは Sun Freewareから取得すればよい。
ftp://ftp.sunfreeware.com/pub/freeware/intel/10/ncurses-5.7-sol10-x86-local.gz

# gzip -d ncurses-5.7-sol10-x86-local.gz
# pkgadd -d ncurses-5.7-sol10-x86-local.gz

(2)SolarisのTerminfo情報は/usr/local/share/terminfo 以下に保存されるので、リンクを張る。
# ln -s /usr/local/share/terminfo/x/xterm-256color /usr/share/lib/terminfo/x/xterm-256color

これで、TERM=xterm-256color を設定して、Emacsを起動すればカラー表示できるようになる。


Solaris10 + Emacs23


このエントリーをはてなブックマークに追加


Sun Freeware を使ってEmacs23を簡単インストール

Solaris10 は標準で/usr/sfw 以下にかなりのツールやライブラリがインストールされる。
しかしこれは軒並みバージョンが低いので、LD_LIBRARY_PATHなどを通さない方が良い。
変に古いファイルをリンクしてしまうと、トラブルのもとになりやすい。



atk-1.18.0-sol10-x86-local
bzip2-1.0.6-sol10-x86-local
cairo-1.4.10-sol10-x86-local
dbus-1.0.2-sol10-x86-local
emacs-23.2-sol10-x86-local
expat-2.0.1-sol10-x86-local
fontconfig-2.8.0-sol10-x86-local
freetype-2.4.2-sol10-x86-local
gconf-2.20.1-sol10-x86-local
glib-2.25.13-sol10-x86-local
gtk+-2.12.0-sol10-x86-local
jpeg-8a-sol10-x86-local
libcroco-0.6.1-sol10-x86-local
libgcc-3.4.6-sol10-x86-local
libgsf-1.14.7-sol10-x86-local
libiconv-1.13.1-sol10-x86-local
libidl-0.8.12-sol10-x86-local
libintl-3.4.0-sol10-x86-local
libpng-1.2.44-sol10-x86-local
librsvg-2.22.3-sol10-x86-local
libungif-4.1.4-sol10-x86-local
libxml2-2.7.7-sol10-x86-local
orbit2-2.14.10-sol10-x86-local
pango-1.18.2-sol10-x86-local
pixman-0.18.2-sol10-x86-local
render-0.8-sol10-intel-local
renderproto-0.9.3-sol10-x86-local
tiff-3.9.4-sol10-x86-local
xaw3d-1.5-sol10-intel-local
xft-2.1.2-sol10-intel-local
xmlparser-2.36-sol10-x86-local
xpm-3.4k-sol10-intel-local
xrender-0.8.3-sol10-intel-local
zlib-1.2.5-sol10-x86-local


を突っ込めば一通り動く環境が作れた。


2010年12月22日水曜日

CentOS5.5 + Chrome + Flash


このエントリーをはてなブックマークに追加


CentOSは提供されるライブラリのバージョンが低いため、GoogleからダウンロードできるChromeのRPMをそのまま動かせない。


を参考に、Chromeを動かしてみる。

1. yum のリポジトリを追加
# rpm -ihv chromium-repo-5-1.el5.i386.rpm

2. chromeのインストール
# yum -y install chromium

これだけで、追加したリポジトリから必要になるビルド済みバイナリを全て取得してくれるので簡単。

3. flashを追加

ここから、最新版のLinux RPMを取得してきてインストールするだけ。
シンボリックリンク等も必要ない。

これだけでCentOS上でChrome&Flashが使えるようになる。
YouTubeもニコニコも全く問題なし。


2010年12月21日火曜日

SolarisのATOKを外部IIIMECFから使う


このエントリーをはてなブックマークに追加


昔からATOKを使っているため、WindowsでもLinuxでもSolarisでもATOKで日本語入力がしたい。
個々にパッケージをインストールしているが、辞書が統一されないため非常に煩わしい。

特に良く使う、WindowsのNTEmacsと、Solaris上のEmacsの統一がとれないのが不満で、なんとか統一できないか試したところこの方法に行きついた。

辞書をSolaris側に統一する方針で使う事にする。

■Solaris10側で、iiimdの設定

# vi /etc/iiim/iiimd.xml.conf
-------------------------
<listen type="tcp">
    <hostname>0.0.0.0</hostname>
    <port>9010</port>
</listen>
<listen type="unix">
    <file>/var/run/iiim/.iiimp-unix/9010</file>
</listen>

<acls default="deny">
    <acl type="permit">
        <hostname>127.0.0.1</hostname>
    </acl>
    <acl type="permit">
        <hostname>winxp-u24</hostname>
    </acl>
</acls>
-------------------------
赤字部分を自分の好みで設定する。
設定項目:待ち受けるIP、ポート、アクセス許可するホスト(重要!)

これで、iiimdを起動してやれば、ポート9010で待ち受けてくれる。

■iiimdの起動
# iiimd

で起動できるので、適当に起動スクリプトを仕込んでおけば、OS起動時にiiimdを起動できる。

また、iiimdに -d オプションを付けると、でバックモードで起動し、クライアント側からのアクセス情報が標準出力に出るようになるので、障害解析に役立つ。

■IIIMECFの設定
Solaris、Windows、Linux共通。

まずはここから最新版のIIIMECFを入手する。インストール自体は添付のREADME.jaの通り。

.emacs に以下を記述
-------------------------
; 接続するサーバを指定
(setq iiimcf-server-control-hostlist (list "tcp:192.168.1.10:9010"))

; 接続するサーバで使うユーザ名を指定
; 指定しない場合、OSログインユーザ名@ホスト名が使用される
; Windowsの場合に重要で、辞書をあわせたいユーザ名を指定する。
; ここで指定するユーザはSolaris上に存在する必要がある
(setq iiimcf-server-control-username "username@hostname")

(setq iiimcf-server-control-default-language "ja")
(setq iiimcf-server-control-default-input-method "atokx2")
(setq default-input-method 'iiim-server-control)
(require 'iiimcf-sc)


; Shift-Space で半角スペースを挿入
(defun atok-insert-half-space ()
  (interactive) (insert " "))
(define-key iiimcf-server-control-initial-state-keymap
  (kbd "S-SPC") 'atok-insert-half-space)
-------------------------

これで設定は完了。これでユーザ名を合わせてやることでEmacs上での辞書ファイル統合が可能。
ややネットワーク越しの変換はややもっさりするが、そこまでは気にならない。


2010/12/24 Shift + Spaceで半角スペースを挿入する方法を追記


2010年12月20日月曜日

yum のリポジトリを追加する


このエントリーをはてなブックマークに追加


パッケージ管理のyumにリポジトリを追加する。
といっても、すごく簡単。

.repo ファイルを、/etc/yum.repos.d/ 以下に置くだけ。

くれぐれも怪しいリポジトリは追加しないように。


2010年12月18日土曜日

Evernoteを有料版にアップグレード


このエントリーをはてなブックマークに追加


今までは、Evernoteは無料版で間に合っていたんだけど、
iPhone用のワイヤレスキーボードを購入してから途端に使用頻度が上がり、いろんな文書を取り込んで、編集していたら、フリー版の月間アップロード上限容量に達してしまった。


アップグレードは簡単で、iPhoneのEvernoteアプリからAppStorを経由して1ヶ月分か、1年のどちらかを購入する。追加の情報入力もいらないので楽チン。
今回は1年分を購入。

カフェや移動中にパッとキーボードを出して、ささっと文書やメールを打てるのは相当便利。ポメラが気になっていたけど、これなら必要無さそう。

ただ、慣れてくるとiPhoneの日本語変換が貧弱でちょっと不満。ATOKが欲しいところ。

Androidと二重持ちは回線のランニングコストが高くつくので、悩ましい。



2010年12月11日土曜日

リュウド ワイヤレス折りたたみキーボードRBK-2200BTi


このエントリーをはてなブックマークに追加





評判が良さそうだったので買ってみた。USキー配列&Macタイプ。
折りたたんだ状態だとジャケットのポケットに入る。HHKより小さい。外での書き物する時もiPhoneとセットで手ぶらで外出できる。

iPhone4との接続は非常に簡単で、Evernote等でも普通に使えた。
外部キーボードを使っていい点が、ソフトキーが表示されなくなる分、画面の表示範囲が広がり、文書の作成がかなりやりやすくなるコト。
iPhone4 + ワイヤレスキーボードの組み合わせは、メールを書いたり、ブログの原稿を書いたりとかのテキストベースの作業なら実用レベルで使えると実感。
この記事もその組み合わせでEverNoteの書いたものをPCでアップしている。

最初、コピペのやり方がわからなかったけど、以下のショートカットで使える。

Cmd + c copy
Cmd + x cut
Cmd + v paste
Cmd + z undo
Cmd + a all select

ソフトキーに比べると、キーボードによる入力しやすさと、表示範囲の拡大で3倍くらい作業効率アップした。
久々のあたり商品。

2010/12/18 ショートカット追加

Command+Space: 最初の1回でキーボード切り替えインジケータ表示、次の1回からキーボードの切り替え
Command+A: 全選択
Command+C: コピー
Command+X: カット
Command+Z: 取り消す
Command+Shift+Z: やり直す
Command+V: ペースト
Command+↑もしくはCtrl+↑: テキストの先頭にジャンプ(Home)
Command+↓もしくはCtrl+↓: テキストの末尾にジャンプ(End)
Command+←もしくはCtrl+←: カーソルを行頭に
Command+→もしくはCtrl+→: カーソルを行末に
Shift+→, Shift+←: 選択範囲作成
Shift+Command+←もしくはShift+Ctrl+←:行頭まで選択
Shift+Command+→もしくはShift+Ctrl+→:行末まで選択
Option+←: 行頭方向へ単語単位ジャンプ
Option+→: 行末方向へ単語単位ジャンプ
Shift+Option+←: 行頭方向へ単語単位選択
Shift+Option+→: 行末方向へ単語単位選択
Ctrl+A: カーソル行頭ジャンプ
Ctrl+E: カーソル行末ジャンプ
Ctrl+F: カーソル右
Ctrl+B: カーソル左
Ctrl+K: カーソル以降削除
Ctrl+JもしくはCtrl+M: 改行
Ctrl+H: バックスペース
Ctrl+I, Tab: タブ
Tab: フォームで次へ進む
Shift+Tab: フォームで前へ戻る
(以下はApple Keyboardでないと無効?)
F1: バックライトを暗く
F2: バックライトを明るく
F7: iPodの戻る
F8: iPodの一時停止/再生
F9: Podの進む
F10: 音量ミュート
F11: 音量を小さく
F12: 音量を大きく 

参考>> http://www.agape-ch.net/archives/2955


2010年12月5日日曜日

インフラエンジニア向け:IBMの公開技術文書の充実っプリが半端ない件


このエントリーをはてなブックマークに追加


IBMの技術サイトである「IBM developerWorks Japan」に掲載されているOSS関連のドキュメントが素晴らしい。
Linux/OSS関連だけでも、2010年12月時点で600以上のドキュメントが登録されており、その質も非常に高い。
翻訳記事のようで、たまに日本語がおかしいところがあるけど、それを補って余るくらいの密度。
その中からインフラエンジニアとして、知っておくと良さそうな文書、面白そうな文書を何個か抽出してみた。

オススメはLPIC101の対策記事。実例を交えて詳しく解説されており、Linuxの動作を理解する上で非常に役立ちます。

本家サイトはこちら >> http://www.ibm.com/developerworks/jp/



2010年12月2日木曜日

GPGによる暗号化と復号化 メモ


このエントリーをはてなブックマークに追加


登場人物A、B
A → B へ暗号化したファイルを送りたい

B:暗号化キーの作成
# gpg --gen-key
# gpg --export --armor > userB.pub.key

userB.pub.key を メールでAに送る。

A:公開キーの登録と暗号化
# gpg --import userB.pub.key
# gpg --list-keys ← 登録したキーの確認ができる

# gpg -e --armor --recipient userB encdata

これでencdata.ascという暗号化されたファイルができるので、メールでBへ送ってあげる。

B:秘密キーを使って復号化
# gpg encdata.asc

復号化のための秘密キーも、パスフレーズもネット上を流れないのが最大のポイント。


2010年12月1日水曜日

Blogger 関連記事の表示


このエントリーをはてなブックマークに追加


以下を参考にやってみた。

参考>> Blogger Related Posts Service
参考>> 3行コードで導入 Appspot.com の関連記事表示の日本語ラベル
参考>> Blogger で「関連記事」リストを表示する 2 つの方法

デザイン → HTMLの編集 → 「ウィジェットのテンプレートを展開」にチェックを入れて編集する。
青字で検索して、赤字部分を追記
------------------------------------------
      <div class='post-footer-line post-footer-line-3'/>
      <b:if cond='data:blog.pageType == "item"'>
        <div><br/><h2>関連記事</h2></div>
        <div id='gas-results'/>
      </b:if>
    </div>
  </div>
=============== 省略 =================
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'/>
<script src='http://brps.appspot.com/gas.js'/>
</body>
------------------------------------------