2025 ж. 23 қар.·6 мин

Серверлердегі диск қабылдау тесттері: fio/DiskSpd және шекті көрсеткіштер

Серверлердегі диск қабылдау тесттері: fio мен DiskSpd-ты қалай баптау, БД, файлдар және виртуализация үшін профиль таңдау, есепті дайындау және брактік шектер қою.

Серверлердегі диск қабылдау тесттері: fio/DiskSpd және шекті көрсеткіштер

Диск қабылдау серверде — жеткізілімнен кейін немесе дискілер ауыстырылған соң, қолдануға дейін жүргізілетін қысқа жүк тесттерінің жиынтығы. Мақсат қарапайым: дискілердің болжамды жұмыс істеуін және партияның біркелкілігін тексеру. Практикада мұндай тексеріс өндірісте орын алатын ақаулар мен ұзақ талдаулардан сағаттар үнемдейді.

Паспорттық көрсеткіштерге сену жеткіліксіз. Олар әдетте зертханалық режимдерде алынады (көбінесе әдемі сценарий — тізбекті оқу). Нақты өмірде жүктеме аралас: кішкентай блоктар, параллель ағындар, сұраныс кезегі, SSD-тің фондық тазалауы, контроллер кэштері, RAID, файлдық жүйе. Сондықтан диск «паспортым бойынша жылдам» болып көрінуі мүмкін, бірақ СУБД, виртуализация және файлдық сервистерге зиян келтіретін кешігулерді тудырады.

Қабылдау жеткізілім мен үйлесімділіктің типтік мәселелерін ағырады: қарайыстыру (басқа модель немесе көлем), сәйкес келмейтін прошивка, бір партияда әртүрлі ревизиялар, сақтау кезінде деградация, корзинадағы қызып кету және кейде қарапайым брак. Сервер конфигурацияларында бұл критикалық: массивтегі бір «жақсы емес» диск бүкіл картинаны бұза алады.

Көп жағдайда мәселе максималды жылдамдықтың жетіспеуінде емес, тұрақсыздықта. Мысалы, 8 жаңа SSD-тің біреуі жазу кезінде кейде жүздеген миллисекундқа дейін кешігулер береді. Файлдық сервисте бұл «тоқтап қалулар» сияқты көрінеді, ал виртуализация кластерінде — VM-дердің фриздері және қосымшалар жауап беру уақыттарының өсуі. Мұндай диск SMART-та бетті тексеруден өтетін жағдайлар көп, бірақ жүк сынағында өтпей қалады.

Қабылдау болжамсыз болмауы үшін алдын ала қандай көрсеткіштер тіркелетінін келісіңіз:

  • өнімділік (IOPS және MB/s) қажетті режимдерде
  • кешігулер (орташа және p95/p99/p99.9)
  • уақыт бойынша тұрақтылық (просадкалар мен «тісті» графиктердің жоқтығы)
  • енгізу-шығару қателері, timeouts, resets
  • бір партиядағы дисктер арасындағы шашырау

Кейін бәрі екі сұраққа келеді: қандай жүктеме профильдері сіздің сервистерге жақын және қандай шектерді «брак» деп санауға болады, ал қайсысы «бағдарламалық немесе аппараттық ерекшелік».

Тестке дейін: нәтижелерге не әсер етеді және деңгейлерді қалай шатастырмау керек

Нәтижелерді fio немесе DiskSpd іске қоспастан бұрын бүлдіруге болады. Командалардан гөрі бастапқы шарттарды бекітуге көңіл бөліңіз: қай накопитель, қай контроллер, қай деңгейде өлшенеді және қандай кэштер қосулы.

Күту дисктің түріне қатты тәуелді. NVMe әдетте төмен кешігулер мен жоғары IOPS береді. SATA SSD интерфейс пен контроллермен шектеледі. SAS көбіне ұзақ жүктеме кезінде тұрақты болады. HDD тізбекті тапсырмаларда жақсы, ал случайныйта қатты құлдырайды. Барлығын бірдей ретінде салыстырсаңыз, сіз дұрыс HDD-ті «бракқа» жібересіз немесе проблемалы SSD-ті өткізіп жібересіз.

