SSD Nodes Learn 🎉 VPS $5.50/மாதம் முதல்
கல்வி வழிகாட்டிகள் Matt Connorஆல் Matt Connor · புதுப்பிக்கப்பட்டது 2026-08-13

Linux VPS-ல் NVMe disk-ஐ உறுதி செய்வது எப்படி?

உங்கள் VPS-ல் NVMe இருப்பதாகக் கூறப்பட்டால் lsblk, sysfs, nvme-cli மற்றும் fio latency சோதனைகள் மூலம் அதன் உண்மையான வேகத்தை கண்டறியவும். Virtio ஏன் வன்பொருளை மறைக்கிறது என்பதை அறிக.

Verified Every command ran end-to-end on a fresh Ubuntu 24.04 server, August 3, 2026.

Linux-ல் NVMe disk-ஐ நான்கு படிகளில் சரிபார்த்தல்

Linux VPS-ல் ஒரு NVMe disk-ஐ சரிபார்க்க, வரிசையாக நான்கு சோதனைகளைச் செய்யவும்: சாதனத்தின் பெயரை அறிய lsblk, சுழலும் ஊடகமா (spinning media) என்பதைக் கண்டறிய sysfs-ல் உள்ள rotational flag, உண்மையான NVMe controller-ஐ உறுதிப்படுத்த nvme list, மற்றும் ஒரு host-ஆல் போலியாக உருவாக்க முடியாத எண்ணைப் பெற ஒரு சிறிய fio இயக்கம். முதல் மூன்று சோதனைகளும் ஒரு நொடி மட்டுமே எடுக்கும். கடைசி சோதனைதான் உண்மையை உறுதிப்படுத்தும், ஏனெனில் பெரும்பாலான VPS தளங்களில் hypervisor தனது physical disk-ஐ guest-க்குத் தெரியாமல் மறைத்துவிடும்.

NVMe (non-volatile memory express) என்பது PCIe (peripheral component interconnect express) பாதைகள் வழியாக flash storage பேசும் protocol ஆகும். இது சுழலும் drives-க்காக வடிவமைக்கப்பட்ட SATA மற்றும் AHCI பாதைகளுக்கு மாற்றாக வந்தது. CPU மற்றும் flash-க்கு இடையே இருந்த queueing தடையை நீக்குவதால் இது அதிவேகமாகச் செயல்படுகிறது. ஒரு virtual machine-க்குள் நீங்கள் அரிதாகவே அந்த protocol-ஐப் பயன்படுத்துவீர்கள். host உங்களுக்காக உருவாக்கும் virtual disk-உடன்தான் நீங்கள் தொடர்புகொள்வீர்கள், எனவே உங்கள் guest-ல் உள்ள சாதனத்தின் பெயர், rack-ல் உள்ள ஊடகத்தைக் குறிக்காமல், ஒரு driver-ஐ மட்டுமே குறிக்கும்.

படி 1: lsblk என்ன காட்டுகிறது?

lsblk கட்டளையானது kernel-ன் block devices பட்டியலைப் படிக்கிறது. -d flag-ஐப் பயன்படுத்தினால் partitions மறைக்கப்படும், எனவே ஒவ்வொரு disk-க்கும் ஒரு வரி மட்டுமே தெரியும்.

lsblk -d -o NAME,ROTA,SIZE,TYPE,TRAN,MODEL

ஒரு KVM VPS பொதுவாக இவ்வாறு பதிலளிக்கும்:

NAME ROTA  SIZE TYPE TRAN MODEL
vda     0   80G disk

மூன்று வகையான பெயரிடும் முறைகள் கிட்டத்தட்ட அனைத்து Linux server-களிலும் காணப்படுகின்றன:

  • nvme0n1 என்பது NVMe controller 0-ல் உள்ள namespace 1 ஆகும். உங்கள் guest ஒரு NVMe சாதனத்தைப் பயன்படுத்துகிறது, அது உண்மையானதாகவோ அல்லது emulated செய்யப்பட்டதாகவோ இருக்கலாம்.
  • sda என்பது SCSI அடுக்கு ஆகும். உண்மையான SATA மற்றும் SAS disks இங்கே அமையும், virtio-scsi driver-ம் இதையே பயன்படுத்தும்.
  • vda என்பது virtio-blk ஆகும், இது பெரும்பாலான KVM host-கள் இயல்பாகப் பயன்படுத்தும் paravirtual block driver ஆகும்.

