English中文

ドキュメント · 1.0

システム:アップグレードと再起動

この章では システム → アップグレード を説明します。keelOS のアップグレード方法、2 つのブートスロットの仕組み、切り替えとロールバック、夜間の時刻指定切り替え、そしてアップグレード時に実行中の仮想マシンがどうなるかです。host:write 権限が必要です。

1. 2 つのスロット

keelOS のブートパーティションには スロット が 2 つあります(A と B)。各スロットには keelOS が丸ごと 1 つ入っています。

  • 実行中なのは片方のスロットです(ページに 実行中 と表示)。
  • アップグレードでは、新しいバージョンを実行していない方のスロットに書き込みます。書き込みでは再起動せず、仮想マシンもそのまま動き続けます。
  • 次に、そのスロットへ切り替えます。新しいバージョンが起動しない場合、ホストは自動で元のスロットに戻ります。
  • ロールバックは、もう一方のスロットへの切り替えです。そこには古いバージョンが残っています。

そのため、アップグレードに失敗しても被害は小さく済みます。次にアップグレードして上書きするまで、古いバージョンはずっともう一方のスロットにあります。

2. アップグレードページ

システム → アップグレード を開きます。上部には実行中のバージョン(keelOS のバージョン番号と スロット A · 稼働中)が表示され、その横にアップグレードの 4 つのステップ 確認、ダウンロード、書き込み、再起動 があります。強調表示されているのが現在のステップで、その下にこのステップですることが表示されます。さらに下には 起動スロット のカードが 2 枚あり、各スロットのバージョン、書き込み時刻、どちらが 次回起動 かが表示されます。

3. アップグレード

ステップ 1:確認

新しいバージョンの取得元を選びます。

  • URL:既定は keelOS のリリースアドレス(GitHub の最新バージョン)です。アップデートを確認 をクリックします。別の ISO のアドレスに変更することもでき、変更すると入力欄の横に既定のアドレスへ戻すボタンが表示されます。
  • このコンピューター:コンピューターから keelOS の .iso を選び、アップロード をクリックします。インターネットに出られないホストではこちらを使います。

確認では、そのアドレスに何があるかを調べるだけで、ダウンロードはしません。すでに最新の場合は「keelOS … は最新バージョンです」と表示されます。そうでない場合はダイアログが開きます。

  • このバージョンが、実行中のものと比べて新しい(アップグレード)か、古い(ロールバック)か、同じバージョンか。
  • サイズとリリースノート(リリースノートがない場合は、実行中のバージョンからの変更点)。
  • 免責事項。内容を確認し、同意します にチェックを入れないと ダウンロード をクリックできません。

同意しない限り、ダウンロードも書き込みも行われません。

ステップ 2:ダウンロード

ページには進捗バー、ダウンロード済みの量、速度、残り時間が表示され、ダウンロードを取り消す はいつでもクリックできます。ダウンロードが途切れた場合は続きから再開します。1 つの取得元から 120 秒間データが来ないと、keel は keelos.dev に切り替えて続きをダウンロードします。

ダウンロード前に ダウンロード後、スロット X に書き込んですぐ切り替える(このブラウザに記憶されます)にチェックを入れることもできます。チェックすると、ダウンロード後に確認せず自動で書き込んで切り替えます。つきっきりで見ていられないときに便利ですが、先に§5を読んでください。

ステップ 3:書き込み

ダウンロード(またはアップロード)が終わると、ページに「keelOS … の準備ができました。スロット X に書き込めます」と表示されるので、スロット X に書き込む をクリックします。破棄 で取りやめることもできます。書き込み先は実行していないスロットなので、再起動はせず、仮想マシンもそのまま動きます。そのスロットにすでに同じバージョンが入っている場合は、書き直すと上書きされることがページに表示されます。

ステップ 4:再起動(切り替え)

書き込みが終わると、ページに「スロット X には keelOS … があり、実行中のバージョンより新しいです」と表示され、ボタンは … にアップグレード になります。クリックすると切り替えダイアログが開きます。§4を参照してください。さらに新しいバージョンがあるか調べるには、さらに新しいバージョンを確認 をクリックします。

4. 切り替えのタイミング

… にアップグレード(ロールバックや試用の場合はそれぞれのボタン)をクリックすると、スロット X に切り替え ダイアログが開きます。ダイアログにはまず現在稼働中の仮想マシンと、切り替え時のそれぞれの扱い(§5を参照)が表示され、続いてこの切り替えで行うことが 1 文で表示されます。そのうえで、次のどちらかを選びます。

  • 今すぐ切り替え:ボタンをクリックすると、ホストが切り替えを始めます。ページには「ホストを再起動中」の表示が重なり、待機時間が表示されます。ホストが戻るとページは自動で更新され、結果が表示されます。スロット X に切り替えました、または切り替えは起動せず、ホストはスロット Y に戻りましたのいずれかです。
  • 時刻を設定:切り替え時刻(ホストの時計の時刻)を選んで 時刻を設定 をクリックします。今夜 03:00 をクリックして自動入力してから 時刻を設定 をクリックしてもかまいません。時刻になると自動で切り替わります。それまでの間、ページには「… にスロット X へ切り替え予定」と表示され、キャンセル できます。

注意:切り替え時刻は未来でなければなりません。ネストされた仮想化の仮想マシンがチェックポイントを取れない間は、今すぐ切り替え をクリックできません。対処方法はダイアログに表示されます。ネストされた仮想化を参照してください。