О別ара – RAID/HBA және кэш. Write-back әдемі цифрлар шығарады, егер жазба контроллер кэшіне түсіп тұрса, ал нағыз носительге жазылмаған болса. Write-through адал, бірақ баяу. Кэш қорғалуы (BBU немесе суперконденсатор) маңызды: оның болмауы кэш жазуды жиі өшіртеді, және жүйенің мінезі өзгереді. Тест алдында кэш режимін және жазу саясаттарын нақты тіркеңіз.

Файлдық жүйе де әсер етеді. "Файл бойынша" тест FS, блок өлшемі, монтирлеу параметрлері және фондық тапсырмаларға тәуелді. Блочный құрылғы бойынша тест «темірге» жақынырақ. Қабылдауда не тексеріп жатқаныңызды түсіну пайдалы: диск өзі ме, сақтау стегі ме, әлде «өнімдегі тәрізді» схема ма.

Параллелизм жүктеме картинаны анықтайды. Кезек (QD) және ағын саны (numjobs) дискіні ашып көрсетуі немесе ақауды жасыруы мүмкін. Өте кіші кезек IOPS-ты төмендетеді, ал тым үлкен кезек кезектерді ондаған миллисекундқа дейін ұлғайтып, сирек болатын сәтті құлдырауларды жасыруы мүмкін.

Бастамас бұрын тіркеңіз:

  • диск түрі және интерфейс (SATA/SAS/NVMe), көлем, прошивка
  • контроллер режимі (RAID/HBA), write-back/write-through, BBU/суперконденсатор бар-жоғы
  • тест деңгейі: файл FS-те ме немесе блочный құрылғыда ма, қалай форматталғаны
  • жүктеме параметрлері: block size, QD, numjobs, прогрев ұзақтығы
  • фон: RAID ребилді, scrub, жаңартулар, телеметрия

Және өлшеу деңгейлерін шатастырмаңыз. Бір диск әртүрлі көрінуі мүмкін:

  • физикалық диск деңгейінде (минимум «сиқыр»)
  • RAID/массив томында (кэш пен саясат әсері)
  • ОС томда (драйверлер мен жоспарлағыш)
  • қонақ VM ішінде (виртуалды кезектер мен гипервизор шектеулері)

Егер сіз серверлер мен СХД-ны интегратор ретінде қабылдасаңыз, практикалық тәсіл — тестті екі деңгейде іске қосу: «темірде» (брак іздеу үшін) және «өнімдегі тәрізді» (эксплуатациядағы күтілетін өнімділікті растау үшін).

Стендті дайындау және тест қауіпсіздігі ережелері

Алдымен не тексеретініңізді шешіңіз: жеке диск, RAID-топ немесе толық сақтау жолы (диск - контроллер - драйвер - ОС - файлдық жүйе). Деңгейлерді араластырсаңыз, нәтижелер «жылжи» береді және ақауды өткізіп жіберуге болады.

Қолданылатын құралдар және жүйені бақылау

Минималды жиынтық: Linux үшін fio, Windows үшін DiskSpd және мониторинг. Прогон кезінде тек жылдамдықты емес, сонымен қатар проблемалардың белгілерін бақылаңыз: кешігулердің өсуі, контроллер қателері, қызып кету, қайта бөлінген блоктар.

Мониторинг үшін ОС-тың штаттық құралдары мен контроллер/диск утилиталары жеткілікті: SMART/NVMe log, жүйелік журналдар, CPU жүктемесі, диск кезегі, температура, I/O қателері. Логтарды алдын ала жинауды қосу пайдалы — кейінгі проблеманы нақты минутқа байлауға болады.

Темірді шатастырмау үшін алғашқы іске қосудан бұрын атау беруді келісіңіз. Ыңғайлы формат: сервер - слот/бэй - сериялық номер - диск рөлі (OS, DATA, LOG, CACHE). Мысалы: SRV-DB01 BAY03 S/N XXXXX DATA.

Салыстыру үшін ортақ шарттарды бекітіңіз: ОС нұсқасы және қуат саясаттары, драйверлер мен прошивкалар (контроллер, диск), RAID режимі және stripe size, кэш саясаты, файлдық жүйе және блок өлшемі (егер том деңгейінде тесттесеңіз).

