Сообщество - Лига Сисадминов

Лига Сисадминов

2 407 постов 18 923 подписчика

Популярные теги в сообществе:

17

Вспоминаем Powershell в нескольких частях. Часть 2. Windows update

Для ЛЛ: серия пометок по костылям

Конечная цель серии постов: написать свой очень маленький и очень кривой WSUS, поскольку развития WSUS больше не предвидится, но я про это писал
Часть 1. База из баз. Теория
Часть 1.1 Зачем ставить обновления на Linux и Windows и куда угодно, если в отделе работают проверенные электроником сотрудники, и все работает?
Часть 1.2 Чем плох WSUS, SCOM, прочее ПО, и факты в Ansible?
Часть 1.3 Почему Powershell, а не Python?
Часть 1.4 Прочие базовые вещи
Часть 1.5 Классы и объекты, для тех, кто пропускал школу
Часть 1.6 К теме обновлений в Windows
Часть 1.7 Как это все хранить и обрабатывать?
Часть 1.8 Давайте начинать. Мой первый класс
Часть 1.9 Немного магии, не очевидной с первого раза
Часть 1.10 Мой первый массив
Часть 1.11 Суй массив в файл. И забирай из файла
Часть 1.12 Теперь все вместе

Часть 2. Windows update
Часть 2.1 Служба обновлений и ее журнал

Часть 2. Windows update
Часть 2.1 Служба обновлений и ее журнал
Часть 2.2 Настраиваем удаленный доступ
Часть 2.3 Ловим исключения
Часть 2.4 Проблема слишком больших прав
Часть 2.5 Разрешение удаленного подключения
Часть 2.6 Параллельная обработка задач, -parallel,  powershell jobs, Runspaces
Часть 2.7 И, наконец, получим первый список
Часть 2.8 Итого

Почему код написан вручную, а не через любой из ИИ?
Я пробовал и продолжаю пробовать. ИИ хорошо пишет маленькие задачи, и крайне полезен для сценариев «напиши вот так» - чтобы понять, как это работает. Но ИИ пишет странный код в некоторых сценариях, и написать промт для правки занимает столько же по времени, как написать правку самому.
Копилот вообще очень хорош, но не для всех сценариев.

Форматирование кода
Код не отформатирован отступами, пробелами, и так далее, для экономии места. Так делать, конечно, не надо.

Часть 2.1 Служба обновлений и ее журнал

Для второй части разберемся, что такое в первом приближении служба обновления, и что с ней как.

Для этого мне понадобится виртуальная машина, в моем случае с Windows Server 2025 Evaluation. Поскольку это Evaluation, и я не использую сабж в коммерческих целях, то мне не надо объяснять, что в данном случае это Fair use, насколько это возможно. Хотя для учебных целей мне бы и следовало купить и учебную лицензию (взять в институте), и Licence Windows Server CAL - Student only к нему.
Хотя мог бы сказать, как импортозаместители – что-то NVidia Microsoft дорого, давайте дешевле.

За работу обновления отвечает сервис wuauserv, он же Windows Update.
Он хранит свои логи много где, в том числе:
Events – Windows – Application - 
Microsoft-Windows-WindowsUpdateClient/Operational

И в текстовом файле - %systemroot%\Logs\CBS, остальное убрали в ETL (Windows Update log files)
Но про это позже, в части три.

Для просмотра обновлений есть ущербный, но мне сойдет, командлет
Get-HotFix

Осталось все ничего.
В составе Windows есть сервис WinRM , живет на портах TCP/5985 = HTTP и  TCP/5986 = HTTPS

Проверим локально:
netstat -an | findstr "5985"

Или по новой школе

Get-NetTCPConnection | where {$_.LocalPort -eq 5985}

Но вы можете посмотреть и параметры
get-Item WSMan:\localhost\Service\EnableCompatibilityHttpListener
get-Item WSMan:\localhost\Service\EnableCompatibilityHttpsListener

По умолчанию – false.
WinRM имеет свои настройки безопасности, подключений, итд. Если у вас что-то не работает, в 99% случаев эти настройки меняли сервисы имитационной безопасности, и сделали что-то плохое. Поэтому нужно знать, что они сделали, и как это чинить. Сами они это починить не могут. Сервисы имитационной безопасности, вообще все, ничего другого не умеют.

Часть 2.2 Настраиваем удаленный доступ

К делу. Заведем новый файл, в нем заведем переменную «где храним скрипты» и переменную версии, просто так чтобы была (не просто так)

$PfadZurSpeicherdatenbank = $PSScriptRoot
$Skriptversion = "10"
$MeineErsteLogin = $PfadZurSpeicherdatenbank + "\" + "dieparole.txt" #*

* Разрешается заменить dieparole на derparol. Если вы эльф

Проверим наличие файла с логином и паролем, и, если его нет, то предложим сохранить. Хранение файла с паролем не очень безопасно, и даже совсем не безопасно, но можно каждый раз вручную вводить.
Если файла нет, то создадим, и посмотрим что там внутри

$PfadZurSpeicherdatenbank = $PSScriptRoot
$Skriptversion = "10"
$MeineErsteLogin = $PfadZurSpeicherdatenbank + "\" + "dieparole.txt"
$DasPasswordFileExist  = Test-Path -Path $MeineErsteLogin
if ($DasPasswordFileExist -eq $false) {$DieParole = Get-Credential
Export-Clixml -Path $MeineErsteLogin -InputObject $DieParole}
notepad $MeineErsteLogin

Как легко заметить, имя пользователя хранится в открытом виде, пароль лежит в зашифрованном виде, но, еще раз, это не безопасно.

Заведем список серверов. В моем случае список сделан вручную, но вы легко можете сформировать список из AD (через Get-ADComputer  с фильтрами и без), или из любых других источников.
$MeineServerliste = @("192.168.10.155","192.168.10.156")

Для проверки доступности WinRM есть два командлета, или можно свой метод написать, если хочется. Командлеты: Test-NetConnection и Test-WSMan. Это не заменяющие, а дополняющие друг друга методы. Test-NetConnection ответит на вопрос «открыт ли TCP port и есть ли хотя бы пинг». Пинга может не быть, это нормально. Test-WSMan ответит на вопрос «ответил ли там кто-то»

Часть 2.3 Ловим исключения и ошибки

В powershell и любом коде иногда бывает событие «не смогла». Его надо обработать. Вариантов обработки много, это и классический  Try-Catch-Finally,  и варианты -ErrorAction and -ErrorVariable. Можно обрабатывать переменную $Error.
В чем проблема. Кроме часто встречаемого Silentlycontinue, нужно еще и ошибку как-то обработать.
Попробуем три варианта, с ошибками и без.

Remove-Variable Labubu1 -ErrorAction SilentlyContinue; Remove-Variable Labubu2 -ErrorAction SilentlyContinue
$GutenTag01 = Test-Netconnection -ComputerName $MeineServerliste[0] -Port 5985
$GutenTag02 = Test-WSMan -ComputerName $MeineServerliste[0]
$GutenTag03 = Test-WSMan -ComputerName $MeineServerliste[0] -Authentication Default  -Credential $DieParole
$GutenTag04 = Test-WSMan -ComputerName $MeineServerliste[0] -Authentication Default  -Credential $DieParole -ErrorVariable $Labubu1 -OutVariable $Labubu2

В моем случае сервер  $MeineServerliste[0] точно включен и доступен, но.
$GutenTag01 выдаст объект «проверено, доступно».
$GutenTag02 отдаст три какие-то строки.
$GutenTag03 и $GutenTag04 не отдадут ничего, хотя в выводе я получу ошибку

The WinRM client cannot  process the request. If the authentication scheme is different from Kerberos, or if the client computer is not joined to a domain, then HTTPS transport must be used or  the destination machine must be added to the TrustedHosts configuration setting. Use winrm.cmd to configure TrustedHosts.

Тот же текст, что падает в переменную $Labubu1. Можно обрабатывать и так.

Часть 2.4 Проблема слишком больших прав
На этапе выдачи прав, особенно в сложной среде, возникают проблемы. Наибольшая проблема – менеджмент и отдел имитационной безопасности, прочитавшие пособие по информационной безопасности. Выглядит это так, как будто вахтер баба Маша, женщина как вахтер уважаемая, пришла в оружейную комнату за пулеметом. Потому что почему бы и нет. В итоге пулемет будет валяться в углу, приходи кто хочет, бери что хочет.
Будьте крайне осторожны с делегированием и разрешениями на данном этапе.

Часть 2.5 Разрешение удаленного подключения
Вернемся к делу. Выполню на удаленном сервере Enable-PSRemoting и посмотрю, что изменится. А потом сделаю
Set-Item WSMan:\localhost\Client\TrustedHosts -Value 192.168.10.100
где 192.168.10.100 – IP моего ПК. Делать так в продуктивной среде, конечно, ни надо ни в коем случае.

Firewall тоже не забудьте настроить.

Часть 2.5 Выбор методики первичного сбора информации
Есть несколько вариантов первичного сбора информации.  Часть серверов может быть выключена. Часть не быть доступна с каким-то из логинов-паролей, или там не включен WinRM сервис. Или сервис включен, но не доступен, потому что так настроен Firewall.
Перед тем, как обрабатывать «весь список компьютеров», возможно, имеет смысл проверить «все ли включены и доступны», сократив список для обработки. Те, что не доступны, постепенно обработать вручную, или ввести для них дополнительные проверки.