TRAN (transport) நெடுவரிசையானது NVMe சாதனத்திற்கு nvme என்றும், guest நேரடியாகப் பார்க்கக்கூடிய SATA disk-க்கு sata என்றும் காட்டும். virtio-blk-ன் கீழ் இது பொதுவாக காலியாக இருக்கும், ஏனெனில் guest-க்கு அறிக்கை செய்ய அங்கு இயற்பியல் transport எதுவும் இல்லை. MODEL-ம் அதே காரணத்திற்காக காலியாக இருக்கும். VPS-ல் model string காலியாக இருப்பது சாதாரணமானது, அது வன்பொருள் (hardware) பற்றி எதையும் தெரிவிக்காது.

படி 2: சுழலும் வன்வட்டை (spinning disk) தவிர்த்தல்

DISK=$(lsblk -dno NAME,TYPE | awk '$2 == "disk" { print $1; exit }')
echo "checking $DISK"
cat "/sys/block/$DISK/queue/rotational"
readlink -f "/sys/block/$DISK"

rotational கோப்பு, ஒரு சாதனம் சுழலும் தட்டுகளைக் (spinning platters) கொண்டிருப்பதாக kernel கருதினால் 1 மதிப்பையும், மற்ற அனைத்துக்கும் 0 மதிப்பையும் கொண்டிருக்கும். Bare metal சூழலில், இந்த மதிப்பு வன்வட்டிலிருந்தே பெறப்படுகிறது. Virtio-blk-ன் கீழ், host அமைக்கும் ஒரு feature bit மூலம் இது தீர்மானிக்கப்படுகிறது, எனவே 0 என்பது சாதாரண வன்வட்டைத் தவிர்க்க உதவும், ஆனால் அதைத் தாண்டி எதையும் உறுதிப்படுத்தாது. இருப்பினும் இதை வாசிக்கவும்: solid state storage என்று விற்கப்படும் ஒரு சாதனத்தில் 1 இருப்பது முரண்பாடானது, மேலும் இது தொழில்நுட்ப ஆதரவு குழுவிடம் (support) வாதிடக்கூடிய ஒரு வலுவான ஆதாரமாகும்.

readlink -f கட்டளையானது sysfs symlink-ஐத் தீர்த்து, அந்தச் சாதனம் இணைக்கப்பட்டுள்ள bus-ஐக் காட்டும்:

/sys/devices/pci0000:00/0000:00:05.0/virtio2/block/vda

அந்தப் பாதையில் உள்ள virtio என்ற வார்த்தையே இந்தப் படிநிலைக்கான உங்கள் விடையாகும். ஒரு NVMe சாதனம் nvme என்ற வார்த்தையைக் கொண்ட பாதையைக் கொடுக்கும், உதாரணமாக /sys/devices/pci0000:00/0000:01:00.0/nvme/nvme0/nvme0n1. நேரடியாக இணைக்கப்பட்ட ATA வன்வட்டு ata1 என்ற வார்த்தையைக் கொண்டிருக்கும். இது lsblk காட்டிய அதே தகவல்தான், ஆனால் இது வடிவமைக்கப்பட்ட நெடுவரிசையிலிருந்து (formatted column) எடுக்கப்படாமல், நேரடியாக kernel-லிருந்து பெறப்படுகிறது. TRAN புலம் காலியாக இருக்கும்போது இது பயனுள்ளதாக இருக்கும்.

படி 3: nvme-cli மற்றும் PCI bus-ஐ சரிபார்த்தல்

sudo apt update
sudo apt install -y nvme-cli pciutils
sudo nvme list || echo "nvme-cli found no NVMe device"
lspci | grep -i -e nvme -e 'non-volatile' || echo "no NVMe controller on this guest's PCI bus"