Прогрев және тұрақтандыру (precondition)

Жаңа SSD көп жағдайда «витриналық» көрсеткіштер көрсетеді, олар бос және суық болғанда. Қабылдау үшін прогрев қажет: дискіні толтыру және кешігулер тұрақты жағдайға шыққанша жүктеу. Көп SSD үшін разылы минимумы — 30-60 минут ауыр жазу (немесе 1-2 рет толтыру), содан кейін 5-10 минут үзіліс және тек содан соң өлшеулер.

Қауіпсіздік ережесі: тестті тек бос диск немесе тестілік томда жүргізіңіз. Бір қате параметр (қате диск, қате жол) — деректер жоғалуы мүмкін.

Бастамас бұрын стоп-ережелер енгізіңіз:

  • прод-томдарда және маңызды деректегі LUN-дерде тест бастамаңыз
  • іске қоспас бұрын не қайта жазылатынын қайта тексеріңіз (жол/диск белгісі)
  • нәтижені бұрмалайтын фондық тапсырмаларды өшіріңіз (бэкаптар, антивирустық скан)
  • температура мен ауа ағынын бақылаңыз (әсіресе NVMe тығыз корзиналарда)
  • егер I/O қателері шықса, прогонды тоқтатып, логтарды сақтаңыз

Осылай стенд болжамды болады, ал нәтижелер дисктер мен серверлер партиялары арасында салыстырмалы болады.

fio және DiskSpd бойынша қабылдау тесттерінің қадамдық схемасы

Нәтижелерді партиялар, модельдер және стендтер арасында салыстыру үшін бірдей схема ұстау маңызды.

1) Сценарий мен мақсатты анықтау

Деңгейді анықтаңыз: жеке диск, RAID-топ, SAN томы немесе гипервизордың datastore-ы. Содан кейін нақты сервистерге жақын профиль таңдаңыз: СУБД (кіші блоктар және төмен кешігулер), файлдық сервис (аралас блоктар және тізбектілік), виртуализация (отырып-қалтасы бар оқу/жазу және жоғары параллелизм).

2) Прогрев және тұрақтылық тексерісі

Өлшеулер алдында прогрев жасаңыз: тестілік файл/том бойынша жазу және қысқа прогон, жылдамдықтың платоға шығуын күтіңіз. Егер график секіріп тұрса және кешігулер «тісті» болып келсе, бұл сигнал.

Одан кейін қарапайым ережелер:

  • бірнеше блок өлшемдерін (4K, 8K, 64K, 1M) және бірнеше кезек тереңдігін (мысалы, QD 1, 4, 16, 32) іске қосыңыз, сол арқылы «жалғыз ағын» пен шыңды көресіз
  • IOPS/MB/s қоса тіркеп қана қоймай, кешігулердің хвосттарын (p95, p99, p99.9) тіркеңіз
  • жүздеген миллисекундтық сирек «тоқтауларды» қадағалаңыз: олар БД мен VDI үшін орташа мәндерді жояды
  • артефакттарды сақтаңыз: fio/DiskSpd логтары, стенд конфигурациясы, SMART және жүйелік журналдар

Қайталанушылық міндетті: 2-3 бірдей прогон жасаңыз және шешімді медиана бойынша қабылдаңыз, ең жақсы нәтиже бойынша емес.

Мысал минималды командалар (өз жолыңызды және өлшемді қойыңыз):

fio --name=rand4k --filename=/mnt/testfile --size=50G --direct=1 --rw=randrw --rwmixread=70 \
 --bs=4k --iodepth=16 --numjobs=4 --time_based --runtime=180 --group_reporting \
 --output=fio_rand4k_mix.json --output-format=json
DiskSpd.exe -b4K -d180 -W30 -o16 -t4 -r -w30 -Sh -L C:\test\testfile.dat

Қабылдау кезінде қандай метрикаларды есептеу керек: не маңызды және неге