Часть 2.6 Параллельная обработка задач, -parallel,  powershell jobs, Runspaces
Если у вас 1..10.. 100 серверов, то их можно обработать и последовательно. Пусть на каждый уйдет даже 5 минут, всего 500 минут, поставил на ночь сбор первичной статистики, утром собрал. Если же вам надо быстро, и, конечно, асинхронно, потому что таймаут на некоторые тесты по умолчанию полчаса, то у вас не так много выбора между powershell jobs и runspaces

Поскольку тема достаточно сложная, то она будет вынесена в часть 4, или в часть 5.

Часть 2.7 И, наконец, получим первый список

$DataRemote1 = Get-HotFix -ComputerName $MeineServerliste[0] -Credential $DieParole

В нем есть, все что нам надо для первичной обработки, в том числе список установленных обновлений в поле
$DataRemote1[0].HotFixID

Остается дописать три строки:

$Fehlermeldung01 =  "Achtung, da ist etwas schiefgelaufen"
if (Test-Path $MeineErsteSicherungsdatei){$NewKeinArray = Import-Clixml -Path $MeineErsteSicherungsdatei}
else {Write-Host $Fehlermeldung01}

Часть 2.8 Итого

$PfadZurSpeicherdatenbank = $PSScriptRoot
$Skriptversion = "10"/
$MeineErsteLogin = $PfadZurSpeicherdatenbank + "\" + "dieparole.txt"
$DasPasswordFileExist  = Test-Path -Path $MeineErsteLogin

if ($DasPasswordFileExist -eq $false) {
$DieParole = Get-Credential
Export-Clixml -Path $MeineErsteLogin -InputObject $DieParole}

else {$DieParole = Import-Clixml $MeineErsteLogin}
#notepad $MeineErsteLogin

$MeineServerliste = @("192.168.2.150","192.168.2.151")

Remove-Variable Labubu1 -ErrorAction SilentlyContinue; Remove-Variable Labubu2 -ErrorAction SilentlyContinue
$GutenTag01 = Test-Netconnection -ComputerName $MeineServerliste[0] -Port 5985
$GutenTag02 = Test-WSMan -ComputerName $MeineServerliste[0]
$GutenTag03 = Test-WSMan -ComputerName $MeineServerliste[0] -Authentication Default  -Credential $DieParole -ErrorAction SilentlyContinue
$GutenTag04 = Test-WSMan -ComputerName $MeineServerliste[0] -Authentication Default  -Credential $DieParole -ErrorVariable $Labubu1 -OutVariable $Labubu2 -ErrorAction SilentlyContinue

$DataRemote1 = Get-HotFix -ComputerName $MeineServerliste[0] -Credential $DieParole
$DataRemote1[0].HotFixID
$Fehlermeldung01 =  "Achtung, da ist etwas schiefgelaufen"

if (Test-Path $MeineErsteSicherungsdatei){$NewKeinArray = Import-Clixml -Path $MeineErsteSicherungsdatei}
else {Write-Host $Fehlermeldung01}

Литература
Windows Update log files
Инвентаризация ИТ-активов штатными средствами Windows с минимальными правами доступа
Test-NetConnection
Test-WSMan
Powershell: How to encrypt and store credentials securely for use with automation scripts.
Save Credentials to File in PowerShell
Devblog -ErrorAction and -ErrorVariable
Everything you wanted to know about exceptions
Учебный блок (бесплатный от MS) Troubleshoot scripts and handle errors in Windows PowerShell
Mastering Error Handling in PowerShell with Try-Catch-Finally
Devblog PowerTip: Use PowerShell to View Trusted Hosts
Настройка удаленного взаимодействия в PowerShell (часть 1)
Настройка удаленного взаимодействия в PowerShell (часть 2)
UpdateService
JEA Session Configurations
Service Accounts Step-by-Step Guide - Managed service accounts and virtual accounts
Virtual Accounts well-known SID

Показать полностью 1
32

Вспоминаем Powershell в нескольких частях. Часть 1. База из баз

Для ЛЛ: серия пометок по костылям

Конечная цель серии постов: написать свой очень маленький и очень кривой WSUS, поскольку развития WSUS больше не предвидится, но я про это писал:
Чего лишаемся в 2025 году внутри Microsoft

Часть 1. База из баз. Теория
Часть 1.1 Зачем ставить обновления на Linux и Windows и куда угодно, если в отделе работают проверенные электроником сотрудники, и все работает?
Часть 1.2 Чем плох WSUS, SCOM, прочее ПО, и факты в Ansible?
Часть 1.3 Почему Powershell, а не Python?
Часть 1.4 Прочие базовые вещи
Часть 1.5 Классы и объекты, для тех, кто пропускал школу
Часть 1.6 К теме обновлений в Windows
Часть 1.7 Как это все хранить и обрабатывать?
Часть 1.8 Давайте начинать. Мой первый класс
Часть 1.9 Немного магии, не очевидной с первого раза
Часть 1.10 Мой первый массив
Часть 1.11 Суй массив в файл. И забирай из файла
Часть 1.12 Теперь все вместе

Часть 1. База из баз. Теория
Часть 1.1 Зачем ставить обновления на Linux и Windows и куда угодно, если в отделе работают проверенные электроником сотрудники, и все работает?

Когда-то, на заре времен, выхода «второго сервис пака» просто ждали.
Windows XP вышел 25 октября 2001 и был сырым, совсем сырым.
Windows XP SP 2 вышел 6 августа 2004 года, и сделал XP популярным и рабочим на следующие лет 10. Это не считая Embedded версий, которые работали и работают и работают.
Поэтому 20 лет назад установка обновлений шла не от того, что «все работает», а от ожидания «сейчас вот это исправят, потом вон то».
Поэтому исторически тем, кто с системами давно плотно работает, вопрос «зачем» не понятен, очевидно же.

Классика последние 200 лет – не пейте из козьего копытца, не пейте из бутылочки с надписью яд -

for she had read several nice little stories about children who got burnt, and eaten up by wild beasts, and other unpleasant things, all because they would not remember the simple rules their friends had taught them: such as, that a red-hot poker will burn you if you hold it too long; and that, if you cut your finger very deeply with a knife, it usually bleeds; and she had never forgotten that, if you drink much from a bottle marked "poison," it is almost certain to disagree with you, sooner or later.”

Между тем, была и есть и другая тенденция в ИТ среде – не делать, что говорит производитель, а ждать, пока сломается, и потом делать вид, что работаешь.
Ничего не трогать, как писал другой автор –

Не выходи из комнаты, не совершай ошибку.
Зачем тебе Солнце, если ты куришь Шипку?
За дверью бессмысленно всё, особенно — возглас счастья.
Только в уборную — и сразу же возвращайся.


Эта же ситуация, с бедой с башкой, есть не только в ИТ.
Производитель говорит «меняйте масло каждые 10.000» - давайте ездить 15.000, я лучше знаю.
Производитель говорит «ставьте зимнюю резину до снега» - нет, каждый год на лысой летней резине кто-то застрянет на эстакадах и в кого то въедет.
Производитель говорит «меняйте ремень вариатора каждые 10.000» - нет, будут ездить до того момента, пока ремень не порвется.
Висят знаки «100» - давайте ездить 120.
Сказано «детям нельзя по дорогам общего пользования на спорт инвентаре» - ачотакова.
Беда с башкой  «а чо такова» и «такого со мной не произойдет» - явление постоянное и международное. Например, на днях признали, что на пике Победы теперь есть плюс один памятник. На Маттерхорне такого тоже хватает.

Беда с башкой 

Беда с башкой 

Что же касается проверенных электроником сотрудников, то это работает исключительно в том случае, если у организации:
1 Организован закрытый контур управления системами, где физически, air gap, отключен интернет,
2 Фирма настолько маленькая, что через air gap никто не захочет перепрыгнуть. Потому что есть вирусы, сложным путем обходящие такие защиты. Например, Stuxnet.
3 Не смотря на это, в системе установлены обновления для средств контейнеризации и виртуализации, и сами средства корректно настроены. Потому что для Linux было несколько средств выхода в операционную систему хоста из виртуальной машины - Red Hat: CVE-2024-32462: flatpak: sandbox escape, Linux kernel vulnerability-CVE-2025–38236, CVE-2025-4609: Critical Sandbox Escape и так далее. К этому добавляется GhostHook и прочие неприятности.

Часть 1.2 Чем плох WSUS, SCOM, прочее ПО, и факты в Ansible?

WSUS ничем не плох, но в нем очень, для меня, неудобная отчетность. Отчетность показывает, что проблемы есть, но не показывает в удобном для меня разрезе, что установлено и почему, в том числе по остальным компонентам.

Со SCOM и прочим ПО для инвентаризации всплыла у коллег интересная проблема. Некоторое ПО (их внутренняя разработка) не вносит изменения в реестр Windows, поэтому не понятно, что обновилось, что нет. Остается смотреть версию файла, но WSUS не умеет отслеживать такие изменения, а на SCOM у них денег нет. Поскольку дело было в Windows, то пришлось идти другим путем.
Факты в Ansible всем хороши, кроме того что этот факт надо интерпретировать, и иметь какую-то базу для сверки и хранения эталонов.


