Мы создаем систему для архивного и научного анализа некоторых данных о погоде.
Установка избыточна, с двумя HP DL580, Proxmox (ZoL) и несколькими графическими процессорами для анализа . На каждом сервере мы планируем 5 пулов размером около 50 ТБ. Мы используем SSD из соображений плотности и скорости чтения. Последние два года мы работали с твердотельными накопителями HPE с интенсивным чтением. Мы рассматриваем следующие изменения для следующих пулов архивов:
Очевидно, что данные сохраняются в виде файлов (25%) и в базе данных (InnoDB, 75%) записывается только один раз.
Подходит ли комбинация raidZ2 - QLC SSD для этого типа архива?
Существуют ли специфичные для ZFS передовые практики или подводные камни в отношении долговечности QLC SSD?
Редактировать: образец вывода smartctl для текущего SSD TLC в полосатом зеркале
Copyright (*C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Device Model: VK007680GWSXN
Serial Number:
LU WWN Device Id: 5 00a075 1266adce4
Firmware Version: HPG2
User Capacity: 7,681,501,126,656 bytes [7.68 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: Solid State Device
Form Factor: 2.5 inches
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: ACS-3 T13/2161-D revision 5
SATA Version is: SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Mon Sep 21 21:11:42 2020 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
General SMART Values:
Offline data collection status: (0x00) Offline data collection activity
was never started.
Auto Offline Data Collection: Disabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: (26790) seconds.
Offline data collection
capabilities: (0x7b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 45) minutes.
Conveyance self-test routine
recommended polling time: ( 3) minutes.
SCT capabilities: (0x0035) SCT Status supported.
SCT Feature Control supported.
SCT Data Table supported.
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 100 100 050 Pre-fail Always - 0
5 Reallocated_Sector_Ct 0x0033 100 100 010 Pre-fail Always - 0
9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 4514
11 Unknown_SSD_Attribute 0x0012 100 100 000 Old_age Always - 5
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 6
171 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0
172 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0
173 Unknown_Attribute 0x0033 100 100 010 Pre-fail Always - 26
174 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 5
175 Program_Fail_Count_Chip 0x0033 100 100 001 Pre-fail Always - 0
180 Unused_Rsvd_Blk_Cnt_Tot 0x003b 100 100 001 Pre-fail Always - 0
184 End-to-End_Error 0x0032 100 100 000 Old_age Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
188 Command_Timeout 0x0032 100 100 000 Old_age Always - 7
194 Temperature_Celsius 0x0022 067 057 000 Old_age Always - 33 (Min/Max 22/43)
196 Reallocated_Event_Count 0x0033 100 100 001 Pre-fail Always - 0
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x003e 100 100 000 Old_age Always - 0
SMART Error Log not supported
SMART Self-test Log not supported
SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.*
Мы реализовали решение. Диски QLC кажутся подходящими для нашего использования.
Однако RAIDZ2 оказался непрактичным:
Комбинация ashift = 12 с размером записи 16K (соответствующий размер записи для нашей БД) приводит к высокой цене. по четности.
Используя RAIDZ2, мы получили два блока четности по 4 КБ, записанные для фактических данных размером 16 КБ. Одна треть хранилища использовалась для паритета. Поэтому мы вернулись к полосатым зеркалам.
Из-за того, как диски HP передают информацию SMART, предоставленные данные не очень полезны. При этом атрибут 173 должен быть счетчиком стирания (т. Е. Износа) блоков NAND в наихудшем случае. Всего 26 максимальных циклов стирания через 6 месяцев, ваш SSD должен прослужить 3000/26/2 = ~ 57,7 лет.
Это явно преувеличение, поскольку намного до этого вам нужно будет заменить что-то еще на вашем сервере (или даже сам SSD из-за неожиданного сбоя контроллера / NAND). Однако это хорошая отправная точка для оценки корпоративных твердотельных накопителей QLC: даже с 1/10 срока службы вы будете в течение ~ 5 лет обслуживания - столько же, сколько обычно покрывается их гарантией.
Кроме того, корпоративные диски QLC как правило, чипы NAND рассчитаны на ~ 1000 циклов, поэтому реальная долговечность должна быть значительно выше, чем 5 лет, о которых говорилось выше.
В сочетании с тем фактом, что, согласно вашему вопросу и комментариям, эти SSD будут расходовать большую часть их время в рабочей нагрузке только для чтения, переход с дисками QLC не должен вызывать никаких проблем , за исключением случаев, когда более низкая скорость записи дисков QLC имеет какое-либо значение для вашей рабочей нагрузки или вы не планируете оставлять сервер без питания на длительные периоды времени .
Что касается RAIDZ2, это может быть хорошим выбором для SSD, но обязательно создайте пул с ashift = 12
и установите достаточно маленькое свойство recordsize
(я настоятельно рекомендую 16 КБ, а не значение по умолчанию 128 КБ).