Қабылдауда рекордтар емес, болжамдылық маңызды. Диск жоғары орташа нәтиже көрсете отырып, кейде секундтар бойы «құлауы» мүмкін. Сол жағдайлар кейін СУБД, виртуал машиналар және файлдық серверде ақаулар тудырады.

Өнімділік: IOPS, latency және MB/s

IOPS кішкентай блоктар (4K-16K) және случайный қатынау үшін пайдалы, бірақ тек «прогон бойынша орташа» көрсеткішке сенбеңіз. Бірдей жүктеме кезінде кенеттен түсу жиі троттлинг, кэштеу, прошивка немесе ақауды көрсетеді.

Кешігулер көбіне IOPS-тен маңыздырақ. Орташа мән сирек, бірақ ауыр кешігулерді жасырып қояды, сондықтан есепте p95/p99/p99.9 тіркелсін. Виртуализация және БД үшін p99 және p99.9 көбірек пайдаланушы шағымдарын түсіндіреді.

Пропускная способность (MB/s) тізбекті ағындар мен үлкен блоктар (128K-1M) үшін маңызды: бэкаптар, шығарулар, үлкен файлдарды сканерлеу. Егер throughput тұрақты жүктеме кезінде «тістік» көрсетсе, бұл SLC-кэш, қызып кету немесе контроллер проблемаларына ұқсайды.

Сенімділік: қателер және температура

Кез келген қателер IOPS-тан маңыздырақ. Read/write errors, timeout, reset, media errors және SSD үшін SMART көрсеткіштеріндегі өзгерістерді тіркеңіз. Тіпті бір-екі timeout кейін RAID, файл жүйесі немесе гипервизорда проблемалар әкелуі мүмкін.

NVMe қызып кетуі әдетте сияқты көрінеді: алдымен қалыпты IOPS және төмен кешігулер, содан соң сол кезекте кешігулердің өсіп, жылдамдықтың төмендеуі. Сондықтан температураны және ауа ағынын контекст ретінде сақтаңыз.

Есепке не қосу пайдалы:

  • fio/DiskSpd логтары (перцентильдер және уақыт бойынша бөлініс қосулы болу жақсы)
  • SMART тесті (алды және кейін)
  • reset/timeout туралы ОС оқиғалары (бар болса)
  • прогонның барысында NVMe температурасы
  • драйвер және контроллер прошивкасының нұсқасы, қуат режимі

СУБД-ға арналған типтік тест профилдері

Сервер под СУБД без сюрпризов
Подберем сервер и дисковую конфигурацию под требования по задержкам и IOPS.
Подобрать сервер

СУБД-терде әдетте екі түрлі жүктеме болады: кішкентай случайный операциялар (OLTP) және үлкен тізбекті оқу (аналитика). Сонымен қатар транзакциялық журналдар бар, онда тегіс кешігулер мен сирек ұзақ үзілістердің жоқтығы маңызды. Сондықтан бірнеше қысқа, бірақ нақты профиль жасау жақсы.

Жылдам жиынтық салыстыру үшін:

  • 4K random read: QD 1 және QD 32, 1-4 ағын (IOPS және p99 қараңыз)
  • 4K random write: QD 1 және QD 32, 1-4 ағын (p99 және «қадамдарды» қараңыз)
  • 70/30 random (read/write): блок 8K, QD 8-32, 4-8 ағын (типтік OLTP)
  • mixed 16K: 50/50 немесе 70/30, QD 8-16 (когда часть запросов тяжелее 8K)

Аналитика үшін 64K-1M тізбекті оқу, QD 4-16 және throughput тұрақтылығын тексеріңіз. Журналдар үшін бөлек тест: 4K-16K sync write, кіші кезек (QD 1-4), 1 ағын — мұнда болжамдылық шыңдырақ.

Файлдық сервистерге арналған типтік тест профилдері

Файлдық сервистер (SMB/NFS) дискті басқа түрде жүктейді: көп тізбекті оқу, «офистік» аралас және шағын файлдар бойынша шарықтау. Бұл режимдерді бөлек тексерген дұрыс.

Негізгі профильдер

  1. Үлкен файлдарды тізбекті оқу (бэкаптар, медиа):
