Pendahuluan mengenai NVME (Non Volatile Memory Express) - bisa dilihat di sini

Pendahuluan


Secara sederhana, NVME (Non Volatile Memory Express) merupakan salah satu contoh dari Block Device.

Yaitu tempat penyimpanan yang menyimpan data dalam bentuk kumpulan blok-blok seukuran byte atau bits.

HD Disk, SSD, CD-ROM Drives, Nvme, dll adalah contohnya.

Sama seperti yang kita bicarakan di artikel sebelumnya.


Block Device di Linux


Hampir sama dengan Windows juga, dimana Block Device ini perlu dimapping ke nama yang seragam dan memudahkan kita mengenalinya.

Misalnya kalau di Windows, biasanya kita akan mempunyai Disk C:/ atau D:/.

Sementara kalau di Linux, kita mengenai disk dinamai dengan awalan /dev

Misalnya :

  • /dev/sda
  • /dev/sdb
  • /dev/xvd
  • /dev/nvm
  • /dev/mmcblk
  • dll

Yang paling sering kita temui biasanya di server VM Linux yang ada adalah :

  • /dev/sda
  • /dev/sdb

Yang jelas, penamaan /dev/sd ini awalnya merupakan penamaan device untuk device yang menggunakan sd-bus driver.

Singkatan sd itu adalah SCSI Driver.

SCSI adalah kependekan dari Small Computer System Interface (SCSI), yaitu antarmuka antara peralatan disk dan perangkat komputer.

Scsi driver adalah SCSI protokol yang biasanya digunakan untuk SCSI disk, SATA disks, dan USB disk.

Hal ini karena pada waktu itu hampir semua device menggunakan SCSI command protocol untuk mentrasfer data antara device dengan sistem komputer.

Kemudian muncul lagi antarmuka IDE , PATA, dan SATA yang sekarang mendominasi antarmuka antara perangkat disk dengan sistem komputer.

Dan kemunculan Cloud akhirnya menambahkan lagi antarmuka Cloud Storage Device yang dinamai berbeda pula.

Misalnya :


  • /dev/hd –> untuk antarmuka PATA/IDE device.
  • /dev/sc –> untuk antarmuka SCSI device.
  • /dev/xvd –> untuk antarmuka Cloud Storage Device
  • /dev/mmcblk –> untuk antarmuka lainnya seperti SD/eMMC
  • /dev/nvme –> untuk antarmuka NVME (Non Volatile Memory Express)

Penamaan blok device di AWS


Kalau kita bicara AWS, maka mereka mempunyai resource EBS sebagai block device nya.

EBS atau Elastic Block Store sama dengan kasus yang kita bicarakan diatas.

Gunanya sebagai service untuk meminta/menggunakan disk / block device / tempat penyimpanan data.

Sama dengan disk C:/ atau D:/ kita kalau di Windows.

Atau sama dengan /dev/sda, /dev/hda, /dev/xvdp di Linux.

Tentunya juga tipenya berbeda-beda tergantung kebutuhan.

Yang paling umum adalah HDD dan SSD.

Dan di AWS juga ada paket sistem berbasiskan framework Nitro mereka, yang menjadikan SSD based on NVME menjadi pilihan blok device nya.

EBS Volume tipe sistem Nitro ini dalam sistem AWS di ekspose dalam bentuk NVME block device, dan sistem Linux AWS akan mengenalnya sebagai NVME.

Penamaannya berurutan, misalnya /dev/nvme0n1, /dev/nvme1n1, dst.


Lalu masalahnya dimana ?


Akan tetapi ketika membuat sebuah EBS Volume di AWS, kita juga bisa memasukkan Device Name yang bisa jadi berbeda dengan block device yang aslinya.

Dan AWS menyarankan melakukan penamaan sesuai dengan tipe Virtualisasi yang tersedia di linux, yaitu :

  • Paravirtual (PV)
  • Hardware Virtual Machine (HVM)

Tipe penamaan dan virtualisasi itu ditentukan dari tipe AMI yang digunakan.

Dan penamaan device mapping tersebut dibedakan lagi antara root volume dan EBS volume.

Dan…jeng..jeng..jeng..

Penamaan Device Name itu bisa saja tidak match/tidak sama dengan penamaan block device, termasuk didalamnya kalau kita memakai blok device NVME.

Kita lanjut next artikel.. walaupun nanggung..