nvme list ஒவ்வொரு namespace-க்கும் ஒரு வரிசையை அச்சிடும்; இதில் controller-ன் serial number, model string மற்றும் firmware revision ஆகியவை இருக்கும். அட்டவணை காலியாக இருந்தால், உங்கள் guest-க்கு எந்த NVMe சாதனமும் வழங்கப்படவில்லை என்று அர்த்தம். lspci எந்தவொரு பொருத்தமான வரியையும் காட்டவில்லை என்றால், அதுவும் அதே விஷயத்தையே குறிக்கிறது: உங்கள் guest காணும் virtual PCI bus-ல் எந்த NVMe controller-ம் இல்லை. virtio VPS-ல் இவை இரண்டுமே காலியாக இருப்பது இயல்பானது; host-ல் NVMe drives இல்லை என்பதற்கு இது ஆதாரமல்ல.

ஏதேனும் namespace தெரிந்தால், nvme-cli மூலம் மேலும் பல தகவல்களைப் பெறலாம். sudo nvme id-ctrl /dev/nvme0 controller-ன் அடையாளத்தை அச்சிடும், மேலும் sudo nvme smart-log /dev/nvme0n1 வெப்பநிலை, இயக்கப்பட்டிருந்த நேரம் (power-on hours) மற்றும் பயன்படுத்தப்பட்ட write endurance சதவீதம் ஆகியவற்றைக் காட்டும். nvme list ஒரு சாதனத்தை பட்டியலிட்ட பிறகு மட்டுமே இவற்றை இயக்கவும், ஏனெனில் இந்த இரண்டு கட்டளைகளும் செயல்பட ஒரு உண்மையான /dev/nvme* node தேவை.

NVMe host இருந்தும் ஏன் /dev/vda என்று காட்டுகிறது

உங்கள் guest எந்த device model-ஐப் பார்க்க வேண்டும் என்பதை hypervisor-தான் தீர்மானிக்கிறது, அந்தத் தேர்வு கீழே உள்ள வன்பொருளைச் சார்ந்தது அல்ல. பொதுவாக மூன்று அமைப்புகள் உள்ளன.

  • NVMe drives-ல் உள்ள ஒரு file, logical volume அல்லது ZFS dataset-க்கு மேல் virtio-blk அல்லது virtio-scsi இயங்குதல். நீங்கள் vda அல்லது sda-ஐப் பார்ப்பீர்கள். சேமிப்பகம் NVMe ஆக இருந்தாலும், அது குறித்து guest-க்குத் தெரிய வாய்ப்பில்லை.
  • எந்தவொரு சேமிப்பகத்திற்கும் முன்னால் ஒரு emulated NVMe controller இருப்பது. உங்கள் தரவுகள் SATA array-ல் அல்லது தொலைவில் உள்ள network volume-ல் சேமிக்கப்பட்டாலும், நீங்கள் nvme0n1-ஐப் பார்ப்பீர்கள்.
  • PCIe passthrough, இதில் host ஒரு physical controller-ஐ ஒரு guest-க்கு வழங்குகிறது. நீங்கள் உண்மையான model string-உடன் கூடிய உண்மையான nvme0n1-ஐப் பார்ப்பீர்கள். பகிரப்பட்ட VPS திட்டங்களில் இது அரிது, ஏனெனில் அந்த அட்டை அந்த ஒரு வாடிக்கையாளருக்கு மட்டுமே ஒதுக்கப்படும்.

எனவே, device பெயர் உங்களை இரு திசைகளிலும் தவறாக வழிநடத்தலாம். மோசமான விஷயம் என்னவென்றால், உங்கள் எழுதும் செயல்பாடுகளுக்கும் flash சேமிப்பகத்திற்கும் இடையில் host ஒரு write-back cache, RAID layer அல்லது replicated network volume-ஐ வைத்திருக்கலாம். இவை ஒவ்வொன்றும் /sys-ல் உள்ள பெயரை மாற்றாமல், நீங்கள் பெறும் செயல்திறனை மாற்றும். இதனால்தான் device பெயர் என்பது தொடக்கப்புள்ளி மட்டுமே, அதுவே முடிவு அல்ல. நீங்கள் இன்னும் ஒரு திட்டத்தைத் தேர்வு செய்கிறீர்கள் என்றால், NVMe மற்றும் SATA SSD சேமிப்பகத்திற்கு இடையிலான வேறுபாடு ஒவ்வொரு நிலையும் எதற்காகப் பணம் செலுத்தத் தகுதியானது என்பதை விளக்குகிறது.