fio --name=seqread --filename=/mnt/testfile --size=200G --direct=1 \
  --rw=read --bs=1M --iodepth=32 --numjobs=4 --runtime=180 --time_based \
  --group_reporting
  1. «Офистік» аралас: 64K случайный, оқу басым (кешігулердің секірісін ұстау үшін):
fio --name=mix64k --filename=/mnt/testfile --size=100G --direct=1 \
  --rw=randrw --rwmixread=80 --bs=64K --iodepth=16 --numjobs=4 \
  --runtime=300 --time_based --group_reporting
  1. Көп кішкентай файлдар: мұнда IOPS және кешігулердің хвосты маңызды, сондықтан параллелизмді көтеріп, p95/p99 тіркеңіз.

Windows-та сол логика DiskSpd-пен қайталанады, мысалы 64K 80/20 үшін:

DiskSpd.exe -c100G -d300 -Sh -L -o16 -t4 -b64K -r -w20 C:\testfile.dat

Бәсекелестік тексерісі ретінде бір уақытта тізбекті оқу (1M) және случайный жазуды (4K-16K) қосып көріңіз. Осылай оқу жазуға қарағанда «құлап кетеді» ма анық көрінеді.

SMB/NFS туралы ескерту

Біріншіден диск/томды серверде (fio/DiskSpd) тесттеп, содан кейін ғана SMB/NFS-ті клиенттен тексеріңіз. Әйтпесе тар шектеуді қайдан шығатыны — диск пе, CPU ма, желі ме, протокол баптауы ма, антивирус немесе шифрлау ма — түсіну қиын болады.

Виртуализация мен VDI-ге арналған типтік профильдер

Пороги приемки под вашу нагрузку
Поможем выбрать профили fio/DiskSpd и зафиксировать p99-пороги под ваши сервисы.
Оставить заявку

Виртуализация әдетте «таза» оқу немесе жазу болмайды. Көбінесе кішкентай случайный операциялардың араласуы, онда тұрақты кешігу максималды IOPS-тан маңыздырақ.

Профиль 1: аралас «орташа виртуализация»

70/30 немесе 60/40 read/write, блок 8K (4K-16K жарамды), жоғары параллелизм:

fio --name=virt-mix --filename=/dev/nvme0n1 --direct=1 --ioengine=libaio \
 --rw=randrw --rwmixread=70 --bs=8k --numjobs=8 --iodepth=32 \
 --time_based=1 --runtime=300 --group_reporting=1 --lat_percentiles=1

Сосын кезек бойынша қысқа «лесенка» жасаңыз: iodepth 1, 4, 8, 16, 32. Егер p99 кешігу қадамдап секірсе, бұл көбіне прошивка, контроллер немесе қызып кету мәселесін көрсетеді.

Профиль 2: VDI (қатты p99 маңызды)

80/20 read/write, 4K, көп ағын, бірақ iodepth аса жоғары емес:

fio --name=vdi-boot --filename=/dev/nvme0n1 --direct=1 --ioengine=libaio \
 --rw=randrw --rwmixread=80 --bs=4k --numjobs=16 --iodepth=16 \
 --time_based=1 --runtime=300 --group_reporting=1 --lat_percentiles=1

Егер p99 «жоғалса», пайдаланушылар логин кезінде немесе профиль ашқанда тұрып қалуды байқайды, орташа кешігулер қалыпты көрінсе де.

Профиль 3: тығыз консолидация (көп VM бір уақытта)

numjobs-ты 24-48-ға дейін көтеріңіз, бірақ тест машинаның CPU-ына тимеуі үшін бақылаңыз. Сол уақытта процессор жүктемесін және кезектерді қадағалаңыз.

Егер RAID/HBA мен кэш бар болса, бір профильді write-back және write-through режимдерінде екі рет өткізіңіз. Кеш режимдері бойынша кешігулер мен p95/p99 арасындағы күшті айырмашылық — өндірісте мінез-құлық кэш пен BBU бар-жоғына байланысты өзгеретінін білдіруі мүмкін.

Қабылдау шектері: бракты табатындай мәндерді қалай қою керек