Часть 1.3 Почему PowerShell, а не Python?

Особой разницы нет, но механизм другой. Я могу сделать задачу, которая выполнится на удаленном сервере, но даже для двух серверов это будет 1) удаленная 2) асинхронная задача. Это не самый удобный вариант, обрабатывать асинхронные данные на коленке, без разворачивания базы данных. Можно и на Python, просто чуть больше возни с компиляцией, подписыванием кода, и асинхронным получением данных в базу, и обработкой из базы. Все это сделать можно без проблем, но для начинающих проще, под Windows, сделать задачу на Powershell, без дополнительных компонентов.
То есть мне не надо для Powershell ставить VScode, Python, auto-py-to-exe, и убеждать параноящий антивирус «внести вот это в исключения». И сильно меньше рисков, что exe что-то сломает. И в отладке чуть проще.

Под Linux я бы вообще на RUST писал, не на Python.

Часть 1.4 Прочие базовые вещи

Я буду считать, что вы:
Прочитали хотя бы:
Школьный курс информатики – где рассказывают про типы данных и циклы
А.В.Попов. Введение в Windows PowerShell
А.В.Попов. Современный PowerShell. 2-е издание. - СПб.: БХВ-Петербург, 2025.
и парочку статей по теме – что такое командлеты, ввод-вывод и так далее.
Точно так же я буду считать, что вы как минимум запустили Powershell ISE.
Powershell ISE к сожалению не умеет работать с Git напрямую, как VScode с модулями, но можно поставить и сам Git, или можно жить (но грустно) без него, или жить по старинке с SVN.

Часть 1.5 Классы и объекты, для тех, кто пропускал школу

Даже 30 лет назад, даже Borland Turbo Pascal не говоря про Object Pascal, поддерживал не только Units, то есть внешние библиотеки, но и объекты, классы, и вот это все. С 1989, версии 5.5.
Все это было, в том числе в VBS, есть и в PowerShell

Нет никаких проблем (кроме того, что будет много букв) вызывать из PowerShell и методы Windows API, то есть графический интерфейс, и методы из Dotnet, и работать с внешними библиотеками, и обрабатывать ошибки и исключения.
Есть одно, лично мое исключение. Если вы работаете с web, и вам надо что-то обработать в Chrome или Firefox, то берите сразу Selenium. Он простой, куда проще, чем возиться с Powershell и Edge.

Часть 1.6 К теме обновлений в Windows

Что такое обновление с точки зрения статистики и "мне только посмотреть? "
Например, 2025-08 Cumulative Update for Microsoft server operating system version 24H2 for x64-based Systems (KB5063878) (26100.4946) ?
Это объект, у которого есть свойства:
Для какого продукта он предназначен: Microsoft Server Operating System
Для какой версии продукта он предназначен: 24H2 (это Windows server 2025)
Критичность: Microsoft Security Response Center (MSRC) severity: Critical
Номер: KB article numbers: 5063878
Дата выхода: 8/12/2025 (формат даты США, месяц/день/год, то есть 12 августа 2025. Это у них легаси такое, с времен церковно-учетных книг)
Язык: в данном случае не важен.
Почему продукт и версия разнесены? Потому что, и в дальнейшем это будет критично, у Microsoft с обновлениями dotnet случилась беда с версионностью. В итоге и для определения версии есть отдельная процедура, и обновления бывают для отдельных компонентов.
Нормально это унифицировали только где-то к выходу Windows Server 2022

Часть 1.7 Как это все хранить и обрабатывать?
Можно в виде битовой строки, где символы с 0 по 20 это продукт, с 20 по 40 это версия, итд.
Можно какими-то еще путями, для ускорения или компактности.
Можно сразу рисовать схему базы данных.
Или можно сделать класс с разными типами данных внутри класса, и создавать на основе этого класса – объекты, и массивы объектов, и много чего еще.

Плюсы? Легко расширять, легко просматривать. Легко хранить в виде xml
Низкий порог вхождения, если говорить простыми словами.

Часть 1.8 Давайте начинать. Мой первый класс

Пуск – выполнить - powershell ise, и вот он – стандартный интерфейс, недалеко ушедший от блокнота
Делаем File – save as - Meine erste Klasse, делаем пример, выполняем –

class Device {
[string]$Brand
}
$dev = [Device]::new()
$dev.Brand = "Fabrikam, Inc."
$dev

И оно работает!

Делаем пример, какой нам нужен

Class MeineErsteKlasse{
[string]$OS
[string]$Release
[string]$KB
[string]$KBDate}

<#Для какого продукта он предназначен: Microsoft Server Operating System
Для какой версии продукта он предназначен: 24H2 (это Windows server 2025)
Номер: KB article numbers: 5063878
Дата выхода: 8/12/2025 #>

$MeinErstklassigesBeispiel =[MeineErsteKlasse]::new()
$MeinErstklassigesBeispiel.OS = "Server"
$MeinErstklassigesBeispiel.Release = "24H2"
$MeinErstklassigesBeispiel.KB = "KB5063878"
$MeinErstklassigesBeispiel.KBDate = "12.08.2025"

$MeinErstklassigesBeispiel | Format-Table -AutoSize

Запускаем – работает.

Часть 1.9 Немного магии, не очевидной с первого раза

Когда мы не работает со скриптом интерактивно, когда он будет исполняться неизвестно где и неизвестно как, имеет смысл хранить «нужные для работы данные» где-то рядом.
Для этого в Powershell есть переменная $PSScriptRoot, отдающая объект типа строка, то есть «откуда скрипт запустился» и командлет Get-Location, который выдает объект с кучей других свойств.
Посмотрим:

$PSScriptRoot | Get-Member
Get-Location| Get-Member
$Data1 = Get-Location
$Data1.Path

Все наглядно.
Заведем переменную «где храним скрипты» и переменную версии, просто так чтобы была (не просто так)

$PfadZurSpeicherdatenbank = $PSScriptRoot
$Skriptversion = "10"
$MeineErsteSicherungsdatei = $PfadZurSpeicherdatenbank + "\" + "nur-eine-datei.xml"

Часть 1.10 Мой первый массив

Сделаем массив. Не массив конечно, в Powershell массивы это или хеш-таблицы (@{}), или кастомные объекты, типа [PSCustomObject]@{
или System.Collections.ArrayList  
создается, например, так:  $myArrayList = New-Object System.Collections.ArrayList
Или вариации на тему. Почему так? Потому что массив (array) в общем смысле, это объект фиксированного размера, и операция его расширения, если вы работаете с действительно большим объемом данных, это операции «создаем новый массив размером плюс 1, копируем туда старый массив, удаляем старый массив». Это дорогие операции, когда у вас миллионы объектов размерами хотя бы пара мегабайт.
Когда у вас скрипт уровня «я еще учусь» это не влияет значимо на скорость, но помнить и знать это нужно, чтобы потом не думать «ой, почему все так тормозит».

$keinArray = @()
$keinArray += $MeinErstklassigesBeispiel
#Старая переменная больше нам не нужна, удалим ее
Remove-Variable MeinErstklassigesBeispiel


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

$Data1 = @(1,2,3,4)
$Data2 = $Data1
$Data1[2] = "N"
$Data2

Часть 1.11 Суй массив в файл. И забирай из файла

Export-Clixml -Path $MeineErsteSicherungsdatei -InputObject $KeinArray
notepad $MeineErsteSicherungsdatei
$NewKeinArray = Import-Clixml -Path $MeineErsteSicherungsdatei
$NewKeinArray

Поздравляю, вы великолепны.

Часть 1.12 Теперь все вместе

Class MeineErsteKlasse{
[string]$OS
[string]$Release
[string]$KB
[string]$KBDate}

<#Для какого продукта он предназначен: Microsoft Server Operating System
Для какой версии продукта он предназначен: 24H2 (это Windows server 2025)
Номер: KB article numbers: 5063878
Дата выхода: 8/12/2025 #>

$MeinErstklassigesBeispiel =[MeineErsteKlasse]::new()
$MeinErstklassigesBeispiel.OS = "Server"
$MeinErstklassigesBeispiel.Release = "24H2"
$MeinErstklassigesBeispiel.KB = "KB5063878"
$MeinErstklassigesBeispiel.KBDate = "12.08.2025"

$MeinErstklassigesBeispiel | Format-Table -AutoSize

$PfadZurSpeicherdatenbank = $PSScriptRoot
$Skriptversion = "10"
$MeineErsteSicherungsdatei = $PfadZurSpeicherdatenbank + "\" + "nur-eine-datei.xml"

$KeinArray = @()
$KeinArray += $MeinErstklassigesBeispiel
Remove-Variable MeinErstklassigesBeispiel

Export-Clixml -Path $MeineErsteSicherungsdatei -InputObject $KeinArray
notepad $MeineErsteSicherungsdatei
$NewKeinArray = Import-Clixml -Path $MeineErsteSicherungsdatei
$NewKeinArray

Литература
about_Classes
How to Use PowerShell Variables
about_Ref

Продолжение следует

Показать полностью 1
2227

Ответ inko8gnito в «Вот она, настоящая смерть Windows XP, а не какое-то там окончание поддержки майкрософтом :)»2

