os:boot_environment
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| os:boot_environment [2019/06/14 18:04] – ユースケースを追記した yuichiro | os:boot_environment [2021/12/27 10:34] (現在) – backup メインのユースケースに変更 yuichiro | ||
|---|---|---|---|
| 行 5: | 行 5: | ||
| どのクローンから起動するのかを自由に切り替えることができます。 | どのクローンから起動するのかを自由に切り替えることができます。 | ||
| - | 例えば、新しいリリースまたはパッチを試すために、テスト用のクローンを作成し、 | + | 例えば、新しいリリースまたはパッチを試すために、現在の環境のクローンを作成しバックアップ用に取っておきます。 |
| - | クローン上でアップデートを行い、動作を確認します。 | + | |
| - | うまく行ったならばクローンをメインに運用すればよく、 | + | その上で、新しいリリースまたはパッチをインストールして、うまくいけばそのまま使い続ければ良いですし、 |
| - | うまく行かなかった場合には元のルートファイルシステムから起動すれば元に戻ります。 | + | 何か問題が発生したならば、バックアップ用に取っておいた環境からブートすれば、元に戻ります。 |
| - | うまく行った場合、元のルートファイルシステムは破棄しても構いません。 | + | |
| また、異なるバージョンの FreeBSD をインストールしておき、切り替えて使うこともできます。 | また、異なるバージョンの FreeBSD をインストールしておき、切り替えて使うこともできます。 | ||
| 行 89: | 行 87: | ||
| Boot Environment を扱うためのツールとして以下の2つがあります。 | Boot Environment を扱うためのツールとして以下の2つがあります。 | ||
| - | 1. bectl | + | - **bectl** |
| - | + | | |
| - | FreeBSD 12.0 から標準搭載されたコマンドラインツールです。 | + | - **beadm** |
| - | + | | |
| - | 2. beadm | + | |
| - | + | ||
| - | ports/pkg でインストールできるコマンドラインツールです。 | + | |
| - | bectl がない環境でも使うことができます。 | + | |
| どちらも機能的にはほとんど変わりません。 | どちらも機能的にはほとんど変わりません。 | ||
| 行 204: | 行 198: | ||
| ブートローダでルートファイルシステムを選択することができます。 | ブートローダでルートファイルシステムを選択することができます。 | ||
| - | < | + | {{os:BootEnvironmentMenu0.png}} |
| - | | + | |
| - | | ____| | + | |
| - | | |___ _ __ ___ ___ | |_) | (___ | | | | | + | |
| - | | ___| '__/ _ \/ _ \| _ < \___ \| | | | | + | |
| - | | | | | | __/ __/| |_) |____) | |__| | | + | |
| - | | | | | | | || | + | |
| - | |_| | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | + | ||
| - | </ | + | |
| 起動直後の画面で " | 起動直後の画面で " | ||
| - | < | + | {{os:BootEnvironmentMenu1.png}} |
| - | | + | |
| - | | ____| | + | |
| - | | |___ _ __ ___ ___ | |_) | (___ | | | | | + | |
| - | | ___| '__/ _ \/ _ \| _ < \___ \| | | | | + | |
| - | | | | | | __/ __/| |_) |____) | |__| | | + | |
| - | | | | | | | || | + | |
| - | |_| | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | + | ||
| - | </ | + | |
| " | " | ||
| - | < | + | {{os:BootEnvironmentMenu2.png}} |
| - | | + | |
| - | | ____| | + | |
| - | | |___ _ __ ___ ___ | |_) | (___ | | | | | + | |
| - | | ___| '__/ _ \/ _ \| _ < \___ \| | | | | + | |
| - | | | | | | __/ __/| |_) |____) | |__| | | + | |
| - | | | | | | | || | + | |
| - | |_| | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | + | ||
| - | </ | + | |
| 元の環境を選びスペースキーを押すと、その環境でブートします。 | 元の環境を選びスペースキーを押すと、その環境でブートします。 | ||
| - | ==== ユースケース ==== | + | 起動したらアクティブなファイルシステムを切り替えましょう。 |
| - | + | ||
| - | 実際に freebsd-update を行う場合を例にとると一連の操作の流れは次のようになります。 | + | |
| - | + | ||
| - | === 1. 新しいルートファイルシステム作成 === | + | |
| < | < | ||
| - | bectl create update | + | bectl activate default |
| </ | </ | ||
| - | " | + | ローダはアクティブなファイルシステムを切り替えてはくれません。 |
| - | === 2. アクティベート === | + | ==== ユースケース ==== |
| - | < | + | 実際に freebsd-update |
| - | bectl activate | + | |
| - | </ | + | |
| - | 起動するためにアクティベートします。 | + | === 1. バックアップの作成 |
| - | + | ||
| - | === 3. 再起動 | + | |
| < | < | ||
| - | shutdown -r now | + | bectl create backup |
| </ | </ | ||
| - | 再起動すると | + | "backup" |
| - | === 4. freebsd-update === | + | === 2. freebsd-update === |
| < | < | ||
| 行 324: | 行 238: | ||
| freebsd-update を実行しシステムを更新します。 | freebsd-update を実行しシステムを更新します。 | ||
| - | === 5. 再起動 === | + | === 3. 再起動 === |
| < | < | ||
| 行 332: | 行 246: | ||
| アップデート後に再起動します。 | アップデート後に再起動します。 | ||
| - | === 6. 動作確認 === | + | === 4. 動作確認 === |
| ps でプロセスを確認するなど、動作を確認します。 | ps でプロセスを確認するなど、動作を確認します。 | ||
| - | === 7. 古いルートファイルシステム削除 | + | === 5. 切り戻し |
| - | < | + | もし、4. の動作確認で問題があれば、" |
| - | bectl destroy default | + | |
| - | </ | + | |
| - | + | ||
| - | 問題なければ、古いファイルシステムを削除します。 | + | |
| - | + | ||
| - | === 8. デフォルトファイルシステムにリネーム === | + | |
| < | < | ||
| - | bectl rename update default | + | bectl activate backup |
| + | shutdown -r now | ||
| </ | </ | ||
| - | " | + | その後、default を削除し、backup |
| - | + | ||
| - | これで、freebsd-update された新しいシステムに更新されます。 | + | |
| - | + | ||
| - | === 9. 切り戻し === | + | |
| - | + | ||
| - | もし、6. の動作確認で問題があれば、" | + | |
| < | < | ||
| - | bectl activate | + | bectl destroy |
| - | shutdown -r now | + | bectl rename backup default |
| </ | </ | ||
| - | その後、update を削除すると元に戻ります。 | + | === 6. 古いバックアップの削除 |
| < | < | ||
| - | bectl destroy | + | bectl destroy |
| </ | </ | ||
| + | ある程度安定的に動くことが分かったならば、不要になったバックアップを削除します。 | ||
os/boot_environment.1560503087.txt.gz · 最終更新: 2019/06/14 18:04 by yuichiro