Шектер әдемілік үшін емес, жасырын ақауларды үздіксіз іріктеу үшін керек: тұрақсыз кешігулер, қызып кету, контроллер қателері, жүктеме кезінде құлдырау.

Нені бақылау пайдалы

Орташа мәндермен шектелмеңіз. Көп рөлдер үшін кешігулердің хвосттары мен тұрақтылық маңызды:

  • әр профиль бойынша IOPS және MB/s (және прогондар арасындағы қайталанушылық)
  • p99, ал критикалық рөлдер үшін p99.9 (оқу және жазу бойынша бөлек)
  • уақыт бойынша медианаға қатысты просадкалар (мысалы, минуттық интервальдер бойынша)
  • I/O errors, timeouts, resets, media errors-ке нөлдік төзбеушілік
  • температура және троттлинг белгілері

Кешігулер бойынша шек бракты IOPS шегінен жиі жақсырақ ұстайды. Диск цифрларды ұстап тұрса да, сирек ұзақ тоқтаулар бере алады.

Шектерді қалай қою керек: эталон мен рөл бойынша

Сенімді түрде екі қабат шекті қолданыңыз: эталондық экземплярдан және рөл талаптарынан.

  • Эталон: сол модельдің 1-2 тексерілген дискісі, сол профильдер, содан кейін рұқсат етілген ауытқу (мысалы, медиана бойынша 10-15% нашар немесе p99 бойынша 20-30%).
  • Партия: дисктерді бір-бірімен салыстыру. Бір диск топқа қарағанда тұрақты түрде p99 немесе тұрақтылық бойынша нашар болса күдік туындайды, тіпті формальды «проход» болса да.
  • Рөл: СУБД үшін p99/p99.9 бойынша қатаң шектер, файлдық сервистерге тізбекті тесттерде тұрақты throughput маңызды.
  • Тұрақтылық: тұрақты құлдыраулар (мысалы, әр 3-5 минут сайын IOPS 30%+ төмендеуі) — жұмысқа енгізбес бұрын тексеруді талап етеді.

Температураға қарағанда: температура өсуі + IOPS төмендеуі немесе p99 өсуі — егер бұл қайталанса, оны троттлинг ретінде тіркеп, шектерге қосыңыз (немесе нақты стойкадағы ауа ағынын өзгертіңіз).

Қабылдаудағы жиі қателер мен тұзақтар

Поддержка 24/7 по инцидентам хранения
Если появились timeouts или resets, поможем быстро собрать логи и локализовать проблему.
Подключить поддержку

Тіпті жақсы тесттерді іске қосу шарттарын бұзу оңай. Соның салдарынан «жаман» диск қалыпты көрінуі мүмкін немесе керісінше — дұрыс диск брак деп саналады.

Ең жиі себептер:

  • тест файл тым кіші және кэшке (ОС, контроллер, SSD кэш) түседі
  • тест қысқа уақытқа жүргізіліп, garbage collection, прогрев, SLC-кэш және троттлинг көрсетпейді
  • том фондық тапсырмалармен бос емес (антивирус, индексдеу, бэкап)
  • бірліктерді шатастыру (MB/s vs MiB/s) және метрикаларды контекстсіз қолдану (IOPS-ты блок өлшемінсіз салыстыру мәнсіз)
  • салыстыру «салыстырмалы емес»: әртүрлі драйверлер/прошивкалар, басқа RAID режимі, басқа кэш, әртүрлі QD мен ағындар

Тағы бір тұзақ — массив өлшемін өлшеу арқылы нақты диск туралы шешім қабылдау. Деградация контроллерде, кабельде, слотта немесе backplane-де болуы мүмкін.

Практикалық мысал: екі бірдей сервер 4K оқуда әртүрлі нәтижелер көрсетсе, себебі бірінде write-back және BBU бар RAID орнатылған, ал екіншісінде жазу кэші жаңартудан кейін өшірілген.

Тағы бір «күнделікті» кеңес: дискілердің сериялық нөмірлерін, прошивка нұсқаларын, контроллер моделін және оның прошивкасын тіркеңіз. Олай жасамасаңыз, дисктерді серверлер арасында ауыстырғанда тестті қайталау және ақаулы дискті тез табу қиын болады.