Оказывается столько людей ностальгирует по ХР... Решил и я немножко приобщиться, так сказать. Сходил вчера на Дальний Склад, и он как всегда меня порадовал. Вашему вниманию... ПАКЕТ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ. Фюить-ХА.

Ответ inko8gnito в «Вот она, настоящая смерть Windows XP, а не какое-то там окончание поддержки майкрософтом :)»

Да, я знаю, надо как то чётче формулировать свои желания. Но, что дал Дальний Склад, обратно уже не вернешь.

Бумага плотная.

Бумага плотная.

Новьё!

Новьё!

Собственно, Её Величество Лицензия! На самом деле мало кто видел такие конверты, даже среди тех кто гонял в своё время со ZverCD. Этикетка-пломба, всё в наличии.

КМК, вид имеет.

КМК, вид имеет.

Куча всякой юридической информации и аннотация.

Куча всякой юридической информации и аннотация.

Внутри конверта приятная коробочка, кажется из полиэтилена, все надписи на русском языке.

Ответ inko8gnito в «Вот она, настоящая смерть Windows XP, а не какое-то там окончание поддержки майкрософтом :)»

Внутри коробочки всего один CD диск SP2 2002 год, и ведь умещалось всё. Ну и лицензионная наклейка с ключом активации.

Ну вот как то так. Пост получился немного сумбурным, ну не обзорщик я.
За сим, позвольте откланяться, мне надо идти отдыхать. Дальний Склад не только даёт, но и забирает, сами понимаете.

Показать полностью 6
32

Переход на Proxmox (Austria) с Hyper-V by Microsoft и VMware by Broadcom Часть 12. Немного про Cpu и кластер

Для лиги лени: ничего нового, проходите мимо

Часть 1. Общая
Часть 2. Gitlab и Nexus
Часть 3. Ansible и Ansible AWS
Часть 4. Наконец переходим к Proxmox
Часть 5, не запланированная. Обновляем Proxmox с 8.4 до 9.0. Неудачно.
Часть 6. Возвращаемся к запуску Ansible
Часть 7. Разница концепций
Разница концепций. Часть 7.1 Обновления компонентов и система информирования.
Разница концепций. Часть 7.2 Сети
Разница концепций. Часть 7.3 предисловие к теме «Дисковое пространство».
Разница концепций. Часть 7.4 «Локальное дисковое пространство».
Часть 8. Разница концепций
Разница концепций. Часть 8.1 Расположение дисков VM
Разница концепций. Часть 8.2 Добавление дисков к хосту
Разница концепций. Часть 8.3 Настройка нескольких дисков
Разница концепций. Часть 8.4 Управление диском виртуальной машины.
Часть 9. Скорости дисков
Часть 10. Внешние СХД, iSCSI
Часть 11. Система прав

Часть 12. Немного про CPU
Часть 12. CPU type
Часть 12. Hyper-threading и безопасность
Часть 12. Hyper-threading и скорость

Часть 12. CPU type

Переход на Proxmox (Austria) с Hyper-V by Microsoft и VMware by Broadcom Часть 12. Немного про Cpu и кластер

В свойствах виртуальной машины, а может где-то еще, можно настроить CPU type. Причина появления этой настройки понятна, совместимость разных поколений процессоров.
Разные поколения процессоров имеют разные инструкции. Соответственно, чтобы приложение внутри виртуальной машины после миграции не обнаружило, что на новом физическом сервере более старый процессор не умеет выполнять какую-то инструкцию, на исходном сервере операционной системе (и приложению в ней) заранее сообщается, что там стоит «виртуально более старый процессор».
Для ESXi это называется Enhanced vMotion Compatibility (EVC). И отдельно можно поиграть в CPU Compatibility Masks.
Для Hyper-V это называется Processor Compatibility Mode (CompatibilityForMigrationEnabled)
В некоторых задачах (AES) это может дать х3 снижение производительности, в других почти незаметно.

Можно ли жить без этой настройки ? Можно, и желательно держать в кластере (в любом) одинаковые сервера – не только с одинаковыми CPU, но и с одинаковыми версиями BIOS, и с одинаковой прошивкой микрокодов для CPU в этом BIOS. Не потому, что это обязательно, а потому, что так меньше возможных проблем. И плюс исправления к CPU иногда выходят, не забывайте ставить.

Можно ли мигрировать VM «без этой настройки» ?
Выключенные однозначно да,  у всех.
Включенные в ESXi – нет.
Включенные в Hyper-V – нет, они с и включенной настройки иногда не мигрируют, хотя и по другим причинам.
Включенные в proxmox – я не пробовал.

Можно ли мигрировать между Intel и AMD ? В рамках домашних лабораторий и учебных стендов можете делать что угодно. В рабочей среде так делать не надо, даже когда режим совместимости заранее выставлен на минимальный минимум. Между Intel и AMD мигрировать в выключенном виде, так спокойнее.

Часть 12. Hyper-threading и безопасность

Когда-то давно, в 2018 году, для Intel нашли уязвимость L1 Terminal Fault (L1TF). Для устранения этой уязвимости, от момента обнаружения до момента выхода исправления, предлагалось, в том числе,:

The L1TF vulnerability introduces risk that the confidentiality of VBS secrets could be compromised via a side-channel attack when Hyper-Threading (HT) is enabled, weakening the security boundary provided by VBS. Even with this increased risk, VBS still provides valuable security benefits and mitigates a range of attacks with HT enabled. Hence, we recommend that VBS continue to be used on HT-enabled systems. Customers who want to eliminate the potential risk of the L1TF vulnerability on the confidentiality of VBS should consider disabling HT to mitigate this additional risk.
Microsoft Guidance to mitigate L1TF variant

После выхода и применения исправлений предлагалось включить HT обратно

Important: Disabling Intel Hyperthreading in firmware/BIOS (or by using VMkernel.Boot.Hyperthreading) after applying vSphere updates and patches is not recommended and precludes potential vSphere scheduler enhancements and mitigations that will allow the use of both logical processors. Mitigation should be done by enabling the ESXi Side Channel Aware Scheduler (see below).
VMware response to ‘L1 Terminal Fault - VMM’ (L1TF - VMM) Speculative-Execution vulnerability in Intel processors for vSphere: CVE-2018-3646

Для проксмокса были те же рекомендации, и предупреждение, цитата

L1TF CPU bug present and SMT on, data leak possible. See CVE-2018-3646 and https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/l1tf.html for details
Problem/message L1TF CPU bug and data leak

На «сейчас», после обновлений «всего», я такой рекомендации, «выключать», не видел. По крайней мере, не видел на более-менее новых процессорах и версиях 8 и 9.

Часть 12. Hyper-threading и скорость


Hyper-threading is an Intel technology that exposes two hardware contexts (threads) from a single physical core. These threads are referred to as logical CPUs. It is a common misconception that hyper-threading doubles the number of CPUs or cores. This is simply not the case. Hyper-threading improves the overall host throughput from 10-30% by keeping the processor pipeline busier and allowing the hypervisor more opportunities to schedule CPU clock cycles and so you should definitely take advantage of hyper-threading by enabling it in the BIOS of the VM host machine.
SQL Server Best Practices, Part II: Virtualized Environments

Есть несколько бытовых мифов про влияние Hyper-threading на скорость VM

Миф первый. HT замедляет работу, потому что это не настоящее ядро.
Этот миф растет из общего непонимания, что такое «ядро», и как с ним работает операционная система. HT это вообще не ядро, это «нить» или «поток исполнения»

Cores are physical processing units.
Threads are virtual sequences of instructions given to a CPU.
Multithreading allows for better utilization of available system resources by dividing tasks into separate threads and running them in parallel.
Hyperthreading further increases performance by allowing processors to execute two threads concurrently.
What Are CPU Cores vs Threads?

Тут я совсем не уверен в том, как это работает с точки зрения именно планировщика по потокам. В общем виде работает это следующим образом:
В случае нормальной работы планировщика (process scheduler \CPU scheduler ), он распределит задачи сначала по 1 потоку на физическое ядро, то есть не «на задача будет выделено физическое ядро», а «задача будет назначена на первый входящий тред физического ядра».
Поэтому в общем случае у вас не будет какой-то мега нагрузки на CPU.
Но, если вы изначально рассчитывали на включение HT и удвоение производительности, то, конечно, забудьте.

Миф второй. У меня огромнейшая нагрузка, поэтому задача, поставленная не на физическое ядро, будет работать медленно.

Поскольку речь не идет про назначение на ядра, нужно понимать, что кроме задач «на CPU», то есть математики, есть задачи ожидания из «дальней» памяти, от дисков, от сети, от пользователя, итд. Все это время само «физическое» ядро будет ждать поступления команды, и нет никаких причин для не выполнения в это время задачи из второго потока.

Скорее всего, нет у вас такой нагрузки. Но, если вы считаете, что точно есть, ну что ж, выключайте. В некоторых случаях, если вам так будет спокойнее, и вы не готовы что-то численно измерять, то можете выключить. Или сказать что выключили, иногда «сказать, что выключили и ускорили, ничего не делая» ускоряет работу системы в 1.5 раза.

