全部产品
Search
文档中心

:Cara Menginstal Driver NVMe untuk Gambar Kustom

更新时间:Nov 09, 2025

Jika Anda berencana menggunakan citra kustom untuk menerapkan layanan pada Instance ECS dan ingin meningkatkan performa penyimpanan dengan protokol Non-Volatile Memory Express (NVMe), ikuti langkah-langkah dalam topik ini untuk menginstal driver NVMe untuk citra kustom tersebut.

Non-Volatile Memory Express (NVMe) adalah protokol antarmuka kecepatan tinggi yang dirancang untuk penyimpanan solid-state, seperti SSD berbasis flash. Protokol ini memberikan waktu respons yang lebih cepat dan bandwidth yang lebih tinggi dibandingkan protokol penyimpanan tradisional seperti SCSI dan virtio-blk.

Skenario

Anda mungkin perlu menginstal driver NVMe seperti yang dijelaskan dalam topik ini jika citra kustom Anda tidak memiliki driver yang terinstal dalam skenario berikut:

  • Saat Anda mengimpor citra kustom ke Alibaba Cloud, fitur Pemeriksaan Citra mendeteksi bahwa driver NVMe belum diinstal pada citra tersebut.

  • Saat Anda membuat Instance ECS dari tipe instans yang mendukung protokol NVMe, Anda tidak dapat memilih citra kustom Anda. Hal ini mungkin disebabkan karena atribut NVMe dari citra tidak sesuai dengan tipe instans tersebut.

    Catatan

