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

Дано: отка­зо­устой­чи­вый кла­стер 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 под­хо­дят драй­ве­ры от Вин­ды 1011, но на прак­ти­ке не всё так про­сто. Драй­вер есть, в дис­пет­че­ре устройств оно при­сут­ству­ет, а вот зву­ка — йок, как гово­рят наши тюрк­ские дру­зья. Хоро­шо хоть, что выход зву­ка есть на мони­то­ре, а туда он посы­ла­ет­ся через DisplayPort с НВи­ди­ев­ской видео кар­точ­ки. Под­клю­чил­ся так.

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

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

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

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