自動的に再起動するためのLinux iSCSIサービスの更新

Oracle Cloud Infrastructureでは、コンピュート・インスタンスにiSCSIでアタッチされたリモートのブート・ボリュームとブロック・ボリュームがサポートされます。iSCSIでアタッチされたこれらのボリュームは、Linux iSCSIイニシエータ・サービスiscsidによって管理されます。サービスがクラッシュした、システム管理者がサービスを誤って停止したなど、なんらかの理由でこのサービスが停止した場合には、このサービスをただちに自動的に再起動することが重要です。

Oracle Cloud Infrastructureによって配布される次のプラットフォーム・イメージは、iscsidサービスが自動的に再起動されるように構成されています:

  • Oracle Autonomous Linux 8イメージ
  • Oracle Autonomous Linux 7イメージ
  • Oracle Linux 9イメージ
  • Oracle Linux 8イメージ
  • Oracle Linux Cloud Developer 8イメージ
  • Oracle Linux 7イメージ(2019年2月26日以降リリース)。Oracle-Linux-7.6-Gen2-GPU-2019.02.20-0およびOracle-Linux-7.6-2019.02.20-0のリリース・ノートを参照してください。
  • Oracle Linux 6イメージ(2019年2月26日以降リリース)。Oracle-Linux-6.10-2019.02.22-0のリリース・ノートを参照してください。
  • CentOS 7イメージ(2019年2月25日以降リリース)。CentOS-7-2019.02.23-0のリリース・ノートを参照してください。

CentOS 7.x、CentOS Stream 8およびOracle Linuxプラットフォーム・イメージの以前のバージョン、またはUbuntuプラットフォーム・イメージのすべてのバージョンから作成されたインスタンスには、この構成は含まれません。これらの既存インスタンスやこれらのイメージから作成したカスタム・イメージは、iscsidサービスが自動的に再起動するように更新する必要があります。また、インポートされた準仮想化カスタム・イメージおよびこれらのイメージから起動されたインスタンスでこの構成をチェックし、必要に応じて構成を更新することも必要です。

このトピックでは、インスタンスが自動的に再起動するように、インスタンスのiscsidサービスを更新する方法について説明します。

ノート

iscsidサービスが自動的に再起動するようにインスタンスを構成する場合、再起動は不要です。また、これによってインフラストラクチャの安定性が向上します。

Oracle Linux 7

Oracle 7 Linuxインスタンスでiscsidサービスを更新するには、次のコマンドを実行します:

sudo yum update -y iscsi-initiator-utils

このコマンドを実行した後、iscsidサービスのバージョンは6.2.0.874以上になるはずです。

バージョンを確認するには、次のコマンドを実行します:

yum info iscsi-initiator-utils

この更新では、システムの再起動は必要なく、iscsidの自動再起動の構成以外にインスタンスは変更されません。

Oracle Linux 6

Oracle Linux 6インスタンスでiscsidサービスを更新するには、次のコマンドを実行します:

sudo yum update -y iscsi-initiator-utils

このコマンドを実行した後、iscsidサービスのバージョンは6.2.0.873以上になるはずです。

バージョンを確認するには、次のコマンドを実行します:

yum info iscsi-initiator-utils

この更新では、システムの再起動は必要なく、iscsidの自動再起動の構成以外にインスタンスは変更されません。

CentOS 7.x

重要

systemd iscsid.serviceファイルを直接編集しないでください。かわりに、iscsidサービスの次回更新時にrestartオプションが上書きされないように、オーバーライドを作成する必要があります。

CentOS 7インスタンスでオーバーライド・ファイルを作成するには、次のコマンドを実行します:

sudo systemctl edit iscsid.service

次をファイルに貼り付けて保存します:

[Service]
Restart=always

systemdを再ロードし、iscsidサービスを再起動するには、次のコマンドを実行します:

sudo systemctl daemon-reload
sudo systemctl restart iscsid

CentOS Stream 8

重要

systemd iscsid.serviceファイルを直接編集しないでください。かわりに、iscsidサービスの次回更新時にrestartオプションが上書きされないように、オーバーライドを作成する必要があります。

CentOS Stream 8インスタンスでオーバーライド・ファイルを作成するには、次のコマンドを実行します:

sudo systemctl edit iscsid.service

次をファイルに貼り付けて保存します:

[Service]
Restart=always

systemdを再ロードし、iscsidサービスを再起動するには、次のコマンドを実行します:

sudo systemctl daemon-reload
sudo systemctl restart iscsid

Ubuntu 18.04、Ubuntu 20.04、Ubuntu 22.04

重要

systemd iscsid.serviceファイルを直接編集しないでください。かわりに、iscsidサービスの次回更新時にrestartオプションが上書きされないように、オーバーライドを作成する必要があります。

Ubuntu 18.04およびUbuntu 20.04インスタンスでオーバーライド・ファイルを作成するには、次のコマンドを実行します:

sudo systemctl edit iscsid.service

次をファイルに貼り付けて保存します:

[Service]
Restart=
Restart=always

systemdを再ロードし、iscsidサービスを再起動するには、次のコマンドを実行します:

sudo systemctl daemon-reload
sudo systemctl restart iscsid

iscsidサービス更新のテスト

次に示すステップを実行して、iscsidサービスが正常に更新されたこと、およびサービスが自動的に再起動されることを確認します。

注意

本番インスタンスでは、これらのステップは実行しないでください。iscsidサービスが再起動できない場合、インスタンスが応答しなくなることがあります。
  1. iscsidサービスが実行されていることを確認するには、次のコマンドを実行します:

    ps -ef | grep iscsid
  2. iscsidサービスを停止するには、次のコマンドを実行します:

    sudo pkill -9 iscsid
  3. 60秒待機します。次に、次のコマンドを実行して、iscsidサービスが再起動されたことを確認します:

    ps -ef | grep iscsid