Oracle Cloud Infrastructureドキュメント

Linux iSCSIサービスの更新後の自動再起動

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

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

以前のバージョンのCentOS 7.xおよびOracle Linuxプラットフォーム・イメージから作成されたインスタンスや、Oracle Cloud Infrastructure CentOS 6.xおよび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 6 Linuxインスタンス上の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 6.x

CentOS 6インスタンスでは、次のコマンドを実行して「モン」パッケージをインストールします:

sudo yum install monit

/etc/monit/conf.d/iscsid.confファイルを作成し、次のコマンドを含めます:

check process iscid with pidfile /run/iscsid.pid
start program = "/etc/init.d/open-iscsi start" with timeout 60 seconds
stop program = "/etc/init.d/open-iscsi stop"

次のコマンドを実行して、monitサービスを起動します:

/etc/init.d/monit start

Ubuntu 18

重要

iscsidサービスの次回更新時にrestartオプションが上書きされないように、systemd iscsid.serviceファイルを直接編集しないでください。

Ubuntu 18インスタンスで次のコマンドを実行して、オーバーライド・ファイルを作成します:

sudo systemctl edit iscsid.service

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

[Service]
Restart=
Restart=always

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

sudo systemctl daemon-reload
sudo systemctl restart iscsid

Ubuntu 16

重要

iscsidサービスの次回更新時にrestartオプションが上書きされないように、systemd iscsid.serviceファイルを直接編集しないでください。

Ubuntu 16インスタンスで次のコマンドを実行して、オーバーライド・ファイルを作成します:

sudo systemctl edit iscsid.service

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

[Service]
Restart=
Restart=always

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

sudo systemctl daemon-reload
sudo systemctl restart iscsid

Ubuntu 14

Ubuntu 14インスタンスでは、次のコマンドを実行して「モン」パッケージをインストールします:

sudo apt-get install monit

/etc/monit/conf.d/iscsid.confファイルを作成し、次のコマンドを含めます:

check process iscid with pidfile /run/iscsid.pid
start program = "/etc/init.d/open-iscsi start" with timeout 60 seconds
stop program = "/etc/init.d/open-iscsi stop"

次のコマンドを実行して、monitサービスを起動します:

/etc/init.d/monit start

iscsid Service Updateのテスト

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

警告

本番インスタンスでは、これらのステップは実行しないでください。
iscsidサービスがインスタンスの再起動に失敗すると、インスタンスが応答しなくなる場合があります。

  1. 次のコマンドを実行して、iscsidサービスが実行されていることを確認します:

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

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

    ps -ef | grep iscsid