Чек-лист, қысқа есеп шаблоны және қысқа мысал

Нәтижелер салыстырмалы және жеткізушімен даулы болмағаны үшін қысқа чек-лист пен шаблон ұстаңыз.

Бастапқы чек-лист

  • Конфигурацияны тіркеу: RAID/HBA, BIOS/прошивка нұсқалары, контроллер режимдері (write-back/write-through), кэш саясаты.
  • Тесттейтін деңгей дұрыс екенін тексеру: диск, массив немесе LUN, және ребилд/скраб жоқтығын растау.
  • Бірдей тест файл көлемін таңдау (әдетте 1.5-2x RAM, кэшке тимеу үшін).
  • Өлшеуден бұрын таңдалған профиль бойынша прогрев жүргізу.
  • Тест кезіндегі салқындату мен қуаттың дұрыстығын тексеру: дискілер мен контроллер температурасы қалыпты болуы керек.

Қысқа есеп шаблоны

Есеп тестті қайталауға және «жаман» экземплярды тез табуға мүмкіндік беруі керек:

  • Идентификация: модель, сыйымдылық, тип (HDD/SATA SSD/NVMe), сериялық нөмір, слот/порт, күн, партия.
  • Ортасы: сервер, ОС, драйвер, fio/DiskSpd нұсқасы, тест параметрлері (блок, кезек тереңдігі, ағындар, уақыт, файл көлемі).
  • Сақтау баптауы: RAID деңгейі, stripe size, контроллер кэші, файлдық жүйе, mount-опциялар.
  • Нәтижелер: IOPS, MB/s, орташа кешігу және p95/p99/p99.9, уақыт бойынша тұрақтылық, температуралар.
  • Қорытынды: "годен/условно/брак", не қайта тексерілді.

Дәлелдерді бірден тіркеу жақсы: шикі fio/DiskSpd логтары (мәтін/JSON), уақыт бойынша метрикалық таңбалар (мониторингтен) және диск/контроллер қатесі туралы жүйелік журналдар.

Практикадан мысал: бір стойка серверінде 12 бірдей SSD-пен бір диск IOPS бойынша қалыпты, бірақ p99 кешігуі 3-5 есе жоғары және әр 30-60 секундта «тістер» байқалады. Бірінші қадам — сол слотта тестті қайталау. Содан соң дискті басқа слотқа ауыстырып көріңіз (порт/кабель/backplane ерекшелігін ausgeschlossen ету үшін). Егер проблема дискпен бірге «қозғаса», оны брак ретінде тіркеп ауыстыру рәсімін бастаңыз.

Егер сіз серверлер мен СХД-ны енгізу аясында қабылдасаңыз, алдын ала біртұтас есеп шаблонын, шектер мен қайта тексеру тәртібін келісіп алу ыңғайлы. Жеткізу мен интеграцияны GSE.kz (gse.kz) өз мойнына алатын жобаларда мұндай стандартизация әсіресе көмектеседі: дау туғызатын жағдайлар азаяды, диагностика жылдамырақ болады және іске қосқаннан кейін эксплуатация түсініктірек болады.

FAQ

Зачем вообще делать приемочные тесты дисков, если накопители новые?

Қабылдау тесттері — жеткізілім немесе диск ауыстырылғаннан кейін, қолдануға берілмей тұрып жүргізілетін қысқа жүк тесттері. Олар алдын ала тұрақсыз кешігулерді, қызуды, енгізу-шығару қателерін және партияның біркелкі еместігін табуға көмектеседі — кейінгі қызметтердің «тұрып қалуы» мен өндірістегі ұзақ тексерістерді болдырмайды.

Почему нельзя просто доверять паспортным IOPS и MB/s?

Паспорттық көрсеткіштер әдетте ыңғайлы лабораториялық режимдерде алынған және сіздің нақты жұмыстағы блок өлшемдері, кезек ұзындығы, ағындар, RAID-кэштері мен SSD-дің фондық процесстерін есепке алмайды. Нақтырақ айтқанда, рекордтық жылдамдықтан гөрі болжамдылық — тұрақты кешігулерсіз және сирек болатын ұзақ үзілістерсіз жұмыс маңызды.