Prosedur

  1. Buat Instance ECS dari citra kustom yang ada. Instance ini berfungsi sebagai lingkungan perantara. Kemudian, sambungkan secara remote ke instance tersebut.

    Penting

    Anda akan dikenakan biaya untuk instans perantara yang Anda buat. Setelah citra kustom baru dibuat, kami sarankan Anda segera merilis instans tersebut untuk menghindari biaya berkelanjutan.

  2. Periksa keberadaan driver NVMe dan instal berdasarkan sistem operasi dari instans tersebut.

    Konfigurasi Otomatis menggunakan Asisten Cloud

    Asisten Cloud menyediakan plugin ecs_nvme_config untuk membantu Anda dengan cepat mengonfigurasi drive NVMe. Namun, plugin ini memiliki batasan sistem operasi.

    ecs_nvme_config Plugin: Sistem Operasi yang Didukung

    • Sistem operasi yang didukung oleh plugin ecs_nvme_config:

      • Alibaba Cloud Linux

      • Anolis OS

      • CentOS 6.6 atau yang lebih baru

      • CentOS Stream

      • Debian 9 atau yang lebih baru

      • Ubuntu 16 atau yang lebih baru

      • openSUSE 42 atau yang lebih baru

      • SUSE Linux Enterprise Server 11.4 atau yang lebih baru

      • Red Hat Enterprise Linux

      • Fedora

      • Rocky Linux

      • AlmaLinux

    1. Jalankan perintah berikut untuk memeriksa apakah Agen Asisten Cloud telah diinstal pada instans dan apakah plugin ecs_nvme_config tersedia di klien.

      acs-plugin-manager --list

      image

      • Jika tidak ada informasi Asisten Cloud yang dikembalikan, Anda harus terlebih dahulu menginstal Agen Asisten Cloud pada instans.

      • Jika daftar plugin Asisten Cloud dikembalikan dan mencakup plugin ecs_nvme_config, lanjutkan ke langkah berikutnya.

    2. Gunakan plugin ecs_nvme_config untuk menyelesaikan konfigurasi NVMe.

      1. Jalankan perintah berikut untuk menggunakan plugin ecs_nvme_config guna memeriksa apakah modul NVMe ada pada instans saat ini dan apakah dapat dikonfigurasi.

        sudo acs-plugin-manager --exec --plugin ecs_nvme_config --params --check
        • Jika pesan berikut dikembalikan, driver NVMe sudah diinstal pada instans. Anda tidak perlu melakukan konfigurasi terkait NVMe dan dapat langsung membuat citra kustom.

          [SUCCESS]  Summary: Your image can run on an NVMe instance.
        • Jika hasilnya berisi pesan serupa dengan [ERROR] berikut, Anda perlu melanjutkan ke langkah berikutnya.

          [ERROR]  1.nvme module missing from initrd/initramfs, please run acs-plugin-manager --exec --plugin ecs_nvme_config --params -f/--fix to enable nvme;
      2. Berdasarkan pesan dalam hasil pemeriksaan, konfigurasikan driver NVMe dan parameter terkait.

        sudo acs-plugin-manager --exec --plugin ecs_nvme_config --params --fix
      3. Setelah konfigurasi selesai, jalankan perintah berikut untuk me-restart instans.

        sudo reboot
      4. Setelah me-restart instans, periksa apakah modul NVMe berhasil dikonfigurasi.

        sudo acs-plugin-manager --exec --plugin ecs_nvme_config --params --check

        Berikut adalah contoh tanggapan sukses:

        [OK]  1.initrd/initramfs already contains the nvme module;
        
        [OK]  2.fstab file looks fine and does not contain any device names;
        
        [OK]  3.The nvme parameters are already included.
        
        [SUCCESS]  Summary: Your image can run on an nvme instance

    Konfigurasi Manual (CentOS/Alibaba Cloud Linux)

    1. Jalankan perintah berikut untuk memeriksa apakah kernel sistem telah memuat driver NVMe.

      cat /boot/config-`uname -r` | grep -i nvme | grep -v "^#"

      image

      • Jika hasilnya adalah CONFIG_BLK_DEV_NVME=y, sistem operasi dapat booting langsung pada keluarga instans yang mendukung protokol NVMe. Anda kemudian dapat melanjutkan ke konfigurasi otomatis menggunakan Asisten Cloud.

      • Jika hasilnya adalah CONFIG_BLK_DEV_NVMe=m, lakukan langkah-langkah berikut.

    2. Jalankan perintah berikut untuk memeriksa apakah initial RAM file system (initramfs) berisi driver NVMe.

      sudo lsinitrd /boot/initramfs-`uname -r`.img | grep -i nvme | awk '{print $NF}'

      image

      • Jika hasil serupa dengan gambar dikembalikan, sistem operasi dapat mulai pada instans dari keluarga instans yang mendukung protokol NVMe. Anda dapat langsung melanjutkan ke langkah d.

      • Jika tidak ada hasil yang dikembalikan, lanjutkan ke langkah berikutnya (langkah c).

    3. Jalankan perintah berikut untuk menambahkan dukungan driver NVMe ke initramfs.

      mkdir -p /etc/dracut.conf.d
      echo 'add_drivers+=" nvme nvme-core "' | sudo tee /etc/dracut.conf.d/nvme.conf > /dev/null
      sudo dracut -v -f
      Catatan

      Jika alat dracut belum diinstal pada sistem operasi Anda, jalankan sudo yum -y install dracut untuk menginstal alat tersebut.

    4. Tambahkan parameter io_timeout terkait NVMe ke GRand Unified Bootloader (GRUB).

      Catatan

      Menambahkan parameter io_timeout ke GRand Unified Bootloader (GRUB) membantu mencegah kesalahan timeout terkait perangkat NVMe di Linux. Mengatur parameter ini ke nilai maksimum mencegah sistem gagal saat memproses permintaan I/O untuk perangkat NVMe.

      Pada sebagian besar distribusi Linux, parameter io_timeout diatur ke 30 detik secara default. Sebelum mengatur parameter io_timeout, Anda perlu menjalankan perintah echo 4294967295 > /sys/module/nvme_core/parameters/io_timeout atau echo 4294967295 > /sys/module/nvme/parameters/io_timeout untuk memverifikasi apakah parameter io_timeout dapat diatur ke nilai maksimum 4.294.967.295 detik. Jika perintah mengembalikan -bash: echo: write error: Invalid argument, ini menunjukkan bahwa versi Linux Anda saat ini hanya mendukung nilai maksimum 255 detik.

      Metode 1: Gunakan perintah grubby
      1. Periksa apakah sistem mendukung perintah grubby.

        which grubby
        • Jika output menampilkan jalur untuk grubby (seperti /usr/sbin/grubby), sistem mendukung grubby. Lanjutkan ke langkah berikutnya.

        • Jika tidak ada output yang dikembalikan, sistem tidak mendukung grubby. Untuk menambahkan parameter, lihat Metode 2.

      2. Gunakan perintah grubby untuk menambahkan parameter kernel.

        sudo grubby --update-kernel=ALL --args="nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295"
      Metode 2: Modifikasi file konfigurasi GRUB
      1. Jalankan perintah berikut untuk membuka file grub.

        sudo vi /etc/default/grub
      2. Tekan tombol i untuk masuk ke mode edit. Pada baris GRUB_CMDLINE_LINUX=, tambahkan parameter nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295.

        Setelah menambahkan parameter, isi file akan terlihat mirip dengan berikut:

        image

        Catatan

        Jika file konfigurasi sudah berisi parameter ini, Anda tidak perlu menambahkannya lagi.

      3. Tekan tombol Esc untuk keluar dari mode edit, masukkan :wq, dan tekan tombol Enter untuk menyimpan dan keluar dari file.

      4. Jalankan perintah berikut untuk menerapkan konfigurasi GRUB.

        Bergantung pada mode startup instans dari Instance ECS, jalankan perintah yang sesuai:

        • Mode boot Legacy BIOS

          sudo grub2-mkconfig -o /boot/grub2/grub.cfg
        • Mode boot UEFI

          1. Lihat file konfigurasi grub.

            cat /boot/efi/EFI/centos/grub.cfg
          2. Jalankan perintah yang sesuai berdasarkan isi file konfigurasi grub.

            • Jika file konfigurasi menentukan jalur lain untuk configfile, seperti /boot/grub/grub.cfg yang ditunjukkan pada gambar berikut, jalankan perintah berikut untuk menerapkan konfigurasi.image

              sudo grub2-mkconfig -o /boot/grub2/grub.cfg
            • Jika tidak, jalankan perintah berikut untuk menerapkan konfigurasi:

              sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
    5. Jalankan perintah berikut kembali untuk memverifikasi bahwa driver NVMe telah disertakan dalam initramfs.

      sudo lsinitrd /boot/initramfs-`uname -r`.img | grep -i nvme | awk '{print $NF}'

      Jika hasil yang serupa dengan gambar berikut ditampilkan, konfigurasi telah selesai. Sistem operasi kini dapat dijalankan pada instans dari keluarga instans yang mendukung protokol NVMe.

      image

    Konfigurasi Manual (Ubuntu/Debian)

    1. (Opsional) Jalankan perintah berikut untuk melihat driver NVMe yang termuat dalam initrd.

      lsinitramfs /boot/initrd.img-`uname -r` | grep -i nvme

      Output berikut menunjukkan bahwa driver NVMe dimuat secara default dalam initrd untuk sistem operasi Ubuntu.image

    2. Tambahkan parameter io_timeout terkait NVMe ke GRUB.

      Catatan

      Tujuan utama menambahkan parameter io_timeout terkait NVMe ke GRand Unified Bootloader (GRUB) adalah untuk mencegah kesalahan timeout terkait perangkat NVMe di Linux. Mengatur nilai timeout ke maksimum mencegah sistem operasi gagal karena timeout saat memproses permintaan I/O dari perangkat NVMe.

      Pada sebagian besar distribusi Linux, parameter io_timeout diatur ke 30 detik secara default. Sebelum mengatur parameter io_timeout, jalankan perintah echo 4294967295 > /sys/module/nvme_core/parameters/io_timeout atau echo 4294967295 > /sys/module/nvme/parameters/io_timeout untuk memverifikasi apakah parameter io_timeout dapat diatur ke nilai maksimum 4.294.967.295 detik. Jika perintah mengembalikan -bash: echo: write error: Invalid argument, ini menunjukkan bahwa versi Linux Anda saat ini hanya mendukung nilai maksimum 255 detik.

      1. Jalankan perintah berikut untuk membuka file /etc/default/grub.

        sudo vi /etc/default/grub
      2. Tekan tombol i untuk masuk ke mode edit. Pada baris GRUB_CMDLINE_LINUX=, tambahkan parameter nvme_core.multipath=n nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295.

        Setelah menambahkan parameter, isi file akan terlihat seperti berikut:image

        Catatan

        Jika file konfigurasi sudah berisi parameter ini, Anda tidak perlu menambahkannya lagi.

      3. Tekan Esc untuk keluar dari mode edit, masukkan :wq, dan tekan Enter untuk menyimpan dan keluar dari file.

    3. Jalankan perintah berikut untuk menerapkan konfigurasi GRUB.

      Bergantung pada mode boot instans dari Instance ECS Anda, jalankan salah satu perintah berikut:

      • Mode boot apa pun (Perintah ini hanya berlaku untuk sistem Ubuntu/Debian)

        sudo update-grub2
      • Mode boot Legacy BIOS

        sudo grub-mkconfig -o /boot/grub/grub.cfg
      • Mode boot UEFI

        sudo grub-mkconfig -o /boot/efi/EFI/debian/grub.cfg
  3. Setelah Anda menginstal driver pada instans, buat citra kustom baru dari instans tersebut. Kemudian, modifikasi properti citra kustom baru dan atur properti NVMe Driver menjadi Supported.

Penting

Jika Anda tidak mengatur properti NVMe menjadi Didukung, Anda tidak dapat menggunakan citra kustom ini untuk membuat instans dari tipe instans yang memerlukan fitur NVMe.

  1. (Opsional) Terapkan ulang layanan Anda dengan membuat instans dari citra kustom baru yang mendukung NVMe, seperti yang dijelaskan dalam Buat instans menggunakan citra kustom. Saat membuat Instance ECS, pilih tipe instans yang mendukung NVMe.

Catatan

Setelah penyebaran layanan selesai, kami sarankan Anda segera menghapus citra kustom lama untuk menghindari biaya untuk sumber daya yang tidak digunakan.

Referensi