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

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

2 162 поста 18 684 подписчика

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

1

Импортозамещенный ERP

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

Пробным шаром в этом поединке оказалась необходимость перейти на поделие отечественных мастеров ноля и единицы - 1С: УНФ с модулем CRM (Считается, что аббревиатура должна обозначать "Управление Нашей Фирмой"); про Кустомер Релатион Манагемент вы и без меня знаете.

Как и у всех, рожденных в СССР, мои отношения с программами, предназначенными для учета хоть каких-то чего-то, начались с СуперКалка, нет, по-английски всё таки благопристойнее - SuperCalc под DOS. Конечно, были среди некоторых отдельные мажоры, при программно-аппаратных комплексах, в составе которых сразу были заветные буковки DX - они уже могли позволить себе начать с премиально-люксовой КваттроПро. Детство пролетело незаметно и всё студенчество, армию и даже первую работу я провел в блаженном неведении под сенью вечного как Эц-Хаим Экселя.

Гром грянул в десятом году на втором месяце очередной работы, когда желто-красное чудовище "Предприятие 8" выпрыгнуло на меня из электрописьма начальника. Слава богу, тогда это были только заказ-наряды, и дело ограничилось легким петтингом. Хотя! Уже тогда моего институтского курса для гуманитариев по Аксессу хватило, чтобы начать подозревать, что отечественная ветвь управленческого ПО развилась куда-то вбок. Длилось это недолго, потому что контора была совместным предприятием с американцами и однажды, вернувшись из командировки, я пересел в MS Dynamics (был это NAV, AX, GT или всё вместе, я понятия не имею). Про то я не помню практически ничего, кроме того, что было удобно. Тащили это дело по эту или по ту сторону океана, нам было не известно, потому что всё работало, и мне как пользователю (сервис-инженер) всё нравилось. Опять же я люблю, когда всё красиво и эргономично, а уж если ещё и интуитивно понятно, то софтгазм обеспечен.

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

"Не долго музыка играла, не долго фраер танцевал...", и вновь большинству пришлось вернуться от богопротивного серо-зелёного лагера к посконно-русскому красно-желтому. Достаточно долгое время мне удавалось избегать оного, прикидываясь где электриком, а где и слесарем, прикрываясь то болгаркой, то паяльником. Однако, от судьбы не уйдешь и польстившись на бесовские электроденьги, я согласился снова быть начальником. Тут-то меня и подловили.

Увидев впервые стартовую страницу этого, я подумал две вещи: во-первых, где тут можно сменить цветовое оформление, ибо такое разнообразие оттенков "детской неожиданности" я точно долго не вынесу; а во-вторых, это точно не условно-бесплатное ПО? В условно бесплатном MS Офис 365, да даже в любом бесплатном его подражании эргономика точно есть.

То были цветочки, а ягодок нет - вместо них, завернутый в шкурки от винограда керамзит. Для тех, кто спешит обвинить меня в тупости и неумении разобраться простом и понятном продукте, у меня есть ответ: не исключаю и ваш вариант, но с тем, что это сделано Чужими для Хищников согласились все, кто был на целой неделе занятий по использованию 1С: УНФ с CRM. И ведь преподавал нам не абы кто, а тот, кто сам там все бизнес-процессы оцифровывал и продолжает вести проект в головном офисе (мы, типа, филиал).

Для затравки кратко перечислю, некоторые "ачонетак-то":

- форматирование полоски с основными разделами (маркетинг, деньги, зарплата - вот это вот всё): иконки по центру ячейки, а надпись по верхнему краю - неужели нельзя было определиться у вас "подоконник вровень или выпирает"?

- почему в разделе "Бизнес процессы, проекты" собственно проектов и нет, и вкрутить их туда, типа, активацией кнопки нельзя.

- почему в календаре можно сделать только продаванческие задачи и нельзя просто поставить задачу подчиненному (Аутлук и Лотус Нотес для кого ночей не спали, а?)

Чего-то я устал... Подробнее и с картинками напишу, наверное, позже, а то давление поднимется. И не надо мне картинки со Знаменским кидать.

З.Ы. Вспомнил! Самая главная претензия: какого лешего база не реляционная?! Почему всем приходится терпеть этот бардак с невозможностью отнести единицу номенклатуры к разным категориям?!

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

Ответ на пост «Прошу помощи с настройкой EAPS»1

Посту уже год, может аффтар решил проблему. Но если вдруг кто не вкурил, конкретно про настройку кольца на коммутаторах OSNOVO (самый простой вариант):

(все операции делаем на каждом!!! коммутаторе, находящиеся в кольце)

1. Топаем на страницу Industrial Switch Monitoring - в разделе Ring Control выбираем On, далее внизу таблицы жамкаем Apply

2. Ждем несколько секунд (коммутатор задумается в этот момент, может даже временно не пинговаться), проверяем на той же странице Industrial Switch Monitoring раздел Ring Status - должен быть Running

3. Топаем в раздел MSTP Configuration / Port Information. В правом крайнем столбце Force-Version проверяем значения. По умолчанию, Osnovo устанавливает MSTP. Так как чаще всего всем лень шпили-виллить с настройками конкретных VLANs (особенно если их дофига), отказываемся от MSTP - для этого в том же разделе переходим в Port Configuration и выбирая каждый порт по отдельности, меняем в ячейке Force-Version на RSTP (более продвинутая версия STP). Ессно, не забываем жамкать Apply для каждого порта.

После всех действий проверяем что все получилось (см. начало этого пункта)

4. Топаем в System Configuration / Save Current Configuration, там мы должны увидеть вот такие строки:

!

spanning-tree mst enable

!

interface ge1/1  (или 1/2, 1/3 и т.д.)

spanning-tree mst force-version 2

!

industry ring-control on

Жамкаем Save для сохранения конфигурации (чтобы после перезагрузки коммутатор поднимал эти настройки).

Вуаля! Кольцо настроено и работает. Можете проверять.

Примечание: как уже было написано другими комментаторами, если не нужны более тонкие настройки (переключение в миллисекундах, распределение трафика по виланам и др.), то данной настройки достаточно. Для видеонаблюдения точно (от того, что вы потеряете секунду-две изображения при переключении плечей кольца, страшного не случится)

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

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

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

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

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

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
Отличная работа, все прочитано!