Миф третий. Надо просто дать побольше ядер.
Выдать можно. Планировщик хоста будет пытаться сбалансировать треды исполнения, потому что он ничего не знает про то, какие задачи исполняются внутри.
При этом, для некоторых, довольно специфичных задач, например в случае, если у вас есть DBA, ваш DBA знает что такое NUMA, ваш DBA не боится им пользоваться, и внутри VM стоит Microsoft SQL Server 2022 или Microsoft SQL Server 2025, то выделить VM «чуть больше» чем физических ядер, и покрутить настройки трансляции NUMA может быть полезным. Про SQL soft numa и релиз ноты вообще читать полезно, как и что-то типа SQL Server Best Practices, Part II: Virtualized Environments
В остальных сценариях не надо так делать. Например, у PostgreSQL может быть грусть и тоска

Реальная сложность для меня, это отсутствие в Linux параметра CPU ready в нужном мне виде. И это не Steal time, про это ниже.
В ESXi CPU ready есть, и виден через esxtop, и в некоторых сценариях необходимо уменьшить, именно уменьшить число vCPU - Lowering the number of vCPUs reduces the scheduling wait time
Читать по теме:

CPU Ready Time Issues in ESXi Environments Running SQL Server VMs
Determining if multiple virtual CPUs are causing performance issues
How CPU management works on VMware ESXi 6.7

Для Windows server 2025 были введены новые метрики - CPU jitter counters, CPU Wake Up Time Per Dispatch, CPU Contention Time Per Dispatch, детальнее смотрите в статье CPU oversubscription and new CPU jitter counters in Windows Server 2025.

Для libvirt  есть virt-top . Для поиска источника нагрузки на диски есть iotop и htop, оба кстати не установлены из коробки.
В теме Steal time monitoring есть отсылка на проект vmtop, но как его проверить на пригодность, и как он будет жить, не из коробки и с его зависимостями – мне не очевидно. Последний коммит в проект – 16 апреля 2024.

Из этой характеристики вырастает проблема с аналогом VMware DRS (Distributed Resource Scheduler) или Hyper-V Load Balancing, точнее SCVMM dynamic optimization, особенно если на это намазан толстый слой .. для ESXi  слой ESXi host group  и VM-Host affinity rule , для Hyper-V и SCVMM – слой VM Affinity  \ Anti-affinity и Fault domain.

То есть, функционал (некий! (TM)) в Proxmox есть, Proxmox introduces Cluster Resource Scheduler for Proxmox Virtual Environment 7.3, есть отдельно ProxLB

Отдельно надо сказать про мониторинг. Я не знаю, это в Zabbix так сделано, или в Linux, или не знаю где еще, но при включенном HT, при не понятно каких условиях, нагрузка CPU выглядит как «не выше 50%».

Часть 12. И про кластер

Самое неприятное в статье Cluster Manager, это то, что там все работает от root.
Второе, не самое приятное – Corosync.
Потому что под iSCSI отдельные интерфейсы дай, под Corosync – дай (Corosync network planning), плюс лимит в хостов 20, и новостями типа with over 50 nodes in production. Ну что такое 50 нод, это ж немного. Четыре корзины по 12 лезвий.

Часть 12.Подводя итог

Если открыть статью Bibliography, то окажется, что книга Wasim Ahmed. Mastering Proxmox - Third Edition. Packt Publishing - это 2017 год, The Debian Administrator's Handbook – 2021.
Литературы мало, на русском почти нет совсем (кроме разрозненных статей). Порог входа не то чтобы высокий, но выше, чем у Hyper-V. Части привычного функционала еще нет, или он реализуется посторонними проектами. Метрокластер не понятно, как на таком строить.
Кластерная файловая система под вопросами. 
Крутить локальные виртуалки – пойдет, и даже iSCSI будет работать. Провайдеры, опять же, всякие в наличии. Но это уже совсем другая история

Литература
QEMU / KVM CPU model configuration
Enhanced vMotion Compatibility (EVC) Explained
Как работает и как используется Enhanced vMotion Compatibility (EVC) в кластерах VMware vSphere
Impact of Enhanced vMotion Compatibility on Application Performance
Processor Compatibility Mode in Hyper-V
Processor compatibility for Hyper-V virtual machines
Performance Impact of Hyper-V CPU Compatibility Mode
Proxmox wiki Manual: cpu-models.conf
Proxmox wiki IO Scheduler
Proxmox wiki High Availability
Proxmox wiki Cluster Manager
Proxmox PVE Bibliography
Старая (2010) статья Multi-Core Scaling In A KVM Virtualized Environment
What is a vCPU and How Do You Calculate vCPU to CPU?
Hyper-V NUMA affinity and hyperthreading
VMware response to ‘L1 Terminal Fault - VMM’ (L1TF - VMM) Speculative-Execution vulnerability in Intel processors for vSphere: CVE-2018-3646 (55806)
Mitigation Instructions for CVE-2022-21123, CVE-2022-21125, and CVE-2022-21166 (VMSA-2022-0016) (88632)
Guidance for mitigating L1 Terminal Fault in Azure Stack
Microsoft Guidance to mitigate L1TF variant
Which process scheduler is my linux system using?
Completely Fair Scheduler and its tuning
Linux schedulers – overview
The Linux Scheduler a Decade of Wasted Cores
New EEVDF Linux Scheduler Patches Make It Functionally "Complete"
What Are CPU Cores vs Threads?
CPU oversubscription and new CPU jitter counters in Windows Server 2025

Показать полностью 1
1337

Ответ на пост «Вот она, настоящая смерть Windows XP, а не какое-то там окончание поддержки майкрософтом :)»2

А я на всякий случай напомню, что с момента выхода первой операционной системы MS DOS в 1981 году до момента выхода WinXP в 2001 году прошло всего 20 лет.

А с момента выхода WinXP до сегодняшнего дня прошло 24 года.

Помянем мамонтов.

24

Узрите конец поддержки vSphere 7 и 8, Exchange 2016 и 2019. Покайтесь, ибо он уже близок!

Для лиги лени. 2 октября 2025 заканчивается поддержка vSphere 7.x,
14 октября 2025 заканчивается поддержка Exchange Server 2019 и Exchange Server 2016.
Чрезвычайно уважаемые люди так и сказали – будет как в Computer Associates и UCC-7 - CA-7.

Поддержка vSphere 7.
Уже давно было объявлено, что приближается конец света, закат эпохи VMware by Broadcom, и так далее.
Лицензии, теперь и на vSphere 8, теперь идут:
1 Дороже, чем было (как и ожидалось).
2 По подписке.
В Европе Broadcom за такие фокусы потащили в суд , Dutch court forces Broadcom to support VMware migration after 85% price hike backlash и ‘Unfair licensing terms’ subject of EU lawsuit.
До конца обновлений vSphere 8.x тоже осталось меньше года, а дальше только версия 9, только по подписке, только с кучей не очень нужного софта.
Можно ли будет взломать систему? Во первых это незаконно, даже если вы рассказываете про то, что вам цена и модель лицензирования не нравится. Во вторых с FC коммутаторами Broadcom и их лицензированием все не менее печально. Так что  только 100\200G, только Mellanox.

5 марта 2024 года вышло последнее обновление к ESXi 6.5 -
Download Filename: ESXi650-202403001.zip
Build: 23084120
Download Size: 331.1 MB
md5sum: d1f815a95cc2ae8d2592fcd5cf72a34f
sha256checksum: 991465ca3e209d2cf8efd15d1d3d25794f293e119496e962d547baf3bca3def1

Тогда же, 5 марта 2024, вышло предпоследнее обновление для 6.7:
Download Filename: ESXi670-202403001.zip
Build: 23084122
Download Size: 330.5 MB
md5sum: 142bb6a101f9f5ecf727abdd94e1401d
sha256checksum: 6ed73043b280bfbec0ae5dc13f17af7c6db1141f3a4951c447e24682b91e98c7

Последнее обновление для 6.7 вышло уже в 2025:
Download Filename:ESXi670-202503001.zip
Build: 24514018
Download Size: 330.5 MB
md5sum: b3cb6993fda4e2262d1cbbcc4f448239
sha256checksum: 1d07483a2811e0127d93de8976445f3e3cf60efaf84045c66dd2f311476d3566

Для 7.0 это
Download Filename:VMware-ESXi-7.0U3w-24784741-depot.zip
Build:24784741
Download Size:419.5 MB
md5sum:bc919e2febfb81b767e85e4fd33e75b8
sha256checksum:11e8c973918df2f0a9720995f8481deaa8d6b56daf4e931971a0b903a871b944

Для 8 актуальная версия 24859861, от 29 июля, и для 9 – версия 24813472, хотя последним на сайте отдельно значится 24645992 для Host Client 9.0.

На что переходить в части виртуализации?
Конечно, если у вас хватает денег на Microsoft open volume, то переходить на Windows Server 2025.
Даже инструкция есть - : Migrate VMware virtual machines to Hyper-V in Windows Admin Center (Preview).

