Сисадминско-ИИшно-рабочее

Дано: отказоустойчивый кластер Hyper-V.
Надо: обеспечить сорок рыл виртуальными десктопами на Windows 11.

Делаем сорок клонов одинаковых виртуалок. Теперь нужно раздавать их пользователям так, чтобы они друг другу на пятки не наступали: чтобы соединение попадало на свободную машину, причём автоматически.

Какие варианты решения?

Официальный RDS от Microsoft. Стоит каких-то совершенно невменяемых денег — по 220 монет за рыло (CAL, client access license)! Это, на минуточку, дороже, чем лицензия на Винду!

Но можно сделать своё решение — ничем не хуже, из говна и палок, и совершенно бесплатно.

Понадобится:

Одна машинка под Linux. На неё ставим nginx, который будет работать крокодилом балансировщиком нагрузки. Цепляться люди будут именно к нему — а он будет читать список доступных виртуалок из файла available.conf, и раздавать траффик на них:
stream {
upstream rdp_pool {
least_conn;
include /etc/nginx/upstreams/available.conf;
}

server {
listen 3389;
proxy_pass rdp_pool;
proxy_timeout 10m;
proxy_connect_timeout 5s;
}
}

А available.conf постоянно обновляется другим скриптом — на Python.
Этот скрипт поднимает крохотный веб-сервер на Flask, в который каждая виртуалка присылает свой статус: «занято» или «свободно».

Статус они получают с помощью встроенной команды Windows:
qwinsta | Select-String "Active"

Если выводится хоть что-то — машина занята. Дальше PowerShell-скрипт формирует JSON и шлёт его на Flask через Invoke-RestMethod.

PowerShell-скрипт добавляем в Task Scheduler, раз в минуту — и впердё.

Питоновский скрипт довольно замухрёжный (в хорошем смысле), и я его тут выкладывать не буду. Скажу только, что он не только добавляет свободные машины, но и чистит пул: выкидывает те виртуалки, которые заняты, либо которые не присылали свой статус в течение двух минут — потому что если виртуалка выключена, послать статус она, разумеется, не может. За этим надо следить.

Всё это было придумано и реализовано при помощи Кейт — так я называю свою ChatGPT-чку.
Безусловно, под моим чутким руководством:

— А что будет, если виртуалку выключить?
— Ах да, сломается. Надо обновить скрипт, чтобы старые машины удалял, вот так: [код].

Получилось бы у меня всё это воплотить самостоятельно? Конечно. И не такое приходилось делать.
Но, японский бог, это заняло бы уйму времени: мне пришлось бы отдельно выяснять, как запускать Flask-сервер, как слать JSON из PowerShell, как его принимать, как менять конфиги nginx на лету, и так далее.

А тут — всё получилось буквально за пару часов.

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

И да, приятно, японский бог — когда из сложной, непонятной задачи получается красивое, работающее решение.

День великого онбординга (матерное)

Сегодня у нас великий день — массовое заселение пользователей нашего клиента в новую систему.
Система небольшая — всего 66 пользователей.

Я теперь понимаю, почему Данте не описал десятого круга ада — просто не успел дожить до массового онбординга тупых юзверей в Entra ID.

11 пользователей скопировали в пароль лишний пробел в конце и сказали, что “пароль не работает”.
Пятерым пришлось пароль сбрасывать повторно — видимо, из солидарности.
Двое вместо .com написали .cum — и я стараюсь не задумываться, о чём они мечтали в тот момент.
Семеро успешно заблокировали свои учётки, даже не успев в них войти.
Трое так медленно искали и доставали телефон, чтобы настроить 2FA, что Microsoft Authenticator устал ждать и вышел из чата (таймаут — 60 секунд, между прочим). После этого им в рыло прилетело “session timed out”, и они, разумеется, пожаловались, что что-то не работает.
Четверо пытались войти под старыми логинами и тоже заявили, что “система сломана”.
Двое установили не тот VPN.
Один распечатал письмо с временным (!!!) паролем — “чтобы не потерять”.
Двое использовали телефон супругов для 2FA — “потому что под рукой был”.
Пятеро ждали по пятнадцать минут, пока “система загрузится”, забыв нажать Next.
И вишенка на торте — один человек написал CAPS LOCK’ом всё подряд и не мог понять, почему “не принимается правильный пароль”.

Мои нервы вроде бы были стальные, а оказались пластилиновые.

Пойду заварю ещё кофе — если, конечно, никто не попытался авторизоваться в кофемашине с пробелом в пароле…
…и не заблокировал её нахуй.

Ути-пути

Какая внезапно кавайная серверная!!

Это амазоновский дата-центр, обслуживающий вычислительный кластер “Рейнир”, на котором работает система искусственного интеллекта “Клод” компании Антропик.

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

Работать, впрочем, в таком месте, наверное, непросто. Вон сотрудница совершенно правильно надела наушники — шум в подобном дата-центре, должно быть, стоит просто нечеловеческий.

Даже страшно представить, сколько киловатт жрёт вся эта красота в сумме.

