solaris11のブート環境

solaris11にはブート環境というものがある。
最初、存在意義がよくわからなかったが、触ってみてわかった。これは便利だ。
例えば、こういう場合を考えてみる

  1. ある業務システムが動作中
  2. 追加でソフトAを入れる必要が出てきた。
  3. 追加したソフトAが原因で既存の業務システムに悪影響が出るかもしれない

さて、こういうとき、どうするか。
確実なのはこうだろう。

  1. ソフトAを追加する前のバックアップを取る
  2. ソフトAを追加
  3. 動作確認(ソフトA)
  4. 動作確認(既存の業務システム)

さて、満足する動作ができなかったとき、事前に取ったバックアップを使って「リストア」することになる。
なんだ、戻せるんじゃん。じゃあ、楽だな、と思った人は、よっぽどリストアに自信がある人か、あるいは、リストアのリスクを知らない人だ。
OSを含めたシステム全体のリストアをやろうとすると、かなり、大変な場合が多い。
では、ブート環境が使えるとどうなるか。

  1. ソフトAを追加する前のブート環境を作成(beadm create be00
  2. ソフトAを追加
  3. 動作確認(ソフトA)
  4. 動作確認(既存の業務システム)

バックアップを取る、の部分が「ブート環境を作成」に変わった。
満足した動作ができなかったとき、どう「戻す」のか。
戻す方法はこう

  1. ソフトAを追加する前のブート環境を選択(beadm activate be00)
  2. 再起動

これだけで、ソフトAを追加する前の状態に「戻る」
つまり、「戻し」作業がとてつもなく楽になる。(しかも、早い)


過去には、solarisのパッチ当ては「根性試し」だと思っていたのだが、確実に進化を遂げた。スゴいぜsolaris11。


参考:
ブート環境の管理
Oracle Solaris 11
でパッケージ管理をシンプルに(pdf)