OSアップデート、パッチ時に、現在の環境を安全に保全するには?
Solarisでは、OSのアップデートやパッチの結果、想定外の結果になった場合でも、下記の作業を行っておくことで、元の環境に戻すことができます。
Solaris11
BE(Boot Environments)は以下のコマンドで作成できます。
BEはZFSが提供するスナップショットとクローンを利用した、それぞれが独立して起動可能なOSインスタンスです。
# beadm create beName
主なオプション
- -a
- 作成と同時に、新しく作成されたBEをアクティブにします。デフォルトでは、新しく作成されたBEをアクティブにしません。
- -e beName
- 既存のアクティブでないBEから新しいBEを作成します。
実行例
BE「Solaris-20180101」を作成します。
# beadm create Solaris-20180101
作成したBEはbeadm listコマンドで表示できます。
# beadm list BE Flags Mountpoint Space Policy Created -- ----- ---------- ----- ------ ------- Solaris-20180101 - - 282.5K static 2018-01-01 16:24 Solaris-20170410 NR / 13.19G static 2017-04-10 17:26
Flagは以下を表しています。
- N
- ブート環境が現在アクティブであること
- R
- リブート時にアクティブになること
現在アクティブではないBEをアクティブにするときは、beadm activateコマンドを使用します。
# beadm activate beName
beadmコマンドで作成されるBEを保存し続けても、常に起動できるとは限りません。たとえば、アップデート後のOS上で、zfs/zpoolのバージョンをアップデートしたり、Native ZoneのようにGlobal Zoneと依存関係がある場合は、Activateが制限されることがあります。
また、BEはpkg updateコマンドにより、自動的に作成されます。
BE自体はZFSのスナップショットのテクノロジが使われます。beadmコマンドによって作られているスナップショットは、zfsコマンドではなく、beadm destroyを使って削除してください。
スナップショットは数が多くなることで、ストレージの速度が低下することがあるため、適度な削除が必要です。
その他のサブコマンドやオプション等、詳しくはOracleのドキュメントをご参照ください。
Solaris 10
Live UpgradeコマンドをZFSと組み合わせることにより、作成できます。Live Upgradeは、SUNWlucfg SUNWlur SUNWluuの3つのパッケージでインストールされます。
Live Upgradeで作られるBE(Boot Environments)は、ZFSが提供するスナップショットのクローンを利用した、それぞれが独立して起動可能なOSインスタンスです。
# lucreate -n Solaris-20180101
主なコマンドとオプション
- lucreate -n beName
- 既存のアクティブでないBEから新しいBEを作成します。
- lustatus
- BEのリストを取得します。
- luactivate
- BEをアクティベート(次回の再起動で利用する)にします。
実行例
BE「Solaris-20180101」を作成します。
# lucreate -n Solaris-20180101
作成されたbeは、lustatusによって表示できます。
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- Solaris yes yes yes no - Solaris-20180101 yes no no yes -
現在アクティブではないBEをアクティブにするときは、luactivateコマンドを使用します。
# luactivate Solaris-20180101
現在利用している環境では無く、lucreateで作られたBEに対して、Solaris10のパッチ、アップグレードを行いたい場合、luupgradeを利用します。
# luupgrade -u -n Solaris-20180101 -s OSイメージが展開されているパス
また次のようにパッチをbeに対して当てることもできます。
# luupgrade -u -n Solaris-20180101 -s パッチが展開されているパス パッチ名
BE自体はZFSのスナップショットのテクノロジが使われます。lucreateコマンドによって作られているスナップショットは、zfsコマンドではなく、ludeleteを使って削除してください。
スナップショットは数が多くなることで、ストレージの速度が低下することがあるため、適度な削除が必要です。
その他のサブコマンドやオプション等、詳しくはOracleのドキュメントをご参照ください。