Если у вас гораздо больше денег, но вы не хотите платить Microsoft, а хотите платить специалистам, то, для малых и средних организаций – Proxmox. Только потому, что он поддерживается независимой организацией. oVirt – дитя Red Hat, Red Hat больше нет, как там будет с обновлениями и поддержкой – не очевидно.

Проблемы выбора «импортозамещения» меня, к моей радости, не касаются. Судя по отсутствию историй успеха, кроме как в виде рекламных статей в платных блогах, с массовыми вытираниями «неприятных» комментариев - ничего хорошего с «импортозамещением» не происходит.

Exchange Server 2019 и Exchange Server 2016

Тут все еще проще. Переходить есть на что, но для мира это Exchange Server Subscription Edition (SE), вышел 2 июля 2025, и по кодовой базе представляет собой Exchange 2019 CU15. Кроме мелких изменений в логотипе итд. Изменения начнутся с Exchange SE CU2:

As end of support is fast approaching, please work on upgrading your organizations to Exchange SE as soon as possible and decommission Exchange 2016 or 2019. Just as Exchange 2019 CU15 blocks coexistence with Exchange 2013, Exchange SE CU2 will require that no Exchange 2016 or 2019 servers are installed in the organization. Future Exchange SE CUs will also modernize installation prerequisites, start requiring Exchange SE server keys, and bring new features.

Российские решения существуют, но требуют x2 всего – серверов, ядер, оперативной памяти, людей. Совокупная стоимость владения, Total Cost of Ownership, считайте сами.

Общая проблема, или время начинать каяться
Начну очень, очень, очень издалека.

На днях вышло несколько статей про известный фестиваль «Горящий человек» -
The Guardian: Can Burning Man survive the financial desert – and keep its soul intact?

Business insider: Burning Man is on shaky financial ground. Can the money-free festival keep from going broke?
Bloomberg: Burning Man Is Burning Through Cash
Jerry James "In the Beginning"
An Inflection Point

Проблема: Ticket sales and donations are up this year, but the event, popular with the Silicon Valley elite, has not sold out.

В чем проблема, если по русски.
До 2022 года билеты продавали по $575. Но в 2022 году эта сумма перестала покрывать расходы ($749)
В 2023 году цены подняли.
Но, как пишут, денег нет (но вы держитесь):

The armchair critic may be surprised that an event now synonymous with tech billionaires would be in financial straits. Some of the world's richest men are regular attendees. But while Burners are getting richer — 37.2% earn between $100,000 and $300,000 annually, compared to 21% 10 years ago, according to an annual volunteer-run census — the majority still earn under $100,000 a year.

Некоторые участники не в восторге от инициатив руководства проекта:

Others said they want the nonprofit to focus on the annual Burning Man event, not its many charity initiatives, like the disaster relief project Burners without Borders and global artist grants.

И голосуют деньгами.

При этом фестиваль превращается в тусовку для богатых парней:

From 2015 to 2024 the share of Burners who make less than $50,000 fell from 47% to 27%, according to an annual census that volunteers run at the event, whereas the share earning $150,000 or more jumped from 11% to 29%.

Мир меняется. То, что в середине 90х было тусовкой на 4 тысячи человек, стало развлечением на 70 тысяч. То, что жило на какой-то форме «и так сойдет» стало регулируемым мероприятием.
Поколение основателей фестиваля начало умирать – например, Larry Harvey (January 11, 1948 – April 28, 2018) .

То, что в середине 80х продвигалось как свободная альтернатива, Free Software Foundation - The GNU Project, и GNU/Linux, стало местами кладбищем, местами наборами кое-как скрепленных (не буду уточнять чем) костылей, продающихся дорого или очень дорого.

Что не удивительно
Разработчикам надо что-то есть, и они выбирают работу 8/5 в коммерческих решениях.
С ростом проникновения технологии, все больше пользователей не только не вносят свой вклад, и не просто жгут напалмом и подгорают ждут готовых решений, но и активно негодуют, почему сообщество не помогает им читать документацию, не читает за них  документацию. Почему сообщество не решает те проблемы, за решение которых платят этим сотрудникам. Плохое, плохое сообщество.

Для России ситуация с кадрами усугубляется сложением нескольких волн:
1 Волны выбивание с рынка труда «средне-стремящегося класса». Который, по заявлениям властей РФ, уже весь вернулся в РФ из США, Германии, Португалии и Кипра, но как-то статистика этого не показывает.
2 Волны смены поколений. Если поколение «до примерно 2001 года» еще успело застать «советскую базу образования», то к 2010 подавляющая часть «советских» преподавателей доработало и умерло (и в школах, и в вузах), подавляющая часть «работников советской закалки» тоже умерли, организация процессов начала отскок в методологию «минус поколение».

Как итог, уже есть регулярно вылезающие наружу (Аэрофлот, СДЭК) проблемы с кадрами, организацией труда, итд.
Переход на опенсорс, в том числе на российские продукты на базе опенсорс решений, без базового понимания «как это работает» и без базового понимания «почему это работает именно так», ведет к росту проблем эксплуатации, которые нельзя решить железом.
И вот это, сложный выбор между «эту бизнес задачу решает только проприетарное решение на проприетарной подписке с дорогими сотрудниками», и «эту задачу можно решить решением на базе опенсорс, только будет в 2 раза дороже по железу и в 2 раза дороже по подписке на поддержку опенсорс», предстоит решать в следующие несколько лет. В условиях дефицита не только высококвалифицированных низкооплачиваемых кадров, но и в условиях дефицита высококвалифицированных среднеоплачиваемых кадров.

Итого.
Можно начинать каяться.

Литература
Announcing Extension of VMware vSphere 7.x and VMware vSAN 7.x General Support Period
Exchange Server 2019 Support Dates Oct 14, 2025
Exchange Server 2016 Support Dates Oct 14, 2025
Migrate VMware virtual machines to Hyper-V in Windows Admin Center (Preview).

Показать полностью
672

Вот она, настоящая смерть Windows XP, а не какое-то там окончание поддержки майкрософтом :)2

Из обновлений в 1С версии 8.3.27:

  • Мы отказались от поддержки операционных систем Windows XP, Windows Vista, Windows Server 2003 и Windows Server 2008;

  • Минимальную поддерживаемую версию браузера Firefox мы подняли до 68 (была 52).

На деле это выглядит как сообщение "хочу минимум семёрку" при попытке запустить setup.exe или "файл не является приложением win32" при попытке запустить уже установленную 1С (скопированную с другого компьютера).

Не то, чтобы у меня так уж много компьютеров под ХР оставалось - потихоньку обновляли их, но десятка полтора из двухсот ещё имеются.

23

Разбор видео Виртуализация Space ДАКОМ М - ОНИ РАЗРАБАТЫВАЮТ, А НЕ КОПИРУЮТ OPEN SOURCE! От Максима Горшенина

Для лиги лени: потерял три часа из жизни

Предисловие
Коллеги прислали видео со словами «ты такое любишь».
Видео называется "Виртуализация Space ДАКОМ М -  ОНИ РАЗРАБАТЫВАЮТ, А НЕ КОПИРУЮТ OPEN SOURCE!".
Ссылка на ютуб, что отдельно доставляет (на ВК и рутубе, наверное, тоже есть)
Максима Горшенина я больше знаю по делу Лайтком, и по тому факту, что он дает интервью всяким превратившимся в помойку ресурсам, но это его личное дело. Обычно его не читаю, и, тем более, видео не смотрю. Ну был человек в МЦСТ, ну были обзоры Эльбрусов, больше Эльбрусов нет. Тратить два часа на то, что можно текстом прочитать за 10 минут, это перебор.

Теперь к видео.
Само видео - 2 часа 15 минут. Шуйский, ты меня настолько не любишь, что прислал ЭТО?
Пошел смотреть, что там рассказывают.

Видео: 0:45 «В начале 2000х в мире начала широко использоваться технология базовой виртуализации».
Мнение. IBM announced its first official VM product, VM/370, on August 2, 1972 for the System/370.

Видео 0:55 (до эпохи виртуализации) Для каждого приложения была нужна своя виртуальная платформа
Мнение: Preemptive multitasking was implemented in the PDP-6 Monitor and Multics in 1964, in OS/360 MFT in 1967, and in Unix in 1969, and was available in some operating systems for computers as small as DEC's PDP-8;

Видео 1:25 технология .. позволила мигрировать приложение без потери сервиса.
Мнение: HA это не то же самое что VMware vSphere™ 4 Fault Tolerance . И это не миграция.
То есть, если мы говорим про «миграцию при выходе сервера из строя», то это FT, и это не миграция. Если говорим про HA, то это не миграция, а перезапуск нового экземпляра с общего хранилища, с, разумеется, перерывом в обслуживании и без гарантий, что перезапустится.

Видео 2:02 Объединение ЦОДов в единую вычислительную платформу.
Мнение: Не совсем. Никакого объединения именно вычислений между ЦОД не происходит, мешает скорость света и проклятая физика. Есть единое управление группами сервисов в ЦОД, и разные схемы репликации данных. Именно вычислительный кластер в пределах ЦОД, это отдельные развлечения в виде построения именно вычислительного кластера.