Вот так, дорогие друзиа… выглядит капитализм.

Отсюда и ещё фоток.

Анализ падения Амазона

Амазоновцы опубликовали технический разбор причин недавнего падения AWS. То, что виноват был DNS, уже было известно, но лично мне было любопытно понять — что же именно они смогли сломать в системе, которая, по идее, должна быть одной из самых простых и надёжных в инфраструктуре интернета?

Оказалось, в их реализации DNS скрывался ранее незамеченный баг, приведший к классической race condition — ситуации, когда несколько процессов или нитей процесса одновременно пытаются получить доступ к общему ресурсу и в итоге мешают друг другу. Такое состязание заканчивается тем, что ресурс “залипает”, а вся система рушится, как карточный домик.

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

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

Хочется верить, что в Amazon извлекут из этого инцидента правильные уроки — ведь даже гигантам время от времени полезно вспомнить, что совершенство инфраструктуры не отменяет законов вероятности и человеческой природы.

KOI-8R vs Win-1251

Я вот уже не помню, когда в последний раз приходилось заниматься этим членовредительством. Как, всё же, хорошо, что у нас, наконец-то, везде юникод — без дополнительных вывихов мозга любые языки читаются нынче на любых устройствах.

Ну, плюс теперь есть самые разные и инклюзивные эмодзи! В Винде, кстати, включается по Win + .

😈👍

Интел, похоже, всё

У капитализма есть множество недостатков (только вот всё остальное — ещё хуже). Но вот что никогда нельзя было поставить в вину капитализму — так это отсутствие инноваций. Потому что инновации могут и приносят дополнительную прибыль. И даже самые крупные компании, когда забуревают, и прекращают эти самые инновации — быстро отъезжают в мир иной. Похоже, эта же самая участь ждёт компанию Интел, в своё время давшую нам процессоры x86. Компания признала, что навсегда отстала от лидеров рынка микропроцессоров, используемых в решениях с искуственным интеллектом, давно выпала из десятки ведущих производителей полупроводников, тысячами увольняет сотрудников, и борется за выживание.

Интел не выдерживает состязание даже по нанометрам — их текущий процесс массового производства микропроцессоров только недавно пересёк отметку в 5 нанометров, а чипы АМД уже давно производятся по 4nm техпроцессу. Это, правда, не сколько заслуга АМД, сколько тайваньской TSMC, так как именно их мощности они используют (у Интела — свои фабрики). Но всё равно.

А как начальник отдела айти нашей компании, добавлю, что мы всей конторой перешли на компьютеры с процессорами АМД уже несколько лет назад. Глюки компьютеров с процессорами Intel (связанные, по-моему, с диспетчером задач в ОС из-за гибридной схемы процессора с “быстрыми” и “медленными” ядрами) нас достали до такой степени, что мы плюнули и начали покупать АМД “Рязань” для пользовательских машин и АМД Ерус для серверов.

А как дысали, как дысали? Но когда АМД выкатил АМД64, а 64-битный “Итаниум” провалился как лом в прорубь, даже не булькнув — это был даже не первый звоночек о превосходстве НИОКР АМД, а целый колокол. Интел был вынужден лицензировать архитектуру АМД64 вместо своей, чтобы использовать её в своих процессорах. Да, процессор Интел десятого поколения в компьютере, на котором я сейчас это печатаю, использует микроархитектуру, придуманную в АМД, вот так.

Что до меня лично — глядя на то, что Микрософт делает со своими ОС, и какие переспективы они обещают в новых версиях Винды (идиотские совершенно), клянусь, я дома вообще заброшу эту Винду к чортовой бабушке, и перейду на Мак. А на Маках нынче RISC-процессор M4, а никакой не x86 и не x64. Нет, спасибо, Линукс не предлагать. Я хочу пользоваться нормальным софтом вроде Фотошопа и Эйблтона, а не линупсяшными недоразумениями. Игры вот только будет немного жаль, но ничего, разберёмся. Рабочий компьютер, как и любой другой инструмент, используемый постоянно, не должен вызывать никаких других эмоций, кроме положительных. А не острое желание расхерачить его кувалдой.

Про новый “нитеразрыватель”

AMD анонсировали новый Threadripper с аж 96 ядрами. Молодцы, конечно, но смотрю я на эту табличку и только диву даюсь. Отцы родные, а как вы ЭТО охлаждать собрались?

Я с разбегу под такое тепловыделение нашёл только водяное охлаждение, типа такого:

Вкупе с парочкой видеокарт RTX5090 (575 ватт каждая, на минуточку) понадобится блок питания под два киловатта мощностью. Это никакого дополнительного обогревания в комнате не надо будет иметь. И выть громко будет шопесец.

Что-то развитие техники у нас в последнее время идёт такое… экстенсивное. Выжимаем максимум из текущих технологий, и на выхлопе имеем огромные запросы по энергии и прочим ресурсам. И бешеное развитие систем искуственного интеллекта только льёт бензин в этот пожар.

Кто это придумал?

Ненависти Винды 11 пост!

