Архив рубрики: Железо

Последнее прощание с prostopleer.com

Я пришел на этот сайт в 2013ом, когда еще было непонятно, что будет дальше. https://habr.com/ru/company/prostopleer/blog/186314/

Это был лучший сайт для хранения плейлистов, ничего лишнего, все удобное и рабочее. К сайту прилагалось мобильное приложение. Уже года 4 назад все начало барахлить, это было начало конца. Некоторые треки не грузились, нестабильно работал сайт, техподдержка не ответила на технический вопрос про их API, все было не очень. Меня это тогда не волновало, я перетаскивал директорию с кешом плеера напрямую между смартфонами, поэтому все продолжало работать. Где-то года полтора-два назад окончательно перестал открываться домен pleer.com. Было обидно, пришлось искать новое решение.

Читать далее

BitFlip — миф или реальность?

Всегда считал фигней отмазки про бозон хиггса, неожиданно поменявший бит в памяти и обрушивший программу. Но на внутреннем форуме яндекса промелькнуло огромное расследование на тему подобной проблемы. Несмотря на наше серверное оборудование и память с ECC, эффект BitFlip существует, воспроизводится и иногда влияет на исполнение кода.

Далее — достаточно старая статья с исследованием на тему частоты и эксплуатируемости BitFlip: http://dinaburg.org/bitsquatting.html

Попробуйте выключить и включить

Недавно сидели на работе, вспоминали про выключить и включить. А ведь как-то раз и со мной такая история произошла. Я купил сервер на soyoustart.com, поставил на него какую-то debian-подобную систему.

На системе было запущено много незнакомых процессов, поэтому я решил парочку лишних погасить. Спустя несколько секунд мне пришло первое письмо.

Читать далее

Orange PI. Домашний сервер в действии

Несколько месяцев назад мне приехал Orange PI PC Plus. Прекрасный маленький компьютер с sd-картой вместо жесткого диска, пассивным охлаждением и просто морем разъемов. Только когда я его взял в руки до меня дошло, что у меня есть клавиатура и мышка, но нет монитора. Есть роутер, но я не могу к нему подключиться кабелем — длины не хватит, и снять роутер тоже нельзя — оптоволокно порвется.

плата + блок питания + sd-карта + доставка = ~2200р

Это конец / едем домой за монитором? Нет, это было бы слишком просто!

Читать далее

Сгоревший диск

Впервые у меня сдох диск на сервере. По моим воспоминаниям ему было около 7 лет, так что все основания имелись.

После ряда переездов технология поведения была отточена. Но в нештатной ситуации появились коррективы. Нужно было срочно сбросить актуальные бекапы к себе, потому что последнее что было на руках — трехмесячной давности. Боялся, что мне технари дернут не тот диск из сервера.

Короче, дождался вечера, перекачал к себе на диск по московскому интернету гигов 300-400 образов, и, уже утром, отправил в hetzner заявку с оглядкой на русский мануал. Спустя 10 минут мне ребутнули сервер с уже новым диском и я начал интересный процесс ребилда массива RAID-1.

Ребилд массива подходит к концу

Несмотря на все мои опасения ребилд завершился без особых проблем. Никаких провалов в скорости я не заметил. Исходная скорость была 140МБ/c, которая постепенно упала до 65МБ/c. Я так понимаю это из-за разной скорости чтения/записи в зависимости от расстояния до центра блинов в диске.

Критические уязвимости во всех процессорах

Я как-то сразу не осознал насколько все плохо. Уязвимости Meltdown и Spectre оказались намного серьезнее, чем это могло показаться на первый взгляд.

Проблема сидит где-то между математикой и физикой — побочный эффект от конвейерной обработки данных. У процессора можно запросить данные чужого участка оперативной памяти, конечно же, процессор их не даст, но можно попросить на основе этих данных уже свой участок оперативки. Он тоже не будет предоставлен, но будет помещен в кеш. Нормально это описано в этом комментарии.

Объяснение от меня:
Процессор знает телефон Путина. Мы хотим вычислить его поциферно. Мы выкладываем десять листков бумаги на пол, на каждом из них написана цифра — предполагаемая первая цифра. Мы говорим процессору: если 100 поделить на 0 == 666, то пометь, пожалуйста, первую цифру телефона крестиком. Процессор начинает вычислять 100 / 0, а пока он этим занимается, чтобы не терять времени он делает более быструю операцию — узнает телефон, берет его первую цифру и заносит свой виртуальный карандашик над листком. Права доступа при этом не проверяются — это более долго, это можно сделать и потом.

Деление завершается с ошибкой, и поток, задавший неудобный вопрос будет убит. Но можно успеть создать ребенка, он же не будет ответственен за родителя, верно? Ребенок смотрит на десять одинаковых, непомеченных листков, и начинает командовать процессору метить поочередно все листки крестиком. Только к пометке одного из листков процессор будет готов, остальные будут метиться медленнее — их нет в кеше. Таким образом из побочного эффекта в виде скорости доступа мы можем получить информацию о чужом участке оперативки. К чему это приводит известно на примере Heartbleed.

На физическом уровне вместо операции записи (пометить крестиком) используется операция чтения (просто посмотреть на то что написано на листке). На моей машине воспроизводится. Уязвимо тотально все, что осталось целым пока непонятно. Железного фикса не сделать, как выпускать новые поколения процессоров я пока не понял. Софтовый фикс состоит в том, что после каждого прерывания зачищать кеш. Падение производительности при этом катастрофическое (5-30%).