Видео 5:25 Примерно 11 лет назад .. на российском рынке виртуализации присутствовали VMware, Citrix, Microsoft.
Мнение: Забыты Red Hat, IBM, и все решения вокруг OpenStack – с 2010 года. Виртуализация на российском рынке присутствует с первых поставок IBM в СССР в 70е. Виртуализация на ESXi и потом Windows server в масс маркете - с выхода 2008R2, примерно. ESXi с его лицензированием и первичной сложностью был в сильно верхней части масс маркета, и стоил, с его лицензированием памяти, как-то очень дорого, а лицензировать поверх него Windows стоило еще дороже.

Видео 10:40 Рынок вендоров по виртуализации в России разделился на две группы.
Мнение: Это как считать. В основе у многих «вендоров» – Linux + KVM разных редакций. У кого-то был FreeBSD, и, вроде, даже Linux + Xen. "Российского" в Linux что-то около ноля, там и до всех приключений в команде «около ядра» было человек 10, и далеко не основные разработчики \ контрибьюторы. Этот финн всегда не любил РФ.
У того же SpaceVM – виртуализация из того же Linux, то есть qemu-kvm, и это не секрет, но официальная документация, цитата:

Управление ВМ обеспечивается модулем-гипервизором qemu-kvm, входящим в состав ТОС. Гипервизор qemu-kvm устанавливается непосредственно на физический сервер вместе с ТОС с дистрибутива SpaceVM и отдельной установки не требует. Документация | SpaceVM

У VMware by Broadcom и Microsoft в основе виртуализации целиком свои собственные ОС, если кто-то не знал. Как показывает дальнейшее видео, участники видео не в курсе.
В виртуализацию, то есть в данном случае в KVM (или Xen) вклад от российских вендоров .. не могу сказать что 100% отсутствует, но и в присутствии сильно сомневаюсь.

Видео 11:50 Opensource не является конечным продуктом, иначе бы любой человек мог его скачать, проинсталлировать.
Мнение: является. Любой человек может скачать хоть Debian \ Ubuntu \CentOS, хоть ванильный опенстек, и поставить его в инфраструктуру, и он будет работать. И да, идея была именно в этом – вы качаете бесплатный Linux и не занимаетесь его покупкой. Но цена поддержка RHEL или Oracle Linux, ой.

Видео 14:00 В рамках опенсорс проектов есть специально привнесенные уязвимости
Мнение: Пока такого не замечено. Утащенные документы (Ассанж плюс Шульте =  WikiLeaks) показывают, что уязвимости ищут, но не внедряют. Хотя с Cisco и внедрением в них троянского модуля, не все так просто.
И наоборот, у проприетарного Касперского была уязвимость, когда пароли генерировались исходя из простого алгоритма времени. И недавно ее одна, когда пароль писался в логи в открытом виде.
Если быть чуть точнее, то у ряда небольших проектов после 02.2022 появился код, который можно считать вредоносным «для РФ», но в РФ даже не стали поддерживать проект по поиску такого ПО.

Видео 15:05 VMware использует ядро Linux.
Мнение: для виртуализации не использует. Для системы управления, vCenter – использует.

Видео 15:45 Например .. возьмем Proxmox .. обернем его своим Web-интерфейсом.
Мнение: Но зачем? То есть, у Proxmox есть свой web, есть свое API, что там еще поверх нужно оборачивать? Нескучные обои?

Видео 16:00 потребуется (для Proxmox) написать свои прослойки в виде абстракций
Мнение: Но зачем? Для портала самообслуживания?

Видео 18:35 Само по себе ядро Linux не позволяет вам делать виртуализацию.
Мнение: KVM это Kernel-based Virtual Machine. Технически это: KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). It consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko. The kernel component of KVM is included in mainline Linux, as of 2.6.20.
То есть с времен Linux_2_6_20 ,с февраля 2007, это модуль ядра.

Видео 18:55 Эти модули они пишут сами.
Что-то пишут, но под "что-то" зачастую qemu, apache, и так далее.

Видео 22:00 Red Hat
Мнение: IBM купила Red Hat в 2018 и в 9 июля 2019 закрыла сделку. Фирма Red Hat как фирма не существует, акций у нее (ISIN US7565771026) больше нет. Бренд существует, продукция под брендом выпускается, такая как Red Hat Enterprise Linux 10, но это уже 6 лет как подразделение IBM

Видео 25:00 Какие-то опенсорс модули, но не те, которые отвечают за предоставление конечной функции.
Мнение: за функцию «виртуализация на KVM» отвечают модули ядра Linux. Какая там еще может быть «конечная функция»? Предоставление web интерфейса?

Видео 25:51 первые собственные технологии вы как раз можете увидеть через 5-6 лет.
Мнение: по городской легенде, Xen был написан на спор за выходные.

Видео 26:10 Рекламная пауза с музыкой.

Видео 28:34 Proxmox .. сами его обслуживают, сами его дорабатывают.
Мнение: Коллеги в РФ активно используют Proxmox, репозитории Proxmox (и Debian) из РФ в июне еще были открыты (потом не спрашивал), и вряд ли что-то поменялось. Ничего «самим» обслуживать не надо, если не считать за «обслуживание» apt get update.

Видео 30:50 VMware взяли операционную систему на базе ядра Linux.
Мнение: На базе Linux была ветка ESX. Ее развитие закончилась в 2007 году, с выходом своего ядра, VMware ESXi 3.5 First Public Release, билд 67921.

Видео 31:25 Это их (VMware) ветка (Linux)
Мнение: это не «их ветка», это, если говорит про ESXi, свое ядро ОС с 2007 года. Более того, в 2020 году, с выходом версии 7, оттуда (из VMkernel) выкинули модуль VMKLinux, когда-то давно оставленный для возможности через 333 трансляции использовать Linux драйвера. Завываний в сообществах было очень много. Про то, что злые проприетарщики (по итогам суда за SCSI) выкинули поддержку копролитов, поддержкой которых лет за 10 не озаботился ни вендор, ни сообщество. Сообщество не сделало драйвера за 10 лет, а виноват в этом почему-то VMware.
Photon OS при этом используется для vCenter, и не только.

Видео 34:15
Мнение: Это  новая мода такая, показывать волосатые колени?

Видео 34:40 Web интерфейс это наша собственная разработка.
Мнение: интерфейс да, а под ним Apache. База данных, согласно руководству, Postgres Pro. Это нормально, vCenter Server Appliance (VCSA) использует PostgreSQL.

Видео 35:50 GFS2 (Red Hat) плюс Pacemaker плюс Corosync на слайде.
Мнение: Pacemaker временами вытворял такое, странное.

Видео 36:06 используется GlusterFS
Мнение: Proxmox VE has officially dropped support for GlusterFS as a storage option starting with Proxmox VE 9.0. This decision is based on the Proxmox developers' assessment that GlusterFS is no longer actively maintained upstream.

Видео 37:10 Слайд Space Agent VM содержит qemu агент и virtio.
Мнение: Нормальное явление, там же qemu-kvm, и сеть от virtio

Видео 37:45 Реализован автоматический перенос виртуальной машины на резервный сервер в случае выхода из строя основного.
Мнение: это не перенос, это перезапуск виртуальной машины на другом сервере. Именно перенос, FT и аналоги, реализован у VMware by Broadcom как FT, и как-то был у Stratus (но могу ошибаться), но фирма Stratus перекуплена, и что то там еще с ней было. Есть еще аппаратные реализации FT, но дорого.

Видео 39:00 В SpaceVM реализован функционал микросегментации.
Мнение: судя по документации, не совсем микросегментации. Документация:  Правила фильтрации политик виртуальной сети и виртуальной машины. Для меня выглядит фильтрация на уровне L2+L3, но как-то не понятно, это все же L2 фильтрация, и я могу сделать группы IP\MAC внутри L2 сети, или нет. Судя по запрету широковещательных, это ближе к private vlan.

Видео 40:50 все исходные коды принадлежат вам
Мнение: в контексте разговора да, но код kernel (в том числе KVM), СУБД, и прочих компонентов, им, конечно, не принадлежит.

Видео 43:20 Технология Free Grid может применяться там, где закончилась лицензия NVidia Grid.
Мнение: «обход» какой угодно лицензии в отсутствии в РФ официального правительственного указа о разрешении обхода лицензий еще недавно трактовался как УК РФ 146, УК РФ 273.2 (потому что могли добавить и нейтрализацию средств защиты компьютерной информации). Что-то, видимо, поменялось.

Видео 45:30 Музыкальная пауза. Кому-то, похоже, переставляют Linux.

Видео 46:25 (SpaceVM) Устанавливается на любое железо.
Мнение: то есть, про тестирование и списки совместимости ( Hardware compatibility list) речь не идет, работает и ладно.
Ранее в видео говорилось про enterprise class, ну что ж.