切り替えの実体は「一度だけ試す」ことです。新しいバージョンが起動して、keel が正常と確認するまでは、次にファームウェアから起動してもまた古いスロットに戻ります。新しいバージョンが起動しない、固まる、クラッシュする場合、ホストは自動で元のスロットに戻り、ページに スロット X への切り替えは起動せず、ホストはスロット Y に戻りました と表示されます。原因はホストに記録され、keel upgrade --status で確認できます。

ホストが 5 分以上戻らない場合は、ホストの画面かシリアルコンソール(IPMI SOL)を確認するよう案内が表示されます。ホストに keelRM 管理ポートがある場合は、案内の中に root の状態とコンソールの最後の数行もリアルタイムで表示されます。

5. 切り替え時の仮想マシンの扱い

切り替え方式は新しいバージョンに応じて keel が自動で決めるので、選ぶ必要はありません。

方式 どんなとき 実行中の仮想マシン
システムの再読み込み(reload) 新しいバージョンのハイパーバイザー(hyp)が現在のものと同じ 一時停止してから再開します。停止時間は約 17〜35 秒です。SR-IOV の仮想 NIC などで一時停止できないものは、シャットダウンしてから reload 後に起動します
ホスト全体の再起動 新しいバージョンに新しいハイパーバイザーが含まれる、またはこのホストに hyp がない(ネイティブモード) 先にシャットダウンし、再起動後に自動で起動します。数分かかります

切り替えダイアログには、仮想マシンごとに 1 行ずつ、一時停止されるのか、シャットダウンされるのか、などが表示されます。シャットダウンが必要なものは目立つ色で示されます。後者の場合、ダイアログには「ホスト全体が再起動します」とはっきり表示されます。

6. ロールバック

新しいバージョンに問題がある場合、もう一方のスロットには古いバージョンが残っています。そのスロットのカードで … に戻す をクリックします。ダイアログは上記と同じで、今すぐでも時刻指定でも選べます。古いバージョンが知らない新しい設定は無視されますが、ファイルには残るので、再度アップグレードしたときにそのまま使えます。

古いバージョンがないスロットは 空 と表示されます。もう一度アップグレードして書き込むと古いバージョンが上書きされ、ロールバックできなくなります。新しいバージョンが安定して動くまで、続けてアップグレードしないでください。

7. メジャーバージョン:まず試用し、あとで確定する

バージョンによっては、ディスク上の形式が変わります(たとえばストレージプールの機能、一時停止した仮想マシンの保存形式、設定ファイルの書き方)。そのようなバージョンは 2 段階になります。

  1. 試用:切り替え後、ホストは新しいバージョンで動きますが、ディスク上のものは古い形式のままです。ページ上部に keelOS … を試用中です。… に戻せます というカードが表示され、ボタンは … を試す、… に戻す です。この間はいつでも古いバージョンに戻せ、一時停止していた仮想マシンは古いバージョンで動き続けます。
  2. アップグレードを確定:試用して問題がなければ(7 日間動作するとページでお知らせします)、アップグレードを確定… をクリックします。ダイアログには、この段階で行うことが表示されます。ストレージプールで新機能を有効にする、以後に一時停止する仮想マシンを新しい形式で保存する、設定ファイルを新しい書き方に変える、新機能を有効にする、古いスロットのバージョンを起動できなくする、などです。この後 … に戻せないことを理解しました にチェックを入れて アップグレードを確定 をクリックします。仮想マシンを止める必要はなく、数秒で終わります。

確定した後は戻せません。バージョンによっては、古いバージョンが読める形式で書けないものがあります。その場合は切り替え前にページに「このアップグレードの後は戻せません」とはっきり表示され、戻すときは一時停止中の仮想マシンが先にシャットダウンされます。

8. ホストの再起動

アップグレードページには、再起動待ちの変更がない限り、単独の再起動ボタンはありません。新しいハイパーバイザー、ハイパーバイザーの設定、keelRM のスイッチは、次にホストを再起動したときに初めて有効になります。そのときページに ホストを再起動 が表示され、今回はホスト全体の再起動になります(実行中の仮想マシンは先にシャットダウンされ、再起動後に自動で起動します)。通常の再起動とシャットダウンは システム → メンテナンス にあります。システム:メンテナンス、時刻、ホストターミナルを参照してください。

9. hyp とネイティブモード

hyp は keelOS のハイパーバイザー層です。前回の hyp 上での起動が最後まで進まなかった(固まった、クラッシュした、停電した)場合、ホストは次回ファームウェア経由で起動するとき自動的に hyp なし(ネイティブモード)で起動します。仮想マシンは動きますが、ホストを再起動するときに仮想マシンがシャットダウンされます。アップグレードページの下部には hyp の状態が hyp:オン、hyp:一度だけ試す、hyp:オフ のように表示されます。もう一度試したいときは hyp をもう一度試す をクリックします。確認後、次にファームウェア経由で再起動するときに一度だけ試し、起動しなければその次は hyp なしで起動します。

10. keelNAS、keelAuth、マネージャーのアップグレード

keelNAS、keelAuth、keel マネージャーはホスト上の仮想マシンで、それぞれ個別にアップグレードします。システムディスクを入れ替え、データディスクは触らず、古いバージョンは 7 日間残るのでロールバックできます。それぞれのページで操作します。アカウント、トークン、権限と NAS を参照してください。

11. 1.0 の制限

  • アップグレードの取得元は、リリースアドレス(変更可能)またはアップロードしたファイル 1 つです。ページが自動で定期的に新バージョンを確認することはないので、アップデートを確認 をクリックしてください。