All Products
Search
Document Center

:Install the NVMe driver on a custom image

Last Updated:Apr 28, 2026

Tambahkan dukungan driver NVMe ke custom image agar dapat boot pada tipe instans ECS berbasis NVMe dengan performa penyimpanan yang ditingkatkan.

NVMe adalah protokol berkecepatan tinggi yang dirancang untuk penyimpanan solid-state, seperti SSD berbasis flash. Dibandingkan dengan SCSI dan virtio-blk, NVMe menawarkan kecepatan dan bandwidth yang lebih tinggi.

Kasus penggunaan

Ikuti prosedur ini jika:

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

  • Anda tidak dapat memilih custom image saat membuat tipe instans ECS yang mendukung NVMe karena atribut NVMe pada image tidak sesuai dengan persyaratan tipe instans tersebut.

    Catatan

Prosedur

  1. Luncurkan instans ECS dari custom image yang sudah ada. Instans ini berfungsi sebagai lingkungan perantara untuk memperbarui image tersebut. Sambungkan ke instans tersebut.

    Penting

    Instansi perantara dikenai biaya. Lepaskan instans tersebut setelah Anda membuat custom image baru untuk menghindari biaya berkelanjutan.

  2. Berdasarkan sistem operasi instans Anda, pilih metode untuk memverifikasi dan menginstal driver NVMe.

    Konfigurasi konsol

    1. Di Konsol ECS - Instances, temukan instans target dan buka halaman detailnya. Di pojok kanan atas, klik All actions, lalu pilih Configure NVMe Driver Status.

    2. Klik 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 mengonfigurasi driver NVMe secara cepat. Plugin ini hanya mendukung sistem operasi tertentu.

    ecs_nvme_config Sistem 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. Periksa apakah Cloud Assistant Agent telah diinstal dan plugin ecs_nvme_config tersedia:

      acs-plugin-manager --list

      image

      • Jika tidak ada output terkait Cloud Assistant, instal Cloud Assistant Agent terlebih dahulu.

      • Jika daftar plugin mencakup ecs_nvme_config, lanjutkan ke langkah berikutnya.

    2. Gunakan plugin ecs_nvme_config untuk mengonfigurasi driver NVMe.

      1. Gunakan plugin ecs_nvme_config untuk 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 telah terinstal. Lewati ke pembuatan custom image.

          [SUCCESS]  Summary: Your image can Runnig on nvme instance
        • Jika output berisi pesan [ERROR] seperti berikut, lanjutkan 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 berdasarkan hasil pemeriksaan:

        sudo acs-plugin-manager --exec --plugin ecs_nvme_config --params --fix
      3. Restart instans setelah konfigurasi selesai.

        sudo reboot
      4. Setelah instans restart, verifikasi konfigurasi 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 instans 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 driver NVMe menjadi Supported, sistem tidak akan mengenali image tersebut sebagai kompatibel NVMe. Anda tidak akan dapat memilih tipe instans yang mendukung NVMe saat membuat instans dari image ini.

    Konfigurasi manual (CentOS/Alibaba Cloud Linux)

    1. Periksa 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 ke Konfigurasi konsol.

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

    2. Periksa apakah initramfs berisi driver NVMe:

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

      image

      • Jika output sesuai dengan gambar, sistem operasi dapat boot pada family instans yang mendukung NVMe. Lanjutkan ke langkah d.

      • Jika tidak ada output, lakukan langkah c.

    3. Tambahkan 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 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. 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 secara default bernilai 30 detik. Sebelum menambahkan nilai untuk parameter io_timeout, jalankan echo 4294967295 > /sys/module/nvme_core/parameters/io_timeout atau echo 4294967295 > /sys/module/nvme/parameters/io_timeout untuk memverifikasi apakah io_timeout dapat diatur ke nilai maksimum 4.294.967.295 detik. Jika perintah mengembalikan -bash: echo: write error: Invalid argument, versi Linux tersebut hanya mendukung hingga 255 detik.

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

        which grubby
        • Jika output mencantumkan path ke grubby (misalnya, /usr/sbin/grubby), sistem mendukung grubby. Lanjutkan ke langkah berikutnya.

        • Jika tidak ada output, sistem Anda tidak mendukung grubby. Gunakan Metode 2 sebagai gantinya.

      2. Tambahkan parameter kernel dengan 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. Buka 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.

        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 dan tekan Enter untuk menyimpan serta menutup file.

      4. Terapkan konfigurasi GRUB.

        Pilih perintah yang sesuai dengan mode startup instans:

        • 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:image

              sudo grub2-mkconfig -o /boot/grub2/grub.cfg
            • Jika tidak, jalankan perintah yang sesuai untuk 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 instans 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 driver NVMe menjadi Supported, sistem tidak akan mengenali image tersebut sebagai kompatibel NVMe. Anda tidak akan dapat memilih tipe instans yang mendukung NVMe saat membuat instans dari image ini.

    5. Verifikasi 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 dapat boot pada tipe instans ECS yang mendukung NVMe.

      image

    Konfigurasi manual (Ubuntu/Debian)

    1. (Opsional) Periksa apakah initrd berisi driver NVMe:

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

      Output berikut menunjukkan bahwa Ubuntu memuat driver NVMe di 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. 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 secara default bernilai 30 detik. Sebelum menambahkan nilai untuk parameter io_timeout, jalankan echo 4294967295 > /sys/module/nvme_core/parameters/io_timeout atau echo 4294967295 > /sys/module/nvme/parameters/io_timeout untuk memverifikasi apakah io_timeout dapat diatur ke nilai maksimum 4.294.967.295 detik. Jika perintah mengembalikan -bash: echo: write error: Invalid argument, distribusi Linux tersebut hanya mendukung hingga 255 detik.

      1. Buka file /etc/default/grub:

        sudo vi /etc/default/grub
      2. Tekan i untuk masuk ke mode edit. Tambahkan parameter berikut ke baris GRUB_CMDLINE_LINUX=: nvme_core.multipath=n nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295.

        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 dan tekan Enter untuk menyimpan serta menutup file.

    3. Terapkan pengaturan GRUB.

      Berdasarkan mode startup instans ECS, pilih salah satu perintah berikut:

      • Perintah ini berlaku untuk 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 instans 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 driver NVMe menjadi Supported, sistem tidak akan mengenali image tersebut sebagai kompatibel NVMe. Anda tidak akan dapat memilih tipe instans yang mendukung NVMe saat membuat instans dari image ini.

  3. (Opsional) Terapkan ulang workload Anda dengan custom image baru yang kompatibel NVMe. Misalnya, buat instans dari custom image atau shared image dan pilih tipe instans yang kompatibel NVMe.

Catatan

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

Referensi