தாமதத்தை (latency) அளவிடுவதே உண்மையான சோதனை

fio (flexible I/O tester) ஒரு உண்மையான கோப்பில் நேரடி வாசிப்புகளை (reads) மேற்கொண்டு, ஒவ்வொன்றிற்கும் எவ்வளவு நேரம் ஆனது என்பதைத் தெரிவிக்கும். சிறிய அளவிலான சீரற்ற வாசிப்புகள் (random reads) இதற்கான சரியான பணிச்சுமையாகும்; ஏனெனில் இவை சேமிப்பக ஊடகத்திற்கான round trip நேரத்தை வெளிப்படுத்தும், மேலும் இவற்றை read-ahead மூலம் வேகப்படுத்த முடியாது.

முதலில் சோதனை கோப்பை உருவாக்கி, இந்த filesystem unbuffered I/O-வை ஏற்கிறதா என்பதை உறுதிப்படுத்தவும். --direct=1 கோப்பை O_DIRECT உடன் திறக்கிறது, இது page cache-ஐத் தவிர்க்கிறது. இதைச் செய்யாவிட்டால், நீங்கள் உங்கள் RAM-ன் வேகத்தையே அளவிடுவீர்கள், இது எந்த வன்வட்டாலும் (disk) வழங்க முடியாத எண்களைக் காட்டும்.

sudo apt install -y fio
fio --name=prep --filename=/var/tmp/nvme-check.tmp --size=256M --bs=1M --rw=write --direct=1 --end_fsync=1 > /dev/null \
  && echo "unbuffered writes work here, the timing test is valid" \
  || echo "this filesystem refuses direct=1, so the timing test below will not run"

இது மறுப்புச் செய்தியை அச்சிட்டால், நீங்கள் தேர்ந்தெடுத்த பாதை O_DIRECT ஆதரவு இல்லாத ஒரு filesystem-ல் உள்ளது என்று அர்த்தம். Container overlay filesystem-கள் மற்றும் சில network filesystem-கள் இவ்வாறு செயல்படும். VPS root filesystem-ல் உள்ள ஒரு கோப்பகத்தைத் தேர்ந்தெடுத்து மீண்டும் முயற்சிக்கவும். இது வெற்றியை அச்சிட்டால், அளவீட்டைத் தொடங்கவும்:

fio --name=randread4k --filename=/var/tmp/nvme-check.tmp --bs=4k --rw=randread \
  --direct=1 --iodepth=1 --numjobs=1 --runtime=20 --time_based --group_reporting \
  || echo "fio stopped early, read its first line for the reason"
rm -f /var/tmp/nvme-check.tmp

இந்தச் சோதனை வேண்டுமென்றே கட்டுப்படுத்தப்பட்டுள்ளது: ஒரு பணி (job), queue depth 1, இருபது வினாடிகள், 256 MB தரவு. இது உங்கள் வன்வட்டை நிரப்பாது, மேலும் முறையற்ற பயன்பாட்டிற்காக (abuse) உங்கள் கணக்கு முடக்கப்படாது. இந்தச் சோதனைக்கு queue depth 1 என்பதே சரியான அமைப்பாகும்; ஏனெனில் ஆழமான queue-கள் மெதுவான சாதனங்களை இணையாகச் செயல்பட வைத்து மறைக்க உதவும், ஆனால் தாமதம் அதிகமாகவே இருக்கும்.

fio வெளியீட்டை வாசித்தல்

