Хорошая статья, но в подобных решениях часто зацикливаются на отказоустойчивости узлов виртуализации и забывают про отказоустойчивость СХД (или всей SAN). В данном случае мы получаем кластер, работа которого зависит от одиночного сервера с Нексентой и одиночного свитча.
Конечно, если по условиям задачи клиента устраивает соответствующее RTO, то почему бы и нет. Только RTO нужно просчитать заранее:
— время замены свитча (взять новый из запасов на складе, или дожидаться замены по гарантии от поставщика, находящегося в 500 км)
— время восстановления СХД при различных сценариях. Например, переустановить Нексенту + восстановить данные из бэкапа или переключиться на использование резервной СХД на время диагностики/ремонта основной СХД.
M.2 — это только форм-фактор и смысл его существования заключается в компактности. Внутри может быть просто SATA (как в данном случае), SATA Express (ATA команды непосредственно через PCI-E) или NVMe.
Хоть и 3 года статье, но, думаю, пояснение лишним не будет:
Контроллер на фото имеет общего с SAS только разъёмы SFF-8087. На самом деле это плата с ретаймером, которая просто выводит через кабели на бэкплейн 4 канала с PCI-E x4 в каждом. Всё это сейчас стандартизировано в виде форм-фактора U.2 для NVMe накопителей (2.5", разъём SFF-8639, высота 15мм и 25 Вт теплопакет). По сути получилось, что Micron p320h в таком исполнении — первый PCI-E SSD форм-фактора U.2, просто вместо NVMe использующий проприетарные разработки.
Создаю и дополняю статьи о фильмах (артхаус, малоизвестная у нас классика), актёрах и режиссёрах. Основным стимулом является чувство благодарности — люди 30-40-70 лет назад создали произведение искусства, и если могу рассказать о них и об их творчестве, то должен это сделать.
Википедия при ответственном подходе дисциплинирует и помогает упорядочить собственные знания. Это не рецензия на Кинопоиске, никакой отсебятины быть не должно. Ищем авторитетные источники, заодно узнаём, какие источники по творчеству Имярека считаются самыми полными и достоверными, пересказываем, тщательно проставляя сноски, следим за структурой статьи.
1. Смотрим через smartctl информацию о диске и атрибуты. Бывает, что сразу Failed выдаёт по какому-нибудь параметру — в морг.
2. Запускаем через тот же smartctl короткий и длинный self-test'ы. Не проходит — в морг.
3. Гоняем badblocks с записью и/или скрипт с fio (он умеет проверять записанное по хешам). Смотрим, не растут ли ремапы.
4. Для SAS можно выполнить sg_format и повторить тесты.
Чем плох такой алгоритм?
Очень старая, пусть и не рукописная книга, сохранившаяся в единичных экземплярах — это не просто печатное издание, не набор листов бумаги с буквами, а ценный артефакт, произведение искусства.
Зачем вносить в такой объект необратимые изменения? Единственная причина — «так положено по инструкции, у нас тут государственное учреждение».
Представьте себе выгравированный инвентарный номер на античной скульптуре.
Спасибо за наводку на SNR-S2970-12X. Для маленьких бюджетных кластеров самое то. Приходилось Netgear 8/12 портовые использовать, а они только 10GBASE-T бывают.
1) Отсутствием RAID-стека*, диски напрямую презентуются хосту, без всяких оптимизаций, кэширования и прочих прослоек. Дешевле и имеют больший лимит по производительности (в пределах одного поколения), чем RAID-контроллеры.
*Исключение — HBA от LSI/Avago, которые с IR-прошивкой немного умеют RAID, хоть и тормозной, и с ограничениями.
2) HBA-режим — возможность работы в режиме HBA. Не знаю, как ещё объяснить :-D
Разница с другими способами презентации дисков хорошо описана в БЗ Adaptec.
Мне лень пойти сфотографировать, но вот в pdf эта монтажная штука есть на второй странице.
У LSI/Avago этот брекет (BBU-BRACKET-05) побольше — кусок текстолита размером с MD2 плату, с отверстиями под крепление разных поколений BBU и конденсаторов.
Ничего не могу сказать про далёкое будущее, но сейчас никакой острой проблемы, IMHO, нет. Запись на SSD блоками меньше его «блока стирания» приводит лишь к неоптимальному расходу запаса чистых блоков, т.е. потеря производительности. Упомянутые minimum_io_size и optimal_io_size — это на самом деле не какая-то внутренняя особенность Linux, а вполне себе часть стандарта SPC-3 (т.е. для SCSI устройств). В спецификациях NVMe наверняка тоже что-то на этот счёт есть. Определённое приложение или компоненты ОС вполне могут использовать эти данные для оптимизации производительности.
Но зачем же жёстко запрещать, например, писать блоки меньше 1М — серверные SSD и так справится (есть большой кэш, много Over Provisioning, интенсивная сборка мусора), адесктопным сильно поможет TRIM, и никому не придётся переписывать тонны софта.
Обратная совместимость. Остаётся только научить ОС работать с этим знанием, про мегабайтные сектора ни одна ОС не знает. Только-только всё улеглось с 4К-секторами, но 4К — это не только современная ОС + загрузка через EFI, а ещё и куча всяких нюансов с софтом, использующим блочную репликацию. В Linux помимо физических/логических секторов среди т.н. IO hints для блочных устройств есть ещё необязательные optimal_io_size и minimum_io_size. Какие-то СХД и SSD их сообщают, какие-то нет.
P.S. В некоторых SSD, например, в последних Toshiba под SAS3 есть возможность менять размер «физического» сектора при форматировании как раз для ликвидации тех самых проблем с репликацией. В Fusion IO ещё такое видел. Но, конечно, только те же 512 и 4096 вместе с их «толстыми» разновидностями.
Разные SSD прикидываются дисками 512N (512 байт логический/физический сектор), 512E (4096 байт физический сектор, 512 байт логический) и 4KN (4096 байт логический/физический сектор), но разумеется «физический сектор» тут буквально понимать нельзя. Страницы больше, а блоки (стирание возможно с гранулярностью блока) еще больше. Например, для Samsung 840 Pro — 8КиБ страницы и 1МиБ блоки.
Естественно, хост про это не ничего не знает, его задача — передать от одного слоя абстракции (ФС) к другому слою (псевдо-HDD с 512 или 4096 секторами) информацию о секторах с невалидными (в результате удаления файлов) данными. Дальше уже контроллер SSD занимается сборкой мусора — из кусочков с невалидными данными собирает большой блок и стирает его.
Конечно, если по условиям задачи клиента устраивает соответствующее RTO, то почему бы и нет. Только RTO нужно просчитать заранее:
— время замены свитча (взять новый из запасов на складе, или дожидаться замены по гарантии от поставщика, находящегося в 500 км)
— время восстановления СХД при различных сценариях. Например, переустановить Нексенту + восстановить данные из бэкапа или переключиться на использование резервной СХД на время диагностики/ремонта основной СХД.
P.S. HyperX Predator таковым не является.
Контроллер на фото имеет общего с SAS только разъёмы SFF-8087. На самом деле это плата с ретаймером, которая просто выводит через кабели на бэкплейн 4 канала с PCI-E x4 в каждом. Всё это сейчас стандартизировано в виде форм-фактора U.2 для NVMe накопителей (2.5", разъём SFF-8639, высота 15мм и 25 Вт теплопакет). По сути получилось, что Micron p320h в таком исполнении — первый PCI-E SSD форм-фактора U.2, просто вместо NVMe использующий проприетарные разработки.
Википедия при ответственном подходе дисциплинирует и помогает упорядочить собственные знания. Это не рецензия на Кинопоиске, никакой отсебятины быть не должно. Ищем авторитетные источники, заодно узнаём, какие источники по творчеству Имярека считаются самыми полными и достоверными, пересказываем, тщательно проставляя сноски, следим за структурой статьи.
2. Запускаем через тот же smartctl короткий и длинный self-test'ы. Не проходит — в морг.
3. Гоняем badblocks с записью и/или скрипт с fio (он умеет проверять записанное по хешам). Смотрим, не растут ли ремапы.
4. Для SAS можно выполнить sg_format и повторить тесты.
Чем плох такой алгоритм?
*Исключение — HBA от LSI/Avago, которые с IR-прошивкой немного умеют RAID, хоть и тормозной, и с ограничениями.
2) HBA-режим — возможность работы в режиме HBA. Не знаю, как ещё объяснить :-D
Разница с другими способами презентации дисков хорошо описана в БЗ Adaptec.
У LSI/Avago этот брекет (BBU-BRACKET-05) побольше — кусок текстолита размером с MD2 плату, с отверстиями под крепление разных поколений BBU и конденсаторов.
Но зачем же жёстко запрещать, например, писать блоки меньше 1М — серверные SSD и так справится (есть большой кэш, много Over Provisioning, интенсивная сборка мусора), адесктопным сильно поможет TRIM, и никому не придётся переписывать тонны софта.
P.S. В некоторых SSD, например, в последних Toshiba под SAS3 есть возможность менять размер «физического» сектора при форматировании как раз для ликвидации тех самых проблем с репликацией. В Fusion IO ещё такое видел. Но, конечно, только те же 512 и 4096 вместе с их «толстыми» разновидностями.
Естественно, хост про это не ничего не знает, его задача — передать от одного слоя абстракции (ФС) к другому слою (псевдо-HDD с 512 или 4096 секторами) информацию о секторах с невалидными (в результате удаления файлов) данными. Дальше уже контроллер SSD занимается сборкой мусора — из кусочков с невалидными данными собирает большой блок и стирает его.