Пока что не понятно можно ли воспроизвести эту дыру через javascript, но скорее всего можно. Так что уязвимы все устройства, где есть браузеры. Особо уязвимы хостеры виртуалок, потому что изоляции между виртуалками больше не существует.

Исходные статьи дублирую здесь: spectre, meltdown.

Замена матрицы на ThinkPad P50

Тут такое дело, есть очень крутой ноут с очень плохой матрицей…
Согласно обзору от notebookcheck матрица моего ноута имеет цветовой охват sRGB 58%. Если поставить рядом какой-нибудь приличный экран, то будет казаться, что на thinkpad’е цвета заметно тусклее. Я понимаю, что энергосбережение лучше, я понимаю, что матовость вносит свои коррективы… Но это все равно не дело.

Собственно еще при покупке я собирался поменять экран. Потом ноут приехал, и мне возиться стало лень. Но сейчас в дело вмешался случай — оригинальная матрица испортилась. То ли брак, то ли я его так продул сжиженным газом с последующим критическим охлаждением, то ли разбить его я в какой-то момент умудрился. Визуально это выглядит так:

Читать далее

Переезд на новый сервер

Я тут переехал на новый сервер. Очень давно пора было это сделать, жить на сервере с одним диском — идея не очень хорошая. Бывший сервер:
Процессор: Intel Atom N2800
Passmark: ~600
Оперативная память: 2G DDR3 1066MHz (привет meminfo, lshw и dmidecode)
Диск: 500Gb hitachi travelstar 7200rpm
Канал: 100mbit/s + DDoS protection
Провайдер: kimsufi, Франция
Текущий аптайм: 803+ дня
Цена: 5евро в месяц

Новый сервер:
Процессор: Intel Core i7-2600
Passmark: ~8300
Оперативная память: 8x4Gb DDR3 1333MHz (32 гига суммарно)
Диски: 2x3TB Seagate Barracuda 7200rpm (raid1)
Канал: 250mbit/s (40tb/month лимит)
Провайдер: hetzner, Германия
Цена: 34евро в месяц

Процесс переезда оказался ожидаемо болезненным.
Читать далее

Система шестилетней давности

Когда-то очень давно когда я учился в школе, у меня не было ноута. При этом уже тогда мне нравился линукс, который я таскал с собой на внешнем жестком диске. Когда я приходил на кружок по программированию, я доставал специальный mini-cd диск на 200 мегабайт, содержащий загрузчик Grub 0.97. Школьные машины не умели грузиться по USB, но имели cd приводы.

В те времена я еще не очень хорошо был знаком с внутренним устройством линуксов, поэтому мне пришлось перебрать несколько дистрибутивов, чтобы понять какой из них умеет загружаться с внешнего жесткого диска. Я все еще помню свои результаты:

  1. ASPLinux — крутой инсталлятор, проблемы с софтом, очень старая (уже по тем временам) версия дистрибутива
  2. Mandriva — сидел около года, наверное. Но с диска она грузиться не умела
  3. Fedora — норм система, но чем-то не понравилась
  4. ArchLinux — графику не завезли, при нажатии бекспейса на консоли TTY раздавался страшный звук из динамиков, который меня сильно пугал
  5. Gentoo — поставил, только клавиатура не работала. И графики не было. А так в принципе норм, приглашение логина появлялось. Зато без initramfs грузился
  6. OpenSUSE — грузилась с диска, работала, имела пакетный менеджер
  7. Ubuntu — с диска не грузилась, судя по всему из-за автоустановки и настройки проприетарных драйверов на видеокарту.
    Раздражала из-за своей простоты. Тем не менее, в тем времена Cannonical рассылала бесплатно свои диски, и у меня была идея фикс на следующем релизе (10.04) попросить их прислать мне пару дисков.
    К сожалению, именно начиная с этой версии они эту халяву прекратили
  8. Kubuntu — сидел около полугода, норм система
  9. Mint — сидел года два. Любимая система до арча. Отличалась открытием менюшки аналогичной Win по 4-5 секунд. С загрузкой процесса python2 на 100%. Поэтому я не люблю питон

Короче, на диске у меня стояла OpenSUSE. В СУНЦе диск благодаря одалживанию различным нехорошим личностям раздолбался (а это не самая легкая затея раздолбать ADATA SH93), и до недавних пор пылился, потому что я разобрать его не мог. Но сейчас у меня дошли руки, поэтому с помощью ножа, топора, рычагов и грубой силы я раздолбал внешнюю неразбираемую оболочку и, неожиданно, извлек вполне рабочий Western Digital Blue 500GB.

Читать далее

Seagate Backup Plus 8TB — диск или хлам?

Волею судеб нам достался этот диск, который мы используем для BSA-Analytics. На диске хранится полная копия всех коротких данных с телескопа BSA (bsa1-short + bsa2-short). А также все эти данные нарезанные по кускам по звездному времени, в моих терминах «нарезка» (далее без кавычек). Данные, как и нарезка, занимают очень много места, поэтому диск, на котором лежит все и сразу, нам жизненно необходим.

Распределение места для понимания необходимости 8TB диска


Читать далее