இரண்டு வரிகள் முக்கியமானவை. சுருக்கமான வரி read: IOPS=9012, BW=35.2MiB/s போல இருக்கும், அதன் கீழே fio ஒரு clat தொகுதியை அச்சிடும். clat என்பது completion latency ஆகும்: fio ஒரு read கோரிக்கையைச் சமர்ப்பித்ததற்கும், kernel தரவைத் திரும்ப வழங்கியதற்கும் இடைப்பட்ட நேரம். avg மதிப்பை வாசிக்கவும், பின்னர் clat percentiles பட்டியலில் உள்ள 99.00th சதவீத மதிப்பை வாசிக்கவும். சராசரி மதிப்பு உங்கள் storage வகையைத் தெரிவிக்கும். 99-வது சதவீத மதிப்பு, அதே host-ல் உள்ள மற்றொரு பயனர் உங்களை எவ்வளவு அடிக்கடி காத்திருக்க வைக்கிறார் என்பதைக் குறிக்கும்.

மதிப்புகள் சிறியதாக இருக்கும்போது fio latency-ஐ microseconds-ல் அச்சிடும், மதிப்புகள் பெரியதாக மாறும்போது milliseconds-க்கு மாறிவிடும். எதையும் ஒப்பிடுவதற்கு முன்பு, அதற்கு முந்தைய வரியில் உள்ள அலகைச் (unit) சரிபார்க்கவும்.

NVMe மற்றும் SATA வகைகளை வேறுபடுத்தும் எண்கள் எவை

கீழே கொடுக்கப்பட்டுள்ள புள்ளிவிவரங்கள், ஆகஸ்ட் 2026 நிலவரப்படி விற்பனையாளர் ஆவணங்கள் மற்றும் சமூக அளவீடுகளிலிருந்து பெறப்பட்ட, queue depth 1-ல் ஒற்றை-பணி 4k random read-க்கான பொதுவான மதிப்புகள் ஆகும். இவை உங்கள் server-ல் எடுக்கப்பட்ட அளவீடுகள் அல்ல, ஒப்பீட்டிற்கான அளவுகோல்கள் மட்டுமே.

ChartTypical 4k random read latency at queue depth 1, by storage class
The data behind this chart
[
  {
    "label": "Local NVMe",
    "avg_latency_us": 110
  },
  {
    "label": "Local SATA SSD",
    "avg_latency_us": 320
  },
  {
    "label": "Network block storage",
    "avg_latency_us": 900
  }
]
ChartTypical 4k random read IOPS at queue depth 1, by storage class
The data behind this chart
[
  {
    "label": "Local NVMe",
    "iops": "9,000"
  },
  {
    "label": "Local SATA SSD",
    "iops": "3,100"
  },
  {
    "label": "Network block storage",
    "iops": "1,100"
  }
]

ஒரு local NVMe volume, 4k random read கோரிக்கைக்கு சுமார் 110 மைக்ரோ விநாடிகளில் பதிலளிக்கிறது மற்றும் queue depth 1-ல் சுமார் 9,000 IOPS-ஐ எட்டுகிறது. ஒரு local SATA SSD சுமார் 320 மைக்ரோ விநாடிகளிலும் 3,100 IOPS-லும் இயங்குகிறது. Network attached block storage சுமார் 900 மைக்ரோ விநாடிகளிலும் 1,100 IOPS-லும் அமைகிறது, ஏனெனில் ஒவ்வொரு read கோரிக்கையும் flash-ஐ அடைவதற்கு முன்பே ஒரு network hop-ஐக் கடக்க வேண்டியுள்ளது.

Queue depth 1-ல், இந்த இரண்டு நெடுவரிசைகளும் ஒரே உண்மையை இருமுறை கூறுகின்றன: ஒரு நேரத்தில் ஒரு read மட்டுமே நடக்கும்போது, throughput என்பது latency-ன் தலைகீழ் மதிப்பு ஆகும். உங்கள் சராசரி latency, 320 மைக்ரோ விநாடிகளை விட 110 மைக்ரோ விநாடிகளுக்கு நெருக்கமாக இருந்தால், lsblk அந்த சாதனத்தை எப்படி அழைத்தாலும், நீங்கள் NVMe வகை storage-ஐப் பயன்படுத்துகிறீர்கள் என்று அர்த்தம். அது 900 மைக்ரோ விநாடிகளுக்கு நெருக்கமாக இருந்தால், local flash-ஐ விட மெதுவான ஏதோ ஒன்று பாதையில் உள்ளது என்று பொருள்; மேலும், ஆர்டர் பக்கத்தில் உள்ள NVMe என்ற சொல் உங்கள் volume-ஐக் குறிக்காமல், host-ன் drives-ஐ மட்டுமே குறிக்கிறது.