Какие метрики реально важны в приемке, кроме скорости?

IOPS пен MB/s профильдерге байланысты маңызды, бірақ міндетті түрде p95/p99/p99.9 сияқты перцентильдерді және уақыт бойынша тұрақтылықты тіркеңіз. Егер диск кейде жүздеген миллисекундқа «тоқтап қалса», бұл БД мен виртуализация үшін орташа мәндер жақсы болса да проблемалар туғызады.

Какие типовые проблемы поставки и совместимости приемка ловит лучше всего?

Қабылдау жиі келесі проблемаларды ашады: бір партияда әртүрлі прошивкалар немесе ревизиялар, жасырын ақау, ұзақ уақыт сақтау кезінде деградация, корзинада қызып кету, сондай-ақ SMART-та қалыпты көрінгенімен кешігулер бойынша тестте нашар шығатын диск. Ең қауіпті — SMART-те қалыпты көрінетін, бірақ перцентильдер бойынша «құлайтын» үлгілер.

С чего начать, чтобы результаты тестов были сравнимыми и честными?

Бастапқыда жағдайларды құжаттап бастаңыз: диск моделі мен прошивкасы, контроллер режимі RAID/HBA, жазу кэшінің саясаты, тест деңгейі (блочный құрылғы немесе файл), сондай-ақ фондық процессорлар. Сосын прогрев жасап, «платоға» шыққаннан кейін ғана өлшеулерді бастаңыз — әйтпесе витриналық көрсеткіштермен салыстырасыз, нақты мінез-құлықпен емес.

Тестировать лучше по блочному устройству или через файловую систему?

Егер мақсат — ақауды табу және дисктерді бір-бірімен салыстыру болса, блочный құрылғы деңгейінде тест жасалғаны адал болады. Егер мақсат — нақты сервис қалай жұмыс істейтінін көру болса, онда өндірістегі сияқты деңгейде (RAID және файлдық жүйемен бірге) тестілеу пайдалы. Көбіне екі деңгейде: алдымен «темірде», содан кейін «өнімде қалай».

Как RAID-контроллер и его кэш искажают результаты и что с этим делать?

Write-back контроллер кэші жазбаны контроллердің кэшіне түсіргенше әдемі цифрлар көрсетіп тұруы мүмкін, ал шындықта жазба әлі физикалық медиада жоқ. Write-through әдетте баяу, бірақ адал нәтиже береді. Қауіпсіздік үшін кэш қорғалған ба (BBU/суперконденсатор) — бұл өте маңызды, себебі қорғаныссыз кэш жазуды өшіріп қоюы мүмкін және мінез-құлық күрт өзгереді.

Какие профили fio/DiskSpd выбрать, если времени мало?

Уақыт аз болса, ең маңызды профилдерді жасаңыз: прогрев және тұрақтылығын тексеру, бірнеше блок өлшемдері мен кезек тереңдігі (мысалы, 4K профилдері, бір аралас тест және бір последовательный үлкен блок). Нәрселерді шешкенде перцентильдер мен қайталанғыштыққа негізделіңіз.

Как понять, что один диск из партии “плохой”, если цифры примерно похожи?

Бұлар — партия ішіндегі диск, ол өзгелерге қарағанда үнемі p99/p99.9 бойынша нашар немесе бірдей жүктеме кезінде уақыт бойынша үнемі құлдырайтын диск. Пайдаланылатын әдіс — эталондық дискпен салыстыру және партия ішіндегі өзара салыстыру, «абсолютті дұрыс» көрсеткішті таппаққа тырыспаңыз.

Как безопасно проводить приемку, чтобы не угробить данные и не пропустить ошибки?

Тек бос дискіде не тестілік томда ғана сынақ жүргізіңіз, өйткені бір қате жол деректерді жояды. Егер I/O errors, timeouts немесе resets шықса — прогонды тоқтатып, логи, SMART/NVMe-log және жүйелік оқиғаларды сақтаңыз. Сондай-ақ NVMe дискілерінің температурасын бақылаңыз: тығыз корзинада троттлинг тесттің көрінісін бұрмалайды.