Вчера компания Supermicro анонсировала сразу несколько новых продуктов в линейке обычных блейд-серверов и в линейке MicroBlade.
Начнём с долгожданного GPU-blade для шасси 710/720 под процессоры Intel Xeon E5-2600 V3. Как вы помните по новым TwinBlade, в Supermicro из-за нехватки места решили отказаться от сменных контроллеров 10GbE и Infiniband, и теперь они распаяны на плате. С новым GPU-blade из-за тесной компоновки произошла та же история. Есть три модификации:
Читать
Архив метки: Supermicro
Готовим образ ISO с DOS для удаленной прошивки BIOS
Остается лишь поддерживаемый всеми IPMI модулями ISO, изготовлением которого мы и займемся. Для унификации со способом загрузки разных полезных вещей будем использовать тот же загрузчик Syslinux, т.е. его разновидность под названием ISOLinux. Загрузчик выводит меню и при помощи модуля memdisk грузит нужный дисковый образ. Это не самый простой способ в плане первоначальных затрат времени, но в дальнейшем будет легко использовать ту же конфигурацию и образы для загрузки через PXELinux.
Процесс настройки ISOLinux подробно описан в Вики по Syslinux, но пути к некоторым файлам в дистрибутиве Syslinux в последних версиях изменились.
1. Качаем последний дистрибутив Syslinux (6-я ветка, последняя на сегодняшний день): ftp://kernel.org/pub/linux/utils/boot/syslinux/6.xx/syslinux-6.02.tar.bz2
2. Создаем каталоги cd_root/isolinux и cd_root/kernel. В cd_root/isolinux копируем файлы из дистрибутива:
bios/core/isolinux.bin
bios/com32/elflink/ldlinux/ldlinux.c32
bios/com32/menu/menu.c32
bios/com32/menu/vesamenu.c32
bios/com32/chain/chain.c32
bios/com32/lib/libcom32.c32
bios/com32/libutil/libutil.c32
В cd_root/kernel копируем bios/memdisk/memdisk
3. Готовим образ HDD с DOS. Образы копируем в cd_root/images
4. Пример конфигурационного файла cd_root/isolinux/isolinux.cfg:
DEFAULT vesamenu.c32
ALLOWOPTIONS 0
PROMPT 0
TIMEOUT 300
ONTIMEOUT local
MENU TITLE boot menu
MENU BACKGROUND splash.png
MENU COLOR border 30;44 #00000000 #00000000 none
MENU COLOR unsel 37;44 #90ffffff #00000000 std
MENU COLOR sel 7;37;40 #70ffffff #20ff8000 all
MENU COLOR hotsel 1;7;37;40 #e0ffffff #20ff8000 all
MENU BEGIN tests
MENU TITLE Tests
LABEL MAINMENU
MENU LABEL ^back
MENU EXIT
LABEL memtestplus5
MENU LABEL Memtest86+ 5.01
kernel /kernel/memdisk
initrd /images/memtest86.iso.gz
append iso
MENU END
MENU BEGIN smc_bios
MENU TITLE Supermicro BIOS Updates
LABEL MAINMENU
MENU LABEL ^back
MENU EXIT
MENU BEGIN X10S
MENU TITLE X10S
LABEL MAINMENU
MENU LABEL ^back
MENU EXIT
LABEL X10SLD
MENU LABEL X10SLD v 2.0
kernel /kernel/memdisk
append initrd=/images/smc/x10s/x10sld.gz
MENU END
5. Создаем ISO:
mkisofs -o output.iso
-b isolinux/isolinux.bin -c isolinux/boot.cat
-no-emul-boot -boot-load-size 4 -boot-info-table
cd_root
6. Проверяем. Видим меню, грузим нужный пункт, получаем DOS:
Автор: Dmitry Nosachev
Подготовка образов HDD с DOS для IPMI
Как удаленно прошить BIOS системной платы или контроллер через IPMI?
В большинстве случаев для этого нужен DOS, но некоторые контроллеры нужно шить в EFI shell. При наличии физического доступа к серверу всегда есть дежурная флешка с DOS. Для удаленного способа нам придется подготовить образ загрузочного HDD с DOS, это проще и удобнее, чем готовить ISO-образ. IPMI в современных платах Supermicro может использовать в качестве Virtual Media образы HDD.
Тривиальная задача, но начинающих администраторов может поставить в тупик. Для начала нам понадобится дистрибутив MSDOS (некоторые платы не шьются под FreeDOS) и любой гипервизор. В данном случае будем использовать VirtualBox, но подойдет, естественно, любой, где запускается DOS и с которым вам удобно работать. Версию MSDOS лучше всего взять с поддержкой длинных имен, например 7.1.
Создаем ВМ с диском, достаточным для размещения образа BIOS. Размер образа для современных плат Supermicro X9 — 16МиБ, можно создать диск с небольшим запасом — 20МиБ. Добавляем установочный ISO c DOS.
Уверен, что с такой увлекательной и сложной задачей, как установка DOS вы можете справиться самостоятельно. Финальная задача — получить удобный способ работы с образом: добавлять/убирать из него файлы с прошивками. IMHO, это удобно делать в Linux. Для начала нужно конвертировать образ диска из формата VDI в простой «сырой» образ:
VBoxManage clonehd -format RAW dos.vdi dos.raw
Далее возникает небольшая проблема. Сразу смонтировать образ не получится, так как монтировать нужно не диск целиком, а раздел на нем. Для этого нужно узнать его смещение. Сделать это можно при помощи parted. Командой unit задаем единицу измерения (в байтах) и командой print выводим информацию о разделах.
[root@stand ~]# parted dos.img GNU Parted 2.1 Using /root/dos.img Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) unit B (parted) print Model: (file) Disk /root/dos.img: 20971520B Sector size (logical/physical): 512B/512B Partition Table: msdos
Number Start End Size Type File system Flags
1 32256B 20643839B 20611584B primary fat16 boot
(parted)
Нужное смещение — 32256 байт. Можно монтировать:
mkdir /mnt/disk1 mount -o loop,offset=32256 -t vfat dos.img /mnt/disk1
Копируем прошивки и еще какие-нибудь полезности (например, VC или NC, прописываем автозапуск в autoexec.bat), размонтируем образ, и можно грузиться:
При большом количестве администрируемых серверов можно грузить образы при помощи PXELinux, благо он поддерживает загрузку сжатых через gzip образов.
Автор: Dmitry Nosachev
NVMe
NVMe (NVM Express) — спецификация нового интерфейса, предназначенного для подключения SSD непосредственно к PCI Express. Форм-фактор NGFF и другие аспекты использования NVMe в настольных системах рассматриваться не будут, нам интересно исключительно серверное применение.
Что такое NVMe?
NVMe — новый масштабируемый интерфейс, предназначенный для замены SATA и SAS для работы с SSD: другой набор команд, физические интерфейсы с обратной совместимостью, оптимизация работы с очередями.
В списке разработчиков находятся крупные компании: Intel, Micron, LSI, Marvell, Cisco, EMC, Dell, Oracle, NetApp, sTec, Samsung, SanDisk, PMC Sierra.
Зачем нужен NVMe?
Зачем нужен отказ от стабильного и развивающегося SAS? Появился 12-гигабитный SAS3, есть соответствующие SSD, контроллеры, экспандеры, кабели. Неужели этого мало?
Стоит вспомнить основное предназначение энергонезависимых носителей в транзакционных задачах: максимально быстро переместить большое количество блоков с данными в оперативную память и обратно. То есть идет постоянная борьба за рост IOPS и минимизацию задержек. Ради этого происходит регулярное сокращение лишних звеньев: контроллер памяти переместился на один кристалл с процессором, следом переместился контроллер шины PCI-E.
PCI-E и SSD
Дело осталось за малым — передвинуть ближе к процессору данные из постоянной памяти, т.е. из SSD (с медленными традиционными HDD снижение накладных расходов интерфейса не имеет смысла). Действительно, зачем подключать к NAND сложный контроллер, который будет заниматься обслуживанием многослойного стека SAS и прочими вещами, такими как эмуляция 512-байтных секторов, а затем передавать его не менее сложному контроллеру на хосте?
Подобная оптимизация уже существует. Это многочисленные на сегодняшний день PCI-E SSD.
Множество форм-факторов, типов NAND (MLC, eMLC, SLC), архитектурных особенностей. В самых примитивных вариантах даже преимуществ никаких: обычный контроллер, к которому по SATA подключены несколько SSD, просто распаяно все на одной плате. Более совершенные PCI-E SSD используют специализированные контроллеры с быстрыми интерфейсами доступа к NAND. Ограничения форм-фактора 2.5″ отсутствуют и можно разместить более производительный контроллер и даже оптимизировать работу с NAND со стороны хоста (например, ioMemory в Fusion-io). Результатом является минимальная задержка всего в несколько десятков микросекунд, что недостижимо для связки SAS HBA + SAS/SATA SSD.
PCI-E SSD неудобны своим форм-фактором: замена такой платы требует остановки сервера и вскрытия корпуса, платы требуют крайне аккуратного обращения по сравнению с защищенными металлическим кожухом 2.5″ SSD.
Разъем
Удобным было бы гибридное решение: SSD в привычном форм-факторе 2.5″ и возможностью горячей замены, но с новым интерфейсом (и желательно, обратной совместимостью).
Подобный форм-фактор был разработан — SFF-8639.
К привычным двум линкам SAS добавлены четыре линка PCI-E, т.е. бэкплейн с разъемами SFF-8639 остаются обратно совместимыми и допускают подключение обычных SAS и SATA дисков.
Преимущества
- Пропускная способность. Для PCI-E 3.0 получается порядка 1ГиБ на линию.
- Снижение задержек. Полученный на сегодняшний день показатель — 3 микросекунды.
- Оптимизация под архитектурные особенности SSD. Доступ к NAND выгодно осуществлять параллельно, с большим количеством потоков. NVMe поддерживает до 64k потоков с глубиной очереди до 64k в каждом.
- Оптимизация работы с прерываниями. Работать с NVMe устройством можно через большее количество процессорных ядер.
- Упрощенный набор команд. Из-за отсутствия необходимости обеспечи
вать совместимость со SCSI удалось сократить набор команд до 13-ти, без учета сервисных команд и управления резервированием. - Унификация драйверов. Вместо большого количества несовместимых между собой устройств, требующих собственных драйверов, а иногда и дополнительного ПО, мы получаем взаимозаменяемость и отсутствие возможных конфликтов между устройствами разных производителей.
Когда?
Драйверы под Windows, Linux, FreeBSD, Solaris, ESXi, UEFI уже давно существуют и совершенствуются.
Представить, как все это будет выглядеть в железном воплощении можно уже сейчас, но формально это еще не NVMe: сервер Dell R820 и SSD Micron P320h 2.5″ (обзор от StorageReview):
Существует прототип от IDT в FHHL, low-profile и 2.5″ форм-факторах:
Прототип 2.5″ SSD NVMe — Samsung XS1715:
Обещают емкости в 400, 800 и 1600ГБ и до 740000 IOPS. Нет оснований полагать, что у остальных ведущих игроков на рынке нет аналогичных прототипов.
Одна из новых плат Supermicro для платформы Intel Grantley (это 2-процессорные системы под процессоры Haswell-EP, они же Xeon E5-2600 v3) будет иметь поддержку 2.5″ NVMe:
Автор: Dmitry Nosachev