Видео 54:00 Соревнования в надежности с VMware by Broadcom
Мнение: если говорить про ОС, то есть ESXi by VMware by Broadcom, то надежность у нее была, и остается, на принципиально не достижимом уровне, для текущих версий «всего на Linux». Почему? Потому что ОС, точнее vmkernel, распаковывался в оперативную память, и после запуска не нуждался ни в дисках, ни в каком-то загрузчике. Да, при смерти диска, на который ESXi сгружало логи, и где хранился агент, самой ОС могло стать нехорошо. Хост отваливался от vCenter, управление тупило, но сами гостевые виртуальные машины работали как часы, позволяя штатно, в согласованное время, выключить виртуальные машины, и штатно их запустить на другом хосте в кластере. Про это целая статья есть, Падучая ESXi или возвращение блудного хоста. И Grigory Pryalukhin статьи писал - Перезапуск Management agents в ESXi и терпение.
У Hyper-V есть схожая особенность, при смерти управляющей виртуальной машины (minroot 0 или как его там), гостевые виртуальные машины живут до выключения, даже на любой форме локальных дисков.
Windows на выдернутых \ и особенно перешедших в RO дисков, это очень странный, но реальный сценарий. И оно даже работает.
У Linux ? Выдерните диск из-под Linux с KVM и посмотрите. Мне выдергивали как-то случайно. Эффект .. странный.

Если делать соревнования по надежности, то что ESXi , что Windows server с Hyper-V работают без перезагрузок и патчей, по 3-5 лет. Я всегда очень удивлялся, что есть такие люди, которые по 3-5 лет без единого патча или ребута обходятся (Кто тут громко подумал МТС \ СДЭК \ Аэрофлот ? ), но технически это возможно. Делать так, конечно, не надо. Наиболее вредоносное ПО, с постоянно текущей памятью, приносит (в основном) отдел имитационной безопасности. С этим ПО все очень плохо, оно течет.
Это (подтекание) касается не только российского ПО, все «типа антивирусы», кроме Palo Alto, Sophos и Microsoft, вот эти все из правого верхнего угла 2023 Gartner® Magic Quadrant™ for Endpoint Protection, вот они все кривые и косые. Про CrowdStrike теперь не слышал разве что совсем слепой и глухой.

55:20 Теперь давайте про Citrix
Мнение. Странно, что забыты Horizon и Workspace ONE, они теперь не VMware by Broadcom.
VMware Horizon теперь Omnissa Horizon
AirWatch стал Workspace ONE, точнее Omnissa Workspace ONE Unified Endpoint Management (UEM)
Странно, что забыт Microsoft Remote Desktop Service. Инсталляций полно.
Я с Citrix почему-то сталкивался крайне редко, последний раз в 2015 году. Citrix Systems куда-то продавали, кто-то с кем-то его скрещивал, но я не слежу.
В 2018 году доля Citrix уже была невелика (Hypervisor Market Share – ControlUp Perspective). То есть, он не умирает, но есть тред на реддите, что в ряде отраслей его сложно заменить (Question: Is Citrix dying?).

Видео 58:30 Уход VMware
Мнение. Уход VMware, это очень громко сказано, но надо понимать нюанс. Да, российским фирмам отключили учетные записи на портале, не вернули деньги за поддержку, и перестали оказывать саму поддержку. Это было бы пол-беды. Все, кто хотел, решили вопрос со скачиванием.
Нюанс в том, что 26 мая 2022 года Broadcom объявил про покупку VMware, сделка была закрыта 22 ноября 2023 года, и понеслось.То переактивация записей, то переделка портала, то смена модели лицензирования, отчисление всего малоденежной части покупателей, выделение и продажа наружу Horizon и Workspace ONE, удаление ESXi free, удаление еще кучи продуктов.
Дошло до того, что Microsoft пишет: Migrate VMware virtual machines to Hyper-V in Windows Admin Center (Preview).
Лично мне смешно, что вот эти граждане ходят по граблям, но на Hyper-V переходить не хотят.
Поэтому, если бы VMware осталась VMware, а не стала VMware by Broadcom, то российский центр экспертизы имел бы смысл. А так, даже вне РФ, приходится бежать от них, теряя тапки.

Видео 1:04:00 Деньги никто не вернул
Мнение. А мог? Санкции в первую очередь были финансовые, свифт отключили. Я напомню, как доллары из банков РФ, со своих счетов, запретили получать гражданам РФ. Так что про чистоплотность относительно долларов РФ в российской банковской системе, еще до указа о запрете вывода, это вопрос не к вендорам, а к системе переводов. Не говоря про лимиты вывоза из РФ своих же денег в долларах.

Видео 1:05:00 .. и работает только по их правилам.
Мнение. Я напоминаю, что это видео лежит на ютубе, и странно говорить про работу по правилам и чистоплотности говорить в системе, которая с 1991 года не может вернуть долги собственным гражданам. Но говорить, безусловно, можно. Да, правовая система США и Европы работает в своем правовом поле. Именно поэтому до 2022 года в значимой части контрактов стояло, что разбирательство должно быть в Лондоне.

Видео 1:07:40 Как только у них (МЦСТ) появилась аппаратная поддержка виртуализации, на 16С
Мнение. Мне кажется, или 16С в серию так и не пошел?

Видео 1:07:45 Скоро будет новости (про МЦСТ Эльбрус 16С)
Мнение. На Тайване их не делают, неужели заказали партию в Китае? Потому что на 180/350 нм технологиях в РФ, 16С будет размерами с пеноблок. И такой же производительности, как пеноблок, из-за длины дорожек.

Видео 1:08:00 Большую часть приложений (x86-64\win32) можно будет использовать на Эльбрусе
Мнение. Эльбрус 4\8 и инженерный 16С в 2021 чудовищно отставал по производительности от Intel. Выступал на уровне Core i7 2600 из 2011 года. Запускать на нем Word \ Excel для целей можно, но уже в 1с баба Маша вас проклянет, и повесит вашу шкуру у чайника в кабинете бухгалтерии, по примеру Кристобаля Хозевича Хунты (у него было целое чучело).

Видео 1:14:00 Обход лицензирования NVidia через FreeGRID .. засылать несоразмерные платежи.
Мнение. Интересная логика про "несоразмерность". У той же Microsoft лицензия Datacenter, или расширенная поддержка Windows Server 2012 стоит, по моему мнению, несоразмерных денег. Почему не продавать активаторы, в таком случае? Но с этим вопросом пусть юристы разбираются, еще недавно за активацию "несоразмерных" лицензий Windows, фотошопа, 1С, и так далее, выписывали штраф. И у 1С уже много раз уже таймбомбы.

Видео 1:15:00 VMware ввели новый вид лицензирования.
Мнение. Как я уже писал, уже не VMware, но уже Broadcom. Они всегда (последние лет 20), были адскими жмотами, жлобами, и как хотите, так и называйте. Но не прячьте ваши денежки.
Чрезвычайно уважаемые люди давно сказали – будет как в Computer Associates и UCC-7 - CA-7. Так и вышло.

Видео 1:20:00 Отучиться на Cisco
Мнение. Первые два курса Cisco, ICND 1 и ICND 2, это курсы не про продукцию CISCO, а про базовейшую из базовых теорий. Cisco Press активно выпускала книги на русском, Cisco академия работала повсеместно. Курс, если вам было жалко денег, валялся везде и бесплатно. Пройдя базовую Cisco и понимая теорию, можно было уже на базовом уровне понимать, как это реализовано у остальных вендоров.

Видео 1:21:10 У них аппаратка DELL –а стояла, все было хорошо.
Мнение. При монтаже пропал фрагмент видео.

Видео 1:24:30 Виртуализация должна иметь стык для работы с антивирусом
Мнение. Broadcom очень давно, если не всегда, писал что:

It is not recommended to install antivirus software directly on the VMware vCenter Server Appliance (VCSA) due to potential performance issues
Unfortunately for defenders, ESXi hosts themselves do not currently support natively run EDR (endpoint detection and response). Best security practices for ESXi environments


То есть для провайдеров были решения на уровне интеграции модулей, но это не привычный антивирус.
А уж сколько люди поели с vGate.

По поводу Microsoft процитирую:

You have just deployed Hyper-V and the (in)security officer has decided that the standard edict of “all files and processes must be scanned because Windows is insecure” must be applied. Here’s my advice: Get that in writing. No, better: Get that written in their own blood, with your boss, your boss’s boss, and the (in)security officer’s boss as witnesses. Antivirus on a Hyper-V Host: Do You Need It?

Видео 1:27:00 Совместимость с системами хранения данных
Мнение. НАКОНЕЦ ТО дошли до озвучивания проблем с HCL. Спустя полтора часа.

Итого.
Видео 1:30:00. С тремя перерывами и двумя перекурами я дотащился до отметки 1:30 из 2:15

На просмотр и пометки за полтора часа реального времени ушло три часа из жизни. При этом никакой особо полезной информации я не узнал.
Окей, в РФ есть еще одна платформа на KVM (из 50 похожих?), и обещают, что платформа не хуже Proxmox.
Окей, если бы у меня стояла задача импортозамещения, я бы и так в 2022 начал смотреть на рынок российского ПО. Но у меня такой задачи нет в принципе, а на Proxmox на текущей работе начали уходить еще в начале 2024, когда стало очевидно, что будут перемены с политикой Broadcom, и что давно пора снизить число лицензий на Microsoft.
Рассказ про Linux внутри ESXi (хотя ESXi никак не Linux) заставляет меня несколько скептически оценивать все остальные заявления.
Но, меня это все не касается никак, а с таким подходом к лицензированию nVidia пусть юристы разбираются.
Досматривать я это даже не буду.

Показать полностью
Отличная работа, все прочитано!