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

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

2 168 постов 18 686 подписчиков

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

2

Трансформация

Трансформация Картинка с текстом, Мемы, Языки программирования, IT юмор
Показать полностью 1
6382

Не выдуманные истории, о которых невозможно молчать1

Не выдуманные истории, о которых невозможно молчать
4
Вопрос из ленты «Эксперты»

Junction links on NTFS

Посоветуйте плс. Зная подлый характер этих Junction links, тем не менее при разгребании файловых завалов старых системных дисков из под FAR , опять таки напоролся на все "прелести" Junction, и поудалял определенное количество своих файлов (( Посоветуйте пожалуйста какой-то софт или плагины для FAR/TC, для работы с массивами каталогов, содержащих subj :

  1. Копирование папок и содержимого, без копирования Junction links и их содержимого.

  2. Копирования папок и их содержимого по Junction links, с конвертацией места хранения в локальную папку, с разрущением junction ? М.б. есть такое чудо.

  3. На худой конец, просто массовое легкое и безопасное удаление линков из папки и подпапок, не затрагивая содержимое.

Желателена работа массовая работа из утилиты или плагина, хотя если есть возможность массово безопасно поудалять линки из под командной строки, то тоже буду рад.

Спасибо.

15

Рекурсивная реализация

Рекурсивная реализация
23

Русификация Windows, счетчики событий, NVME SSD и однополые браки – что тут общего

Для лиги лени: русификация Windows Server – зло и порождение союза Сатаны и Саддама Хусейна.

Часть 1, или откуда все началось
Это история из следующей статьи, но и тут пригодится.
Когда-то, давным-давно, умер у меня в дисковом массиве диск. Поскольку дело было давно, году может в 2005, а может в 2010, а может и не у меня, то детали я уже и не вспомню. Умер он странно. Вроде умер, а вроде и нет. По SMART все отлично, но. То задержки в записи по полсекунды, то ошибка записи, то еще чего-то. По каким причинам массив этот диск не выкинул, уже и не узнать, и не вспомнить.
Третьего дня (еще в феврале) у меня такая же история и НЕХ приключилась с Micron SSD (7500 PRO U.3: 3840GB). Жил себе диск жил, и вдруг полезли вверх дисковые задержки. Самое неприятное, в том, что если у классических RAID контроллеров, и классических SAS дисков, все эти SMART метрики, и не только, читаются, и даже отдаются в систему, то у Micron SSD все 2.5 утилиты, что linux-nvme - nvme-cli, что Linux \ Windows Storage Executive Software, что msecli – никаких метрик не показывают. Как и ОС показывает примерно ничего. Просто внезапно полезли задержки, и все. Как эмулировать ситуацию, в какие события смотреть – в моменте было не понятно.
По мониторингу диск или здоров, или не здоров, или мертв. Учитывая, что это NVME, то его диагностика под нагрузкой то еще развлечение. Как и диагностика, что еще пошло не так из списка: сам диск, NVME backplane, PCIe линия от процессора до диска, или же в процессоре что-то умерло - Integrated Input/Output controller (IIO), и чего в этом менять. Все вместе было не очень понятно в первые пару часов.
Конечно, после эвакуации данных, и вдумчивой сборки-разборки дисковой группы, стало чуть понятнее, но с мониторингом, и прочими observability, надо было, и будет, что-то решать.
Возможно (но это не точно) повторяется, в том или ином виде, история с
IBM HDD DTLA Click of Death, Fujitsu (припой 2000-2002), Cisco 2014 (возможно, что и Juniper) и памятью (Memory Component Issue), генераторами в 2017 (Clock Signal Component Issue).
В 2018 году мне пришлось прошивать несколько дисков, из-за слишком зеленой прошивки.
В 2019 году были большие проблемы с HPE SSD после 32.768 часов работы.
В 2020 году были проблемы у всех - Dell, HP,  Cisco SSD умирали через 40.000 часов.
Или, может, просто у меня диск умер, статистики пока нет.
Как говорил один иностранный консультант, Data center SSD смертен, но это было бы ещё полбеды. Плохо то, что он иногда внезапно смертен, вот в чем фокус!

Часть 2, или про русификацию Windows Server

Прибежали в избу дети, Второпях зовут отца:
Тятя, тятя, нету сети! И не загружаецца!

Недавно попросили посмотреть, что там у людей с системой. Посмотрел.
Я уже давно, очень давно, не видел русского Windows Server, а тут вот и он.

В чем отличие русифицированного Windows server? В том, что он русифицирован, но не просто криво, а и кусками, и криво. Меню перевели. И счетчики.
Сообщения Microsoft Defender SmartScreen перевели как «Бег» и «Отмена». Сообщения в журнале событий и без перевода порой отличаются глубиной анализа уровня «что-то пошло не так», но в русском переводе совершенно утрачивают смысл. 
Скрипты выгрузки чего-то из журналов тоже приходится подгонять под «русификацию».
В глубинах настроек Active Directory, сразу за первым меню в mmc, половина названий переведена, половина не переведена. Мастер делегирования перевели так, что у меня чуть глаза не вытекли.

Русификация Windows, счетчики событий, NVME SSD и однополые браки – что тут общего Windows, IT, Опыт, Длиннопост

И, разумеется, у людей, которые ставят русский Windows Server, все остальное сделано точно так же, то есть через жопу. Русские названия Organizational Unit (OU). Русские названия групп. Русские названия сетевых папок, серверов, всего.
Да, это работает. Пока у вас один сервер. Любая автоматизация натыкается на то, что русские буквы могут быть в виде UTF 7, 8, Win1251 и еще несколько вариантов на тему. Особым успехом пользуется одновременное использование русской с и английской c. Хорошо себя показали обе o.

Разумеется, 99% разработчиков никогда не слышали про локальные языки, поэтому часть программ требует наличия учетной записи Administrator. И не работает от учетной записи Администратор.
Да, существуют  SID (Security identifiers) и существуют Well-known SIDs, такие как S-1-5-21-500, сами посмотрите -
Get-LocalUser | ? {$_.SID -like "*-500"} ,
но кто ж их использует?
Можно умело воткнуться в русификацию групповых политик, и, особенно, в Administrative Template files (ADMX/ADML). Которые могут быть с русификацией. Но могут и не быть.

Разумеется, у людей, ставящих русский Windows, теоретическая часть тоже хромает. Репликацию AD писали люди, видевшие некоторые вещи, поэтому ее сломать так сразу нельзя. Но, кривые руки сетевиков, и информационной безопасности, плюс антивирус на контроллерах домена, плюс кое-какие настройки, дают на выходе членский билет даже не в Blue Oyster bar, а сразу в Arse Tickler's Faggot Fan Club.

Русификация Windows, счетчики событий, NVME SSD и однополые браки – что тут общего Windows, IT, Опыт, Длиннопост

Blue Oyster bar

Разумеется, вместо  repadmin /showrepl начинаются рассказы «да винда говно», «мы ничего не нажимали», и прочие истории «оно же пингуется, значит работает». Хотя надо было брать в руки хотя бы Test-NetConnection, и идти по списку портов с двух сторон. Потом брать палку.
У сетевиков особым успехом пользуются разные firewall с двух сторон подсетей, использование и не использование двойного NAT, и прочие прекрасные истории с асимметричной настройкой.

А за скрюченной рекой
В скрюченном домишке

От информационной безопасности имеется скрюченный из коробки антивирус, с такими же скрюченными настройками. 

Со стороны «типа админов» мало кто осиливает прочитать How to configure a firewall for Active Directory domains and trusts , и уж тем более не осиливает прочитать Guidance for configuring IPv6 in Windows for advanced users, поэтому они просто отключают фаерволл, и снимают чекбокс с IpV6. Потому что ну не понятно же, как так??
This registry value doesn't affect the state of the following check box. Even if the registry key is set to disable IPv6, the check box in the Networking tab for each interface can be selected. This is an expected behavior.

Хотя написано же, и в рамочку обведено в статье Guidance for configuring IPv6 in Windows for advanced users:
We don't recommend that you disable IPv6 or IPv6 components or unbind IPv6 from interfaces. If you do, some Windows components might not function.
Два раза написано, для совсем непонятливых:
We don't recommend unbinding IPv6 from an Ethernet or WiFi network adapter without a justifiable need. Windows is tested with, and some products and features expect, IPv6 to be bound and functional.
Unbinding IPv6 from a network adapter can result in an unsupported Windows configuration.

Русификация Windows, счетчики событий, NVME SSD и однополые браки – что тут общего Windows, IT, Опыт, Длиннопост

Часть 3, наконец, про счетчики Windows

Добрался я тогда и до них.

Общеизвестно, что счетчики и описания можно дергать более чем несколькими способами.
Все равно это живет на дне океана в  Windows Management Instrumentation (WMI):
Можно вытащить все сразу: Get-CimClass -Namespace root/CIMV2
Можно по частям: Get-CimInstance Win32_PhysicalMemory или (Get-CimInstance win32_processor).loadpercentage
Можно забирать объекты: Get-WmiObject Win32_Processor
Можно забирать счетчики: Get-Counter -ListSet *

В последнем способе и порылись русификаторы, о чем тоже написано:
Performance counter names are localized. The examples shown here use the English names of the performance objects, counters, and instances. The names will be different on a system that uses another language. Use the Get-Counter -ListSet command to see the localized names.

В ключе реестра:
Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009
Лежит 1000000000 значений, и в powershell они выгружаются как TypeName: System.String.
Выглядит это как-то так:

1
1847
2
System
4
Memory

Что абсолютно не читаемо для неподготовленного человека. Возьмем код отсюда, немного допишем в читаемый вид, new-object, ну вы серьезно чтоли. Только классы, только xml, только хардкод.
Примечание. Отсюда - Querying performance counters from PowerShell – тоже можно код взять.
Примечание. Количество счетчиков зависит от ОС.
Для MS Windows server 2025 у меня вышло 4744 значения (до какого-то там патча, давно не включал эту виртуальную машину), последние ID -
7248  Responses: Successful Polling Responses/sec 
7250  Responses: Failure Polling Responses/sec 
Для Windows 11 – 5494 значения,
8352  Responses: Successful Polling Responses/sec
8354  Responses: Failure Polling Responses/sec

Часть 4, или минуточка горения

В документации к Zabbix указано, что у счетчиков, кроме имен, существуют еще и ID. И можно по ним и ходить, смотри главу 6 Windows performance counters.

Но посмотрим, что там пишут.
"\Memory\Page Reads/sec"
Попробуем:
Get-Counter "\Memory\Page Reads/sec" – так работает
Get-Counter "\4\24" – так не работает. Потому что, во первых, в документации ошибка, счетчик id не 24, а 42, Get-Counter "\4\42", но и Get-Counter "\4\42" тоже не работает.

О чем и жалуются в обсуждении Using Performance Monitor counter IDs instead of the counter names – 2, что Get-Counter -Counter "\2\10" работает, "\4\28" работает, а так нет, не работает.
И не только там, много где жалуются, например:

The following parameters can be configured for this plug-in. For object ID and counter ID parameters, it has been observed that numeric ID values for these parameter may not always be resolved by the native Windows Performance Data Helper APIs used by the PERFMON Plug-in. In such cases, it is advisable to use the corresponding text strings for the object and counter IDs over the numeric ID values. Windows Perfmon

Пойдем перебором, что остается то. Жалкие 5000 переменных, хороший повод разделить задачу на блоки по 500, и переписать как Job, но мне лень (В итоге переписал, конечно). Все равно в пределах первых 500 параметров есть только \2\10, \4\28, \52\54, \86\88, \262\388, \330\388, \582\584, \638\640, \1150\1152.
Это похоже на паттерн, немного перепишем код и вуаля:
Windows 11 – 47 "таких" счетчиков
Windows server 2025 – 53 "таких" счетчика.

Часть 5, рекомендованная литература

Performance Counters Schema
Get-StorageReliabilityCounter
Troubleshoot Storage Spaces and Storage Spaces Direct health and operational states
How to Track Down High-Latency Physical Disks in Storage Spaces Direct
Performance history for virtual hard disks
Event ID 153 Disk IO operations (Server 2019 Guest VM - HyperV) becomes unresponsive and reboots
Interpreting Event 153 Errors
Hyper-V storage I/O performance
Tips and Tools for Microsoft Hyper-V Monitoring
Проблемы с Hyper-V-StorageVSP Event ID: 8, Hyper-V-StorageVSP Event ID: 9, встречающиеся на Windows Server 2019, но резко уменьшающиеся на Windows Server 2022, согласно треду на Reddit.
Microsoft-Windows-Hyper-V-StorageVSP/Admin Source: Hyper-V-StorageVSP Event ID: 8

Все про ошибки: Microsoft-Windows-Hyper-V-StorageVSP/Admin Source: Hyper-V-StorageVSP Event ID: 9 An I/O request for device took .. milliseconds to complete
Netapp HyperV over SMB3 logs StorageVSP latency multiple times a day
Veeam Windows Server 2019 Hyper-V VM I/O Performance Problem - Page 17
Veeam  KB4717: Hyper-V Resilient Change Tracking Performance Issues

Часть 6, и про однополые браки.

Вот это - Using the ArgumentList parameter, точно писали в семье из двух мужиков.
Насчет такой русификации у меня такие же подозрения.

Часть 7, вместо финала.

Я хотел было сюда написать немного кода, но было бы чего писать.

$RKeyEng = 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009'
$RKeyLocal = 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\CurrentLanguage'
$CountersEng = (Get-ItemProperty -Path $RKeyEng -Name Counter).Counter
$CountersLocal = (Get-ItemProperty -Path $RKeyLocal -Name Counter).Counter
$CountersEng.count #комментарии избыточны
$CountersEng[0..5]
$CountersEng[-5..-1]

class DasKlass {
[string]$ID_Eng
[string]$ID_Local
[string]$Name_Eng
[string]$Name_Local
[string]$Digital_Bypass}

$Out1 = @()
$countersEnglishCount = $CountersEng.count / 2
for($num = 0; $num -lt $countersEnglishCount; $num++) {
$SingleCount = [DasKlass]::new()
$indexId = ($num * 2)
$SingleCount.ID_Eng = $CountersEng[$indexId]
$indexName = $indexId+1
$SingleCount.Name_Eng = $CountersEng[$indexName]
$Out1 += $SingleCount # я знаю, что на leetcode, codility и algomap.io, так делать нельзя
Remove-Variable SingleCount }

$Out1.Count
$Out1[0..3] | ft
$Out1[-3..-1] | ft

Финал.

Как была примета "русская винда в продуктиве - к проблемам", так и осталась. Ничего нового.

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

Такая как ты

Такая как ты Картинка с текстом, Девушки, Программист, IT юмор
Показать полностью 1
249
Лига Сисадминов

Олдовость

Звонит на днях очень-очень дальний родственник. Скорее просто знакомый. Говорит, с сеткой проблемы, можешь глянуть. Ну вот выходные, поехал глянуть. Там стоматология, два здания рядом, в одном чистенько-красивенько, там людей принимают. В другом зуботехническая мастерская. Между ними висит провод. Железо тупое, пяток неуправляемых свитчей и роутер, какой то микротик.

Сеть лежит. Внутри каждого из зданий иногда что то пингуется, между зданиями - ноль. Ага, думаю. Где то косяк. Ищу уходящий в соседнее здание провод, отключаю. Сразу сеть внутри него начинает работать. Во втором хрень продолжается... Ага думаю. Там где то проблема... Во втором здании пытаюсь понять, что - где не так. Вроде всё норм, и тут до меня доходит что линк приходящий из первого зданий - горит. Спрашиваю у товарища, а нет ли какого оборудования, замурованного в невидимых местах? Естественно он не в курсе. Ну чо, берём лесенку, лезем ввысь, сначала снаружи, внимательно осматриваю. Там стальной трос, к нему изолентой примотаны три FTP кабеля по всей длине. Внутрь при моих габаритах лезть не получится, там типа технический чердак толщиной с пол метра. Уточняю, не лазил ли кто, непосредственно перед началом проблем, по этому чердаку. По этому - нет, но во втором здании, зуботехники запихали в свой (там уже обычный) чердак некоторые ненужные расходники. Радостно лезу туда и нахожу, чтобы вы думали? Правильно, древнейший стомегабитный 8и-портовый 3COM`овский свитч. И в него воткнуто две FTP`хи и кабель который идёт вниз. Выдёргиваю одну, включаю то что отключил ранее - всё отлично. Везде сеть.

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

ЗЫ: Куда шел третий кабель - я не знаю. Выяснять не стал.

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

В продолжение Линь vs Вынь

Вот как переименовать сервер в винде? ПКМ, свойства, имя компьютера, изменить параметры, Изменить, новое имя, ок, перезагрузка, работаем.
Как изменить имя в деб, например? Правим hostname, hosts, ищем где в каких конфигах служб оно еще указано, ребут, служба отвалилась, где забыли поменять, почта не приходит ( там пропустили). И это еще мы имя ноды прокса не не меняли. Там поинтересней) Чисто теоретически в конфигах можно переменную соответствующую применять, но кто это делает?
Или вот сетевых у тебя 16. Это ж, блин, чтобы их работу проверить, пиши все имена в interfaces, да с обвязочкой. Винда тебе все попапами покажет при подключении, делать ничего не надо.

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

Логи фильтровать в лине- помнить ключи от разных команд, а они цуко, не единого формата, типа как в PS. А если логи в двоичном формате, да еще зажаты в архивы - помни еще яток команд с ключами и их последовательностью. В винде фильтр наклацал мышкой, вбил слова и смотри что и когда происходило и как часто, удобненько.
И как часто в организациях, использующих линь, применяется центры авторизации и аутентификации? Это ж пц, на серваках работают от рута, передают пассворд его людям с наказом не болтать. Или сложно это, типа FreeIPA развернуть - не поле перейти, или я не знаю почему так, но не делают. Хотя даже IPMI такое поддерживает. В винде если работников выше 10 и надо порезать по правам, ставят AD и не парятся. Наклацивают политики, устанавливаемый софт, кто чё может и оно работает. Не встретил ещё, кто бы такое воздвиг в лине, видимо задолбаться правкой текстовиков желающих мало)
На десктопе, стоит убунта с гномом. И как ярлык на рабочий стол? Или с него же запустить программу? А файл текстовый создать на нем? - Ничего нет, кроме создать папку :( Иди разбирайся, как это сделать. Благо есть другие оболочки, в которых это в какой то мере допилено, но везде разной степени удобности. Что там в винде? ПКМ и готово. За ручку проведут, да еще проверят, что не фигню ввёл.

Доступ к последовательному порту? В лине буть добр включить себя в группу dialout или что то такое(выясни что именно); в винде -добро пожаловать, ОС к вашим услугам немедленно.

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

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