All Products
Search
Document Center

:Cara menginstal driver NVMe pada custom image yang sudah ada?

Last Updated:Mar 06, 2026

Instal driver NVMe pada custom image Anda sebelum menerapkan workload pada instance ECS yang menggunakan image tersebut. Hal ini memungkinkan peningkatan performa penyimpanan dengan protokol Non-Volatile Memory Express (NVMe).

Standar antarmuka NVMe untuk memori non-volatile adalah protokol berkecepatan tinggi yang dirancang untuk penyimpanan solid-state, seperti SSD berbasis flash. Dibandingkan dengan protokol tradisional seperti SCSI dan virtio-blk, NVMe memberikan kecepatan dan bandwidth yang lebih tinggi.

Skenario

Lakukan langkah-langkah dalam topik ini jika Anda mengalami salah satu situasi berikut:

  • Anda mengimpor custom image yang dibuat secara lokal ke Alibaba Cloud dan Image Check melaporkan bahwa driver NVMe tidak tersedia.

  • Anda tidak dapat memilih custom image saat membeli tipe instans ECS yang mendukung protokol NVMe. Hal ini terjadi ketika atribut NVMe pada image tidak sesuai dengan persyaratan tipe instans.

    Catatan

Prosedur

  1. Luncurkan instance ECS dari custom image yang sudah ada. Instance ini berfungsi sebagai lingkungan perantara untuk memperbarui image tersebut. Kemudian hubungkan ke instance tersebut.

    Penting

    Anda dikenai biaya untuk instance perantara ini. Lepaskan instance tersebut setelah Anda membuat custom image baru untuk menghindari biaya berkelanjutan.

  2. Pilih metode konfigurasi berdasarkan sistem operasi instance Anda. Kemudian verifikasi dan instal driver NVMe.

    Konfigurasi konsol

    1. Di ECS console - Instances, temukan instance target dan buka halaman detailnya. Di pojok kanan atas, klik More actions lalu pilih Set NVMe driver status.

    2. Klik One-click install untuk menginstal driver NVMe. Sistem secara otomatis mengatur status driver NVMe menjadi Installed.image

    Konfigurasi otomatis menggunakan Cloud Assistant

    Cloud Assistant menyediakan plugin ecs_nvme_config untuk membantu Anda mengonfigurasi driver NVMe dengan cepat. Namun, plugin ini hanya mendukung sistem operasi tertentu.

    ecs_nvme_configSistem operasi yang didukung

    • Plugin ecs_nvme_config mendukung sistem operasi berikut:

      • Alibaba Cloud Linux

      • Anolis OS

      • CentOS 6.6 dan versi lebih baru

      • CentOS Stream

      • Debian 9 dan versi lebih baru

      • Ubuntu 16 dan versi lebih baru

      • OpenSUSE 42 dan versi lebih baru

      • SUSE Linux Enterprise Server 11.4 dan versi lebih baru

      • Red Hat Enterprise Linux

      • Fedora

      • Rocky Linux

      • AlmaLinux

    1. Jalankan perintah berikut untuk memeriksa apakah Cloud Assistant Agent telah diinstal dan apakah plugin ecs_nvme_config tersedia:

      acs-plugin-manager --list

      image

      • Jika tidak ada output yang terkait Cloud Assistant, pertama-tama instal Cloud Assistant Agent.

      • Jika daftar plugin muncul dan mencakup 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 tersedia dan dapat dikonfigurasi:

        sudo acs-plugin-manager --exec --plugin ecs_nvme_config --params --check
        • Jika output berisi pesan berikut, driver NVMe sudah terinstal. Lewati konfigurasi lebih lanjut dan langsung lanjutkan ke pembuatan custom image.

          [SUCCESS]  Summary: Your image can Runnig on nvme instance
        • Jika hasil yang dikembalikan berisi pesan serupa dengan pesan [ERROR] berikut, Anda harus melanjutkan ke langkah berikutnya.

          [ERROR]  1.initrd/initramfs not has nvme module, Please run acs-plugin-manager --exec --plugin ecs_nvme_config --params -f/--fix to enable nvme;
      2. Konfigurasikan driver NVMe dan parameter terkait berdasarkan hasil pemeriksaan:

        sudo acs-plugin-manager --exec --plugin ecs_nvme_config --params --fix
      3. Setelah konfigurasi selesai, jalankan perintah berikut untuk merestart instance.

        sudo reboot
      4. Setelah instance restart, jalankan kembali perintah pemeriksaan untuk memverifikasi konfigurasi yang berhasil:

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

        Contoh output sukses:

        [OK]  1.initrd/initramfs already contain nvme module;
        
        [OK]  2.fstab file looks fine and does not contain any device names;
        
        [OK]  3.The nvme parameters already included.
        
        [SUCCESS]  Summary: Your image can Runnig on nvme instance
      5. Buat custom image baru dari instance tempat Anda menginstal driver tersebut. Kemudian modifikasi atribut custom image baru tersebut dan atur atribut NVMe driver menjadi Supported.

        Penting

        Jika Anda tidak mengatur atribut NVMe driver menjadi Supported, sistem tidak akan mengenali image tersebut sebagai kompatibel dengan NVMe. Akibatnya, Anda tetap tidak dapat memilih tipe instans yang mendukung NVMe saat membuat instance dari image ini.

    Konfigurasi manual (CentOS/Alibaba Cloud Linux)

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

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

      image

      • Jika output berisi CONFIG_BLK_DEV_NVME=y, sistem operasi dapat langsung boot pada family instans yang mendukung NVMe. Lanjutkan langsung ke Konfigurasi konsol.

      • Jika output berisi CONFIG_BLK_DEV_NVME=m, lakukan langkah-langkah berikut.

    2. Jalankan perintah berikut untuk memeriksa apakah initramfs berisi driver NVMe:

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

      image

      • Jika hasil yang dikembalikan sesuai dengan gambar, sistem operasi dapat boot pada family instans yang mendukung protokol NVMe, dan Anda dapat melanjutkan ke langkah d.

      • Jika perintah tidak menghasilkan output, lakukan langkah-langkah berikut (Langkah c).

    3. Jalankan perintah berikut untuk memastikan initramfs menyertakan driver NVMe:

      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 tool dracut belum diinstal, jalankan sudo yum -y install dracut untuk menginstalnya.

    4. Tambahkan parameter io_timeout untuk NVMe di GRUB.

      Catatan

      Tambahkan parameter io_timeout untuk NVMe di GRUB guna mencegah kegagalan I/O akibat timeout perangkat NVMe. Mengatur nilai ini ke batas maksimum yang didukung memastikan sistem terus memproses permintaan I/O tanpa kegagalan prematur.

      Pada sebagian besar distribusi Linux, parameter io_timeout memiliki nilai default 30 detik. Sebelum menambahkan nilai untuk parameter io_timeout, Anda harus 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, versi Linux saat ini hanya mendukung pengaturan nilai hingga 255 detik.

      Metode 1: Tambahkan parameter menggunakan grubby
      1. Periksa apakah perintah grubby tersedia:

        which grubby
        • Jika output mencakup path ke grubby (misalnya, /usr/sbin/grubby), sistem mendukung grubby. Anda dapat melanjutkan ke langkah berikutnya.

        • Jika tidak ada output, sistem Anda tidak mendukung grubby. Lihat Metode 2 untuk menambahkan parameter.

      2. Jalankan perintah berikut untuk menambahkan parameter kernel menggunakan grubby:

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

        sudo vi /etc/default/grub
      2. Tekan i untuk masuk ke mode insert. Temukan baris GRUB_CMDLINE_LINUX= dan tambahkan parameter nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295.

        Gambar berikut menunjukkan isi file setelah penambahan parameter.

        image

        Catatan

        Jika parameter tersebut sudah ada dalam file konfigurasi, jangan tambahkan lagi.

      3. Tekan Esc untuk keluar dari mode insert. Masukkan :wq lalu tekan Enter untuk menyimpan dan menutup file.

      4. Jalankan perintah berikut untuk menerapkan konfigurasi GRUB.

        Pilih perintah yang sesuai dengan mode startup instance ECS Anda:

        • Mode boot Legacy BIOS

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

          1. Lihat file konfigurasi GRUB:

            # Untuk CentOS, jalankan:
            cat /boot/efi/EFI/centos/grub.cfg
            # Untuk Alibaba Cloud Linux, jalankan:
            cat /boot/efi/EFI/alinux/grub.cfg
          2. Jalankan perintah yang sesuai berdasarkan output:

            • Jika file konfigurasi mengarah ke file konfig lain (misalnya, /boot/grub/grub.cfg), jalankan perintah berikut:image

              sudo grub2-mkconfig -o /boot/grub2/grub.cfg
            • Jika tidak, jalankan perintah berikut (pilih baris yang sesuai dengan sistem Anda):

              # Untuk CentOS
              sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
              # Untuk Alibaba Cloud Linux
              sudo grub2-mkconfig -o /boot/efi/EFI/alinux/grub.cfg
      5. Buat custom image baru dari instance tempat Anda menginstal driver tersebut. Kemudian modifikasi atribut custom image baru tersebut dan atur atribut NVMe driver menjadi Supported.

        Penting

        Jika Anda tidak mengatur atribut NVMe driver menjadi Supported, sistem tidak akan mengenali image tersebut sebagai kompatibel dengan NVMe. Akibatnya, Anda tetap tidak dapat memilih tipe instans yang mendukung NVMe saat membuat instance dari image ini.

    5. Jalankan kembali perintah berikut untuk memeriksa output terkait NVMe.

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

      Jika perintah mengembalikan nama file driver (misalnya, nvme.ko), konfigurasi telah selesai. Sistem operasi kini siap untuk boot pada tipe instans ECS yang mendukung NVMe.

      image

    Konfigurasi manual (Ubuntu/Debian)

    1. (Opsional) Jalankan perintah berikut untuk memeriksa apakah initrd berisi driver NVMe:

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

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

    2. Tambahkan parameter io_timeout untuk NVMe di GRUB.

      Catatan

      Tambahkan parameter io_timeout untuk NVMe di GRUB guna mencegah kegagalan I/O akibat timeout perangkat NVMe. Mengatur nilai ini ke batas maksimum yang didukung memastikan sistem terus memproses permintaan I/O tanpa kegagalan prematur.

      Pada sebagian besar distribusi Linux, parameter io_timeout dikonfigurasi dengan nilai default 30 detik. Sebelum menambahkan nilai untuk parameter io_timeout, Anda harus menjalankan perintah echo 4294967295 > /sys/module/nvme_core/parameters/io_timeout atau perintah 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 error -bash: echo: write error: Invalid argument, distribusi Linux saat ini hanya mendukung nilai 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, lalu tambahkan parameter berikut ke baris GRUB_CMDLINE_LINUX=: nvme_core.multipath=n nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295.

        Setelah menambahkan parameter, isi file menjadi seperti berikut:image

        Catatan

        Jika parameter tersebut sudah ada dalam file konfigurasi, jangan tambahkan lagi.

      3. Tekan Esc untuk keluar dari mode insert. Masukkan :wq lalu tekan Enter untuk menyimpan dan menutup file.

    3. Jalankan perintah berikut untuk menerapkan pengaturan GRUB yang telah dikonfigurasi.

      Bergantung pada mode awal instans ECS, pilih salah satu perintah berikut yang sesuai untuk Anda:

      • Perintah ini berlaku untuk sistem Ubuntu dan Debian terlepas dari mode boot:

        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
    4. Buat custom image baru dari instance tempat Anda menginstal driver tersebut. Kemudian modifikasi atribut custom image baru tersebut dan atur atribut NVMe driver menjadi Supported.

      Penting

      Jika Anda tidak mengatur atribut NVMe driver menjadi Supported, sistem tidak akan mengenali image tersebut sebagai kompatibel dengan NVMe. Akibatnya, Anda tetap tidak dapat memilih tipe instans yang mendukung NVMe saat membuat instance dari image ini.

  3. (Opsional) Terapkan ulang workload Anda menggunakan custom image baru yang mendukung NVMe. Misalnya, buat instance dari custom image atau shared image. Saat pembuatan, pilih tipe instans yang mendukung protokol NVMe.

Catatan

Setelah memverifikasi penerapan, hapus custom image asli untuk menghindari biaya sumber daya yang tidak digunakan.

Referensi