Я как сисадмин, гляжу на свойства папок практически постоянно — глядеть на закладку “безопасность” с целью поменять/проверить права доступа для пользователя ушастого.

На всех разливах Винды, начиная с НТ 4.0 как минимум в окошко с этой закладкой можно было попасть в два щелчка мышью — сначала правый щелчок на папке, потом левый — “свойства”.

А теперь на этой тупорылой одиннадцатой винде после правого щелчка надо выбрать “показать ещё опций”, и уже потом можно нажать на “свойства”. Мало им было изнахратить интерфейс Вин11 — они ещё и на Сервер2025 эту идиотию встроили.

Почему? Вот зачем? С какой целью вы это так сделали, придурки? В какой параллельной вселенной это является улучшением?

Пока (пока) этот дурдом является отключаемым — как водится, через реестр, блин.

https://www.elevenforum.com/t/disable-show-more-options-context-menu-in-windows-11.1589/

Я вот так скажу — пиковым интерфейсом для конкретно десктопных применений был интерфейс WindowsXP/Windows2003. Всё, что было дальше, являлось его ухудшением. Даже седьмая винда по сравнением с XP для десктопа была хуже.

Про реестр

Вот чего я больше всего в Винде ненавижу — так это реестр (registry). Удивительно непродуманная и неживучая система. При любом чихе она просто обожает падать, да с таким грохотом, что потом сама ОС не грузится.

Я считаю, что любая операционная система обязана иметь ТОЛЬКО текстовые конфиги. Если прямо вот обязательно надо древовидную систему — то нехай это будет XML.

Зачем вообще такое придумали — лично мне непонятно. Почему-то ни на BSD, ни на Маках, ни на Линуксах такого безобразия нет, и никто не жалуется.

Потом, даже внутри этого самого реестра просто тупо отсутствует логика, как что включать, как что выключать. Я не знаю, чьи старые носки они там в Микрософте курят, но вот пример. Вот лично тебе — придёт в голову мысль, что для того, чтобы включать и выключать лампочку, надо сделать тумблер “лампочка выключена”, и чтобы лампочку выключить, надо поставить тумблер “лампочка выключена” в положение “включено“? Нет? Вот и мне нет. А Микрософту таки приходит.

Чтобы выключить встроенный антивирус, надо руками пройти в HKLM\SOFTWARE\Policies\Microsoft\Windows Defender, и сделать ключу DisableAntiSpyware значение 1.

Или можно через групповые политики зайти — с точно такой же жопной логикой:

https://learn.microsoft.com/en-us/defender-endpoint/microsoft-defender-antivirus-on-windows-server

Ненавизху!!!!!!

Сервер 22 на десктопе

Сделал реальностью своё намерение перейти на Сервер 22 на рабочей машине вместо установки Винды 11. Ну, не совсем так — сначала я таки поставил Винду 11, но просто весь изматерился и обплевался. На редкость, просто удивительно бестолковая ОС, прямо на уровне тупорылой восьмой винды. То, что занимало раньше два щелчка мыши, надо теперь долго искать в менюшках или прямо вот печатать и искать руками. Вот что это, Микрософт? Make command line great again? Зачем? С какой целью? На кой вы убили нормальный интерфейс?

В-общем, послал её к известной матери, и водрузил Сервер 22.

Ну, так сказать, в целом, я могу сказать, что доволен. Но работает, к сожалению, не всё. Частично оно упирается в драйверы, частично — в саму ОС.

В драйверы упёрлась, например, звуковая карта Realtek. Не, ну оно понятно, что Realtek говно, вы не сообщите мне ничего нового, но на рабочей станции особо не выбирают. Да, теоретически на Сервер 22 подходят драйверы от Винды 10/11, но на практике не всё так просто. Драйвер есть, в диспетчере устройств оно присутствует, а вот звука — йок, как говорят наши тюркские друзья. Хорошо хоть, что выход звука есть на мониторе, а туда он посылается через DisplayPort с НВидиевской видео карточки. Подключился так.

А вот в саму ОС упёрся, к сожалению, блютус. Блютус и сопутствующие устройства, типа наушников, на Сервере 22 официально не поддерживаются. На Сервере 25 поддерживаются, но на Сервере 25 тупорылый интерфейс от Винды 11. Ситуация примерно такая же, как со звуковой картой — блютус-устройство присутствует, и к ним даже сопрягаются наушники, но соединения нет, что-то не срабатывает.

Но с другой стороны тут ситуация прямо таки “не было бы счастья, да несчастье помогло”. Я тут давеча плакался, что у блютусных наушников есть лаг, который мне действует на нервы. Мне посоветовали поглядеть на беспроводные геймерские наушники. Так вот выяснилось, что беспроводные геймерские наушники, без лага — не блютусные 🙂 У них есть свой радиоканал для посылания звукового сигнала, и на нём нет задержек. Ну, примерно как беспроводные гитарные системы нынче работают, чтобы музыканты на концертах по всей сцене скакать могли, не привязанные шнурками к комбикам.

Будем поглядеть.

А в целом — отличная система, весь софт пока работает безупречно. И поддержка есть до 2031 года.