Технологии

Ентузіаст розібрав 20-річний сервер IBM, з якого можна виривати оперативну пам’ять “на ходу”

9 ноя•ProstoMob

Іноді натрапляєш на залізо, яке просто ламає уявлення про те, що вважається «старим». IBM x3800 з початку 2000-х — саме такий випадок. На папері в нього вісім ядер, шістнадцять потоків, 32 гігабайти оперативки, гігабітний Ethernet і терабайт швидкого сховища. Якщо б хтось назвав ці характеристики зараз, більшість подумала б про цілком сучасний ПК. Але справа навіть не в цифрах.

Справжнє божевілля починається тоді, коли з увімкненого сервера під навантаженням просто висмикують чверть оперативної пам’яті. І він продовжує працювати. Без зависань, без падіння системи, без «магії кіно». Пам’ять виймають — він крутить задачі далі. Ставлять назад — навіть не кліпне.

Це не трюк і не підготовлений стенд. Система реально розрахована на те, щоб переживати такі «операції» на живому залізі.

Чому це взагалі можливоСекрет у memory mirroring — по суті RAID 1, тільки для оперативної пам’яті. Банки пам’яті працюють парами і тримають ідентичні копії даних. Витягнув один модуль — інший продовжує тримати всю інформацію. Контролер пам’яті в ті часи ще сидів на північному мосту, а не всередині процесора.

Через це система могла собі дозволити трохи вищу затримку в обмін на можливість гарячої заміни.

Сучасні платформи такого вже майже не вміють. Пам’яттю керує сам процесор, латентність стала критичною, і висмикнути планку на ходу — це майже гарантований краш. А тут можна міняти модулі, поки сервер працює, і навіть збільшувати обсяг оперативки (щоправда, раз за цикл увімкнення).

Окремо варто згадати ECC. На кожному модулі є додатковий чип, який ловить випадкові бітові помилки. Плюс світлодіоди, які прямо показують, який саме банк або навіть конкретна планка почала «хворіти». Light Path Diagnostics на передній панелі взагалі виглядає як щось із наукової фантастики початку століття — лампочки повідомляють про проблеми з блоками живлення, вентиляторами, RAID, шинами.

Резервування на всіх рівняхЦей сервер будували не для краси, а для того, щоб він якомога рідше вимикався. Тому майже все в ньому гарячої заміни:

  • вентилятори з адаптивним керуванням — якщо один випадає, інші одразу піднімають оберти;
  • блоки живлення (можна поставити до чотирьох, залежно від конфігурації);
  • PCI-карти;
  • жорсткі диски.
Диски тут окрема історія.

Це SAS-накопичувачі, що крутяться на 15 000 обертів за хвилину. Для порівняння: звичайні «настільні» диски того часу крутилися на 7200. Швидкість обертання давала помітно нижчі затримки доступу до даних у ті часи, коли SSD ще навіть не світилися на горизонті. Єдиний мінус — місткість. Зате можна було просто напхати більше дисків і зібрати RAID 5 з гарячим резервом.

Контролер RAID мав власні батарейки, щоб при раптовому зникненні живлення не втратити дані, які ще лежали в кеші. Класика серверного підходу: краще перестрахуватися, ніж потім відновлювати все з нуля.

Процесори, роз’єми і трохи ностальгіїПід величезними мідними радіаторами ховаються Xeon на сокеті 604. Двоядерні, з FSB 667 МГц і кешем до 16 МБ. Самі по собі вони не вражали частотою навіть на той момент — близько 3,3 ГГц. Але їх можна було ставити по чотири штуки. Вісім ядер у сервері початку 2000-х виглядали дуже серйозно, особливо коли в домашніх системах люди раділи одному-єдиному ядру.

Цікаво, що для повноцінної роботи всіх чотирьох процесорів доводилося додавати окремі VRM-модулі. Материнська плата з заводу підтримувала тільки два.

Такий собі модульний підхід до живлення процесорів.

А ще тут є окрема плата керування з власним PowerPC-процесором. Фактично маленький комп’ютер всередині великого, який слідкує за всім і дозволяє віддалено обслуговувати машину. Роз’єми на задній панелі виглядають напрочуд звично навіть зараз: відеовихід, USB, звичайний Ethernet і окремий management-порт.

Спроба встановити сучасну відеокартуЗвісно, команда не втрималася і спробувала запхнути туди більш-менш сучасну відеокарту через райзер. Слоти — PCIe Gen1 x8, і кожен офіційно розрахований максимум на 25 Вт. Результат виявився передбачуваним: система карту не побачила. Або через обмеження по живленню, або через різницю поколінь. У будь-якому разі експеримент показав, що цей сервер живе у своїй епосі і не особливо прагне подружитися з сучасним геймерським залізом.

Найдивніше не те, що машина вміла таке 20 років тому. Найдивніше, що багато з цих рішень досі працюють у серверних кімнатах. IBM досі тримає в каталозі номери запчастин (FRU) для цієї платформи. Люди продовжують їх ремонтувати і використовувати там, де потрібна максимальна відмовостійкість, а не свіжі терафлопси.

Коли бачиш, як з увімкненого сервера спокійно виймають оперативку, а він навіть не збивається з ритму — починаєш інакше дивитися на сучасні «споживчі» платформи. Ми звикли до того, що все має бути швидким і дешевим. А тоді будували так, щоб воно просто не падало. І іноді це виглядає значно вражаюче, ніж черговий рекорд у бенчмарках.

Цей x3800 — живий доказ того, що інженери початку 2000-х уже добре розуміли, що таке high availability. І зробили машину, яка й через два десятиліття здатна здивувати.

Запис Ентузіаст розібрав 20-річний сервер IBM, з якого можна виривати оперативну пам’ять “на ходу” спершу з'явиться на ProstoMob.

банк

Читайте еще