புகார் அளிக்கும் முன் அதை ஒன்றுக்கும் மேற்பட்ட முறை இயக்கவும்

ஒருமுறை இயக்குவது ஒரு மாதிரி மட்டுமே, அது முடிவல்ல. ஒரு VPS அதன் வட்டுக்களை (disks) பகிர்ந்துகொள்வதால், பக்கத்து server-ல் அதிக வேலைப்பளு இருந்தால், அது பத்து நிமிடங்களுக்கு உங்கள் latency-ஐ இருமடங்காக அதிகரிக்கலாம், பின் அது சரியாகிவிடலாம். சில தளங்கள் burst credits-ஐ வழங்குகின்றன, இது சோதனையின் முதல் சில நிமிடங்களை மிகச் சிறப்பாகக் காட்டும். ஒரே கட்டளையை நாளின் வெவ்வேறு நேரங்களில் மூன்று அல்லது நான்கு முறை இயக்கி, சிறந்த முடிவை அல்ல, மோசமான முடிவை ஒப்பிட்டுப் பாருங்கள். ஒருமுறை வரும் மோசமான முடிவு தற்காலிகமானது. ஒரு குறிப்பிட்ட முறை (pattern) இருந்தால் அது support ticket அளிக்கும் அளவுக்குப் பெரிய குறைபாடு; மூன்று timestamped fio வெளியீடுகளை இணைத்து அனுப்பினால், அந்த ticket-க்கு அதிக முக்கியத்துவம் கிடைக்கும். CPU மற்றும் network ஆகியவற்றை வட்டுடன் சேர்த்து முழுமையாகப் பார்க்க, a full VPS benchmark run மற்ற subsystems-க்கும் இதே ஒழுக்கத்தைப் பின்பற்றுகிறது.

பதிலைக் கொண்டு என்ன செய்வது

Latency NVMe வரம்பிற்குள் இருந்தால், device பெயரைப் பற்றி கவலைப்படுவதை நிறுத்திவிட்டு அடுத்த கட்டத்திற்குச் செல்லுங்கள். vda என்பது தரம் குறைவானது அல்ல. பெரும்பாலான host-கள் வழங்கும் அதிவேக virtual disk driver இதுவே, இதுவே உங்களுக்குத் தேவையானது.

Local NVMe என்று விற்கப்படும் திட்டத்தில் latency network storage வரம்பிற்குள் இருந்தால், உங்களிடம் ஒரு குறிப்பிட்ட, மீண்டும் நிரூபிக்கக்கூடிய கோரிக்கை உள்ளது: சரியான fio command, சராசரி completion latency, மற்றும் நீங்கள் அதை இயக்கிய நேரங்கள். இது ஒரு forum விவாதத்தை விட support ticket-க்கு உரியது. அதை அனுப்பும் முன், disk நிரம்பிவிடவில்லை அல்லது அதிகப்படியான fragmentation இல்லை என்பதை உறுதிப்படுத்தவும்; நீங்கள் சோதிக்கும்போது அந்த box-ல் வேறு எந்த செயலியும் தீவிரமாக எழுதவில்லை என்பதையும் உறுதிப்படுத்தவும்.

ஏதாவது மெதுவாக இருப்பதாகத் தோன்றும் நாளில் அல்லாமல், நீங்கள் provision செய்த அன்றே இந்தச் சோதனையைச் செய்யுங்கள், அப்போதுதான் பிற்காலத்தில் ஒப்பிட்டுப் பார்க்க ஒரு baseline உங்களிடம் இருக்கும். இது புதிய VPS-ன் முதல் பத்து நிமிடங்கள் செயல்பாட்டில், firewall மற்றும் SSH keys அமைப்பதோடு இயற்கையாகவே இணைந்துவிடும். Storage tiers-க்கு இடையிலான வேறுபாடு இன்னும் தெளிவாக இல்லை என்றால், SSD VPS உங்களுக்கு உண்மையில் என்ன வழங்குகிறது என்ற பகுதி இதற்கான அடிப்படை விளக்கத்தை அளிக்கும்.

