ECS. g7se、ecs.c7se、ecs.r7seなどの一部のElastic Compute Service (ecs) インスタンスファミリーでは、NVMe (Non-Volatile Memory Express) プロトコルに基づいてディスクを接続できます。 カスタムイメージを使用してそのようなインスタンスファミリーの安定したインスタンスを作成する場合は、必要なNVMe関連の設定を含むオペレーティングシステムに基づいてカスタムイメージが作成されていることを確認してください。
背景情報
NVMeプロトコルに基づいてディスクをアタッチできるインスタンスファミリーについては、「インスタンスファミリーの概要」をご参照ください。
インスタンスにNVMe関連の設定を設定し、インスタンスを使用してカスタムイメージを作成する前に、インスタンスのシステムディスクとデータディスクのスナップショットを作成してデータをバックアップすることをお勧めします。 詳細については、「ディスクのスナップショットの作成」をご参照ください。
このトピックでは、次のオペレーティングシステムでNVMe関連の設定を構成する方法について説明します。
Alibaba CloudのCloud Assistantは、サポートされているオペレーティングシステムでNVMe関連の設定を自動的に構成するためのプラグインを提供します。 詳細については、「Cloud Assistantプラグインを使用したNVMe関連の設定の自動設定」をご参照ください。
CentOS
カスタムイメージを作成するCentOSインスタンスに接続します。
詳細については、「接続方法の概要」をご参照ください。
オペレーティングシステムの設定に基づいてNVMe関連の設定を構成します。
次のコマンドを実行して、カーネルがNVMeドライバをロードしたかどうかを確認します。
cat /boot/config-'uname -r' | grep -i nvme | grep -v "^#"
以下のようなコマンド出力が返されます。
CONFIG_BLK_DEV_NVME
の値がyであるかどうかを確認します。これは、NVMeプロトコルをサポートするインスタンスファミリーでオペレーティングシステムを起動できることを示しています。 はいの場合、ステップbおよびcをスキップし、ステップdに進む。 そうでない場合は、次の手順を順番に実行します。次のコマンドを実行して、初期のRAM (Resource Access Management) ファイルシステム (initramfs) にNVMeドライバが含まれているかどうかを確認します。
lsinitrd /boot/initramfs-'uname -r'.img | grep -i nvme | awk '{print $NF}'
次のようなコマンド出力が返されたかどうかを確認します。これは、NVMeプロトコルをサポートするインスタンスファミリーでオペレーティングシステムを起動できることを示しています。 はいの場合、ステップcをスキップしてステップdに進みます。 そうでない場合は、次の手順を順番に実行します。
次のコマンドを順番に実行して、NVMeドライバをサポートするようにinitramfsを設定します。
mkdir -p /etc/dracut.conf.d
echo 'add_drivers +="nvme nvme-core nvme-fabrics nvme-fc me-rdma nvme-loop nvmet nvmet-nvfc me-tcp" ' >/etc/dracut.conf.d /
. v -fdracut.
説明お使いのオペレーティングシステムにdracutツールがインストールされていない場合は、yum -y install dracutコマンドを実行してツールをインストールします。
GRand Unified Bootloader (GRUB) にNVMe関連のタイムアウトパラメーターを追加します。
次のコマンドを実行してgrubファイルを開きます。
vi /etc/default/grub
Iキーを押して挿入モードに入ります。
GRUB_CMDLINE_LINUX=
行で、nvme_core.io_timeout
およびnvme_core.admin_timeoutパラメーターを追加し、両方を4294967295に設定します。次の図に示すように
説明grubファイルに前述のパラメーター設定が既に含まれている場合は、パラメーターを再度追加する必要はありません。
Escキーを押して挿入モードを終了します。 次に、
:wq
と入力し、enterキーを押してファイルを保存して閉じます。
GRUB設定を適用します。
オペレーティングシステムのブートモードに基づいて、次のいずれかのコマンドを実行します。
レガシーブートモード
grub2-mkconfig -o /boot/grub2/grub.cfg
Unified Extensible Firmware Interface (UEFI) ブートモード
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
次のコマンドを再実行して、NVMe関連情報を確認します。
lsinitrd /boot/initramfs-'uname -r'.img | grep -i nvme | awk '{print $NF}'
次のコマンド出力は、NVMeプロトコルをサポートするインスタンスファミリーでオペレーティングシステムを起動できることを示しています。
CentOSインスタンスからカスタムイメージを作成します。
CentOSインスタンスのオペレーティングシステムでNVMe関連の設定を構成した後、インスタンスからカスタムイメージを作成できます。 インスタンスからカスタムイメージを作成する方法については、「インスタンスからカスタムイメージを作成する」をご参照ください。
説明オンプレミス環境で作成したカスタムイメージの場合、イメージインポート機能を使用してイメージをAlibaba Cloudにインポートできます。 詳細については、「Linuxイメージのインポート」をご参照ください。
カスタムイメージの作成には時間がかかります。 カスタムイメージが作成され、[使用可能] 状態になるまで待ちます。 次に、次のステップに進みます。
作成したカスタムイメージからインスタンスを作成します。
カスタムイメージからインスタンスを作成する方法については、「カスタムイメージを使用したECSインスタンスの作成」をご参照ください。 カスタムイメージからインスタンスを作成するときは、ビジネス要件を満たし、NVMeプロトコルに基づいてディスクをアタッチできるインスタンスタイプを選択します。
新しいインスタンスに接続します。
詳細については、「接続方法の概要」をご参照ください。
新しいインスタンスで次のコマンドを順番に実行して、NVMe関連の設定が期待どおりに機能するかどうかを確認します。
次のコマンドを実行して、NVMeプロトコルをサポートするディスクの情報を確認します。
lsblk
次のコマンドを実行して、/proc/cmdlineファイルにNVMe関連のタイムアウトパラメーター設定が含まれているかどうかを確認します。
cat /proc/cmdline
次のコマンド出力は、カスタムイメージがNVMeベースのシステムディスクに適合していることを示しています。
Debian
カスタムイメージを作成するDebianインスタンスに接続します。
詳細については、「接続方法の概要」をご参照ください。
NVMe関連の設定を構成します。
次のコマンドを実行して、initrdにNVMeドライバが含まれているかどうかを確認します。
デフォルトでは、各DebianオペレーティングシステムのinitrdがNVMeドライバをロードします。
lsinitramfs /boot/initrd.img-'uname -r' | grep -i nvme
次のようなコマンドが返されます。
GRUBでNVMe関連のタイムアウトパラメーターを追加します。
次のコマンドを実行して、/etc/default/grubファイルを開きます。
vi /etc/default/grub
Iキーを押して挿入モードに入ります。
GRUB_CMDLINE_LINUX=
行に、nvme_core.multipath
、nvme_core.io_timeout、およびnvme_core.admin_timeoutパラメーターを追加します。 次に、nvme_core.multipathをnに、nvme_core.io_timeoutとnvme_core.admin_timeoutを4294967295に設定します。次の図に示すように
説明grubファイルに前述のパラメーター設定が既に含まれている場合は、パラメーターを再度追加する必要はありません。
Escキーを押して挿入モードを終了します。 次に、
:wq
と入力し、enterキーを押してファイルを保存して閉じます。
GRUB設定を適用します。
オペレーティングシステムのブートモードに基づいて、次のいずれかのコマンドを実行します。
レガシーブートモード
grub-mkconfig -o /boot/grub/grub.cfg
UEFIブートモード
grub-mkconfig -o /boot/efi/EFI/debian/grub.cfg
説明または、次のコマンドを実行して、Debianが提供するスクリプトを実行し、GRUB設定を適用することもできます。 オペレーティングシステムのブートモードは、スクリプトとは無関係である。 このスクリプトは、オペレーティングシステムのブートモードがLegacyまたはUEFIであるかどうかに関係なく使用できます。
update-grub2
CentOSインスタンスからカスタムイメージを作成します。
CentOSインスタンスのオペレーティングシステムでNVMe関連の設定を構成した後、インスタンスからカスタムイメージを作成できます。 インスタンスからカスタムイメージを作成する方法については、「インスタンスからカスタムイメージを作成する」をご参照ください。
説明オンプレミス環境で作成したカスタムイメージの場合、イメージインポート機能を使用してイメージをAlibaba Cloudにインポートできます。 詳細については、「Linuxイメージのインポート」をご参照ください。
カスタムイメージの作成には時間がかかります。 カスタムイメージが作成され、[使用可能] 状態になるまで待ちます。 次に、次のステップに進みます。
作成したカスタムイメージからインスタンスを作成します。
カスタムイメージからインスタンスを作成する方法については、「カスタムイメージを使用したECSインスタンスの作成」をご参照ください。 カスタムイメージからインスタンスを作成するときは、ビジネス要件を満たし、NVMeプロトコルに基づいてディスクをアタッチできるインスタンスタイプを選択します。
新しいインスタンスに接続します。
詳細については、「接続方法の概要」をご参照ください。
新しいインスタンスで次のコマンドを順番に実行して、NVMe関連の設定が期待どおりに機能するかどうかを確認します。
次のコマンドを実行して、NVMeプロトコルをサポートするディスクの情報を確認します。
lsblk
次のコマンドを実行して、/proc/cmdlineファイルにNVMe関連のタイムアウトパラメーター設定が含まれているかどうかを確認します。
cat /proc/cmdline
次のコマンド出力は、カスタムイメージがNVMeベースのシステムディスクに適合していることを示しています。
Ubuntu
カスタムイメージを作成するUbuntuインスタンスに接続します。
詳細については、「接続方法の概要」をご参照ください。
NVMe関連の設定を構成します。
次のコマンドを実行して、initrdにNVMeドライバが含まれているかどうかを確認します。
デフォルトでは、各UbuntuオペレーティングシステムのinitrdがNVMeドライバをロードします。
lsinitramfs /boot/initrd.img-'uname -r' | grep -i nvme
次のようなコマンドが返されます。
GRUBでNVMe関連のタイムアウトパラメーターを追加します。
次のコマンドを実行して、/etc/default/grubファイルを開きます。
vi /etc/default/grub
Iキーを押して挿入モードに入ります。
GRUB_CMDLINE_LINUX=
行に、nvme_core.multipath
、nvme_core.io_timeout、およびnvme_core.admin_timeoutパラメーターを追加します。 次に、nvme_core.multipathをnに、nvme_core.io_timeoutとnvme_core.admin_timeoutを4294967295に設定します。次の図に示すように
説明grubファイルに前述のパラメーター設定が既に含まれている場合は、パラメーターを再度追加する必要はありません。
Escキーを押して挿入モードを終了します。 次に、
:wq
と入力し、enterキーを押してファイルを保存して閉じます。
GRUB設定を適用します。
オペレーティングシステムのブートモードに基づいて、次のいずれかのコマンドを実行します。
レガシーブートモード
grub-mkconfig -o /boot/grub/grub.cfg
UEFIブートモード
grub-mkconfig -o /boot/efi/EFI/ubuntu/grub.cfg
説明または、次のコマンドを実行して、Ubuntuが提供するスクリプトを実行し、GRUB設定を適用することもできます。 オペレーティングシステムのブートモードは、スクリプトとは無関係である。 このスクリプトは、オペレーティングシステムのブートモードがLegacyまたはUEFIであるかどうかに関係なく使用できます。
update-grub2
CentOSインスタンスからカスタムイメージを作成します。
CentOSインスタンスのオペレーティングシステムでNVMe関連の設定を構成した後、インスタンスからカスタムイメージを作成できます。 インスタンスからカスタムイメージを作成する方法については、「インスタンスからカスタムイメージを作成する」をご参照ください。
説明オンプレミス環境で作成したカスタムイメージの場合、イメージインポート機能を使用してイメージをAlibaba Cloudにインポートできます。 詳細については、「Linuxイメージのインポート」をご参照ください。
カスタムイメージの作成には時間がかかります。 カスタムイメージが作成され、[使用可能] 状態になるまで待ちます。 次に、次のステップに進みます。
作成したカスタムイメージからインスタンスを作成します。
カスタムイメージからインスタンスを作成する方法については、「カスタムイメージを使用したECSインスタンスの作成」をご参照ください。 カスタムイメージからインスタンスを作成するときは、ビジネス要件を満たし、NVMeプロトコルに基づいてディスクをアタッチできるインスタンスタイプを選択します。
新しいインスタンスに接続します。
詳細については、「接続方法の概要」をご参照ください。
新しいインスタンスで次のコマンドを順番に実行して、NVMe関連の設定が期待どおりに機能するかどうかを確認します。
次のコマンドを実行して、NVMeプロトコルをサポートするディスクの情報を確認します。
lsblk
次のコマンドを実行して、/proc/cmdlineファイルにNVMe関連のタイムアウトパラメーター設定が含まれているかどうかを確認します。
cat /proc/cmdline
次のコマンド出力は、カスタムイメージがNVMeベースのシステムディスクに適合していることを示しています。
SUSE Linuxエンタープライズサーバー (SLES)
カスタムイメージを作成するSLESインスタンスに接続します。
詳細については、「接続方法の概要」をご参照ください。
オペレーティングシステムの設定に基づいてNVMe関連の設定を構成します。
次のコマンドを実行して、カーネルがNVMeドライバをロードしたかどうかを確認します。
cat /boot/config-'uname -r' | grep -i nvme | grep -v "^#"
以下のようなコマンド出力が返されます。
CONFIG_BLK_DEV_NVME
の値がyであるかどうかを確認します。これは、NVMeプロトコルをサポートするインスタンスファミリーでオペレーティングシステムを起動できることを示しています。 はいの場合、ステップbおよびcをスキップし、ステップdに進む。 そうでない場合は、次の手順を順番に実行します。次のコマンドを実行して、initrdにNVMeドライバが含まれているかどうかを確認します。
lsinitrd /boot/initrd-'uname -r' | grep -i nvme | awk '{print $NF}'
次のようなコマンド出力が返されたかどうかを確認します。これは、NVMeプロトコルをサポートするインスタンスファミリーでオペレーティングシステムを起動できることを示しています。 はいの場合、ステップcをスキップしてステップdに進みます。 そうでない場合は、次の手順を順番に実行します。
次のコマンドを順番に実行して、NVMeドライバをサポートするようにinitrdを設定します。
mkdir -p /etc/dracut.conf.d
echo 'add_drivers +="nvme nvme-core nvme-fabrics nvme-fc me-rdma nvme-loop nvmet nvmet-nvfc me-tcp" ' >/etc/dracut.conf.d /
. v -fdracut.
説明オペレーティングシステムにdracutツールがインストールされていない場合は、zypper install -y dracutコマンドを実行してツールをインストールします。
GRUBでNVMe関連のタイムアウトパラメーターを追加します。
次のコマンドを実行してgrubファイルを開きます。
vi /etc/default/grub
Iキーを押して挿入モードに入ります。
GRUB_CMDLINE_LINUX=
行で、nvme_core.io_timeout
およびnvme_core.admin_timeoutパラメーターを追加し、両方を4294967295に設定します。次の図に示すように
説明grubファイルに前述のパラメーター設定が既に含まれている場合は、パラメーターを再度追加する必要はありません。
Escキーを押して挿入モードを終了します。 次に、
:wq
と入力し、enterキーを押してファイルを保存して閉じます。
GRUB設定を適用します。
オペレーティングシステムのブートモードに基づいて、次のいずれかのコマンドを実行します。
レガシーブートモード
grub2-mkconfig -o /boot/grub2/grub.cfg
UEFIブートモード
grub2-mkconfig -o /boot/efi/EFI/sles/grub.cfg
次のコマンドを再実行して、NVMe関連情報を確認します。
lsinitrd /boot/initrd-'uname -r' | grep -i nvme | awk '{print $NF}'
次のコマンド出力は、NVMeプロトコルをサポートするインスタンスファミリーでオペレーティングシステムを起動できることを示しています。
CentOSインスタンスからカスタムイメージを作成します。
CentOSインスタンスのオペレーティングシステムでNVMe関連の設定を構成した後、インスタンスからカスタムイメージを作成できます。 インスタンスからカスタムイメージを作成する方法については、「インスタンスからカスタムイメージを作成する」をご参照ください。
説明オンプレミス環境で作成したカスタムイメージの場合、イメージインポート機能を使用してイメージをAlibaba Cloudにインポートできます。 詳細については、「Linuxイメージのインポート」をご参照ください。
カスタムイメージの作成には時間がかかります。 カスタムイメージが作成され、[使用可能] 状態になるまで待ちます。 次に、次のステップに進みます。
作成したカスタムイメージからインスタンスを作成します。
カスタムイメージからインスタンスを作成する方法については、「カスタムイメージを使用したECSインスタンスの作成」をご参照ください。 カスタムイメージからインスタンスを作成するときは、ビジネス要件を満たし、NVMeプロトコルに基づいてディスクをアタッチできるインスタンスタイプを選択します。
新しいインスタンスに接続します。
詳細については、「接続方法の概要」をご参照ください。
新しいインスタンスで次のコマンドを順番に実行して、NVMe関連の設定が期待どおりに機能するかどうかを確認します。
次のコマンドを実行して、NVMeプロトコルをサポートするディスクの情報を確認します。
lsblk
次のコマンドを実行して、/proc/cmdlineファイルにNVMe関連のタイムアウトパラメーター設定が含まれているかどうかを確認します。
cat /proc/cmdline
次のコマンド出力は、カスタムイメージがNVMeベースのシステムディスクに適合していることを示しています。
Cloud Assistantプラグインを使用してNVMe関連の設定を自動的に構成する
Cloud Assistantは、オペレーティングシステムでNVMe関連の設定を構成するのに役立つecs_nvme_config
プラグインを提供します。 ecs_nvme_config
プラグインは、次のオペレーティングシステムをサポートしています。
Alibaba Cloud Linux
アナリスOS
CentOS/CentOSストリーム
Debian
Ubuntu
OpenSUSE
SUSE Linux Enterprise Server
レッドハットエンタープライズLinux
フェドラ
ロッキーLinux
AlmaLinux
ecs_nvme_config
プラグインは、次のオペレーティングシステムバージョンをサポートしていません。
CentOSおよびRed Hat Enterprise Linux: CentOS 6.6およびRed Hat Enterprise Linux 6.6より前のバージョン
Debian: Debian 9より前のバージョン
Ubuntu: Ubuntu 16より前のバージョン
openSUSE: openSUSE 42より前のバージョン
SLES: SLES 11.4より前のバージョン
カスタムイメージを作成するインスタンスに接続します。
詳細については、「接続方法の概要」をご参照ください。
次のコマンドを実行して、インスタンスにCloud Assistant Agentがインストールされているかどうか、およびインストールされているCloud Assistant Agentが
ecs_nvme_config
プラグインを提供しているかどうかを確認します。acs-plugin-manager -- リスト
次のコマンド出力は、Cloud Assistant Agentがインストールされていることを示します。 Cloud Assistant Agentがインスタンスにインストールされていない場合、コマンド出力にはCloud Assistant Agentに関する情報は含まれません。 この場合、まずCloud Assistant Agentをインストールします。 詳細については、「Cloud Assistant Agentのインストール」をご参照ください。
コマンド出力で、
ecs_nvme_config
プラグインを除外するCloud Assistantプラグインのリストが見つかった場合、そのプラグインは現在のリージョンとゾーンでは使用できません。 この場合、オペレーティングシステムに適用可能な方法を使用して、NVMe関連の設定を手動で構成します。Cloud Assistant Agentがインストールされており、インスタンスに
ecs_nvme_config
プラグインが提供されている場合は、次の手順に進みます。ecs_nvme_config
プラグインを使用して、NVMe関連の設定を構成します。次のコマンドを実行し、
ecs_nvme_config
プラグインを使用して、インスタンスにNVMeモジュールがあるかどうか、およびインスタンスがNVMeモジュールをサポートしているかどうかを確認します。acs-plugin-manager -- exec -- plugin ecs_nvme_config -- params -- check
コマンド出力の説明:
コマンド出力に次のSUCCESSメッセージが表示された場合は、NVMe関連の設定を構成する必要なしにカスタムイメージを作成できます。
[成功] サマリー: イメージはnvmeインスタンスでRunnigできます
コマンド出力に
[エラー]
メッセージが表示された場合は、次の手順に進みます。
コマンド出力のエラーメッセージに基づいて、NVMeドライバーと関連パラメーターを設定します。
サンプルエラーメッセージ:
[エラー] 1.initrd/initramfsにnvmeモジュールがありません。acs-plugin-manager -- exec -- plugin ecs_nvme_config -- params -f/-- fix to enable nvme;
次のコマンドを実行して、エラーメッセージに基づいてNVMe関連の設定を構成します。
acs-plugin-manager -- exec -- plugin ecs_nvme_config -- params -- fix
NVMe関連の設定が完了したら、次のコマンドを実行してインスタンスを再起動します。
reboot
インスタンスの再起動後、次のコマンドを実行して、NVMeモジュールが設定されているかどうかを確認します。
acs-plugin-manager -- exec -- plugin ecs_nvme_config -- params -- check
サンプル成功出力:
でRunnigできます[OK] 1.initrd/initramfsにはすでにnvmeモジュールが含まれています。[OK] 2.fstabファイルは正常に見え、デバイス名は含まれていません。[OK] 3.nvmeパラメータは既に含まれています。 [成功] サマリー: イメージはnvmeインスタンス
CentOSインスタンスからカスタムイメージを作成します。
CentOSインスタンスのオペレーティングシステムでNVMe関連の設定を構成した後、インスタンスからカスタムイメージを作成できます。 インスタンスからカスタムイメージを作成する方法については、「インスタンスからカスタムイメージを作成する」をご参照ください。
説明オンプレミス環境で作成したカスタムイメージの場合、イメージインポート機能を使用してイメージをAlibaba Cloudにインポートできます。 詳細については、「Linuxイメージのインポート」をご参照ください。
カスタムイメージの作成には時間がかかります。 カスタムイメージが作成され、[使用可能] 状態になるまで待ちます。 次に、次のステップに進みます。
作成したカスタムイメージからインスタンスを作成します。
カスタムイメージからインスタンスを作成する方法については、「カスタムイメージを使用したECSインスタンスの作成」をご参照ください。 カスタムイメージからインスタンスを作成するときは、ビジネス要件を満たし、NVMeプロトコルに基づいてディスクをアタッチできるインスタンスタイプを選択します。
新しいインスタンスに接続します。
詳細については、「接続方法の概要」をご参照ください。
新しいインスタンスで次のコマンドを順番に実行して、NVMe関連の設定が期待どおりに機能するかどうかを確認します。
次のコマンドを実行して、NVMeプロトコルをサポートするディスクの情報を確認します。
lsblk
次のコマンドを実行して、/proc/cmdlineファイルにNVMe関連のタイムアウトパラメーター設定が含まれているかどうかを確認します。
cat /proc/cmdline
次のコマンド出力は、カスタムイメージがNVMeベースのシステムディスクに適合していることを示しています。