FAQ

எனது host NVMe-ஐக் கொண்டிருந்தாலும், ஏன் lsblk கட்டளை /dev/vda என்று காட்டுகிறது?

ஏனெனில் vda உங்கள் guest-ல் virtio-blk driver-ஐக் குறிக்கிறது, host-ல் உள்ள வன்பொருளை அல்ல. ஒரு KVM hypervisor, ஒரு கோப்பு, logical volume அல்லது dataset மூலம் ஆதரிக்கப்படும் ஒரு paravirtual block device-ஐ வழங்குகிறது. அந்த backing store NVMe drive-களில் இருக்கலாம், ஆனால் guest-க்கு அது தெரியாது. இந்த பெயர் virtualization அடுக்கையே விவரிக்கிறது. latency அளவீடு மட்டுமே ஊடகத்தை (media) துல்லியமாக விவரிக்கும்.

rotational 0 என்பது என்னிடம் NVMe disk உள்ளது என்பதை உறுதிப்படுத்துமா?

இல்லை. /sys/block/<dev>/queue/rotational-ல் 0 இருப்பது, அந்த சாதனத்தில் சுழலும் தட்டுகள் (spinning platters) இல்லை என்று kernel கருதுவதைக் குறிக்கிறது. virtio-ல், இந்த மதிப்பு host தேர்ந்தெடுக்கும் feature bit மூலம் அமைக்கப்படுகிறது. இது சாதாரண hard drive-ஐ மட்டுமே தவிர்க்க உதவும். இது NVMe-க்கும் SATA SSD-க்கும் இடையிலான வித்தியாசத்தையோ, அல்லது local flash-க்கும் network volume-க்கும் இடையிலான வித்தியாசத்தையோ சொல்லாது. ஒரு 1-ஐ கவனிப்பது அவசியம், ஏனெனில் இது solid state storage என்று விற்கப்படும் எந்தவொரு திட்டத்திற்கும் முரணாக இருக்கலாம்.

எனது VPS-ல் ஏன் nvme list காலியாக உள்ளது?

ஏனெனில் எந்தவொரு NVMe controller-ம் உங்கள் guest-க்கு வெளிப்படுத்தப்படவில்லை. nvme list மற்றும் lspci ஆகிய இரண்டுமே virtual machine-க்குத் தெரியும் சாதனங்களை மட்டுமே வாசிக்கும். ஒரு virtio-blk அல்லது virtio-scsi disk எந்தவொரு NVMe controller-ையும் பட்டியலிடாது. பெரும்பாலான VPS திட்டங்களில் அட்டவணை காலியாக இருப்பது சாதாரணமானது; இது host-ல் NVMe drive-கள் இல்லை என்பதற்கான ஆதாரம் அல்ல. sudo apt install -y nvme-cli மூலம் nvme-cli-ஐ நிறுவலாம், ஆனால் controller pass-through செய்யப்படாத வரை அட்டவணை காலியாகவே இருக்கும்.

எந்த fio முடிவு NVMe வகை சேமிப்பகமாகக் கருதப்படுகிறது?

Queue depth 1 மற்றும் 4k random reads மற்றும் --direct=1 ஆகியவற்றில், சராசரி completion latency 110 microseconds அருகில் இருந்தால் அது NVMe வகை ஆகும், மேலும் இது தோராயமாக 9,000 IOPS-ஐக் குறிக்கும். 320 microseconds என்பது SATA SSD-ஐயும், 900 microseconds என்பது network attached storage-ஐயும் குறிக்கும், இதில் ஒவ்வொரு வாசிப்பும் ஒரு network hop-ஐக் கடக்கும். இவை ஆகஸ்ட் 2026-க்கான பொதுவான அளவீடுகள் என்பதால், துல்லியமான எண்களை விட அளவுகளை (orders of magnitude) ஒப்பிட்டுப் பாருங்கள். முடிவுக்கு வருவதற்கு முன் வெவ்வேறு நேரங்களில் சோதனையை மீண்டும் செய்யவும்.