⚡ PowerShell: Ищем «тяжелые» файлы быстрее, чем проводник
Когда на диске Windows Server внезапно заканчивается место, стандартный поиск Windows — это мучение. 🐌 Через PowerShell можно выудить список самых больших файлов за считанные секунды и сразу отсортировать их.
Полезный скрипт для поиска ТОП-10 тяжеловесов:
Фишка: Параметр -ErrorAction SilentlyContinue позволяет скрипту не спотыкаться на системных папках, куда у админа нет доступа, и продолжать поиск. Вывод в гигабайтах сразу дает понять масштаб бедствия. 📈
#windows #powershell #sysadmin #storage #cleanup #automation 🧹
Когда на диске Windows Server внезапно заканчивается место, стандартный поиск Windows — это мучение. 🐌 Через PowerShell можно выудить список самых больших файлов за считанные секунды и сразу отсортировать их.
Полезный скрипт для поиска ТОП-10 тяжеловесов:
# Ищем файлы больше 500Мб в папке C:\Shares
$path = "C:\Shares"
Get-ChildItem -Path $path -Recurse -File -ErrorAction SilentlyContinue |
Sort-Object Length -Descending |
Select-Object Name, @{Name="Size(GB)";Expression={$_.Length / 1GB}}, Directory |
Select-Object -First 10 |
Format-Table -AutoSize
Write-Host "📊 Сканирование завершено. Время чистить диски!" -ForegroundColor Cyan
Фишка: Параметр -ErrorAction SilentlyContinue позволяет скрипту не спотыкаться на системных папках, куда у админа нет доступа, и продолжать поиск. Вывод в гигабайтах сразу дает понять масштаб бедствия. 📈
#windows #powershell #sysadmin #storage #cleanup #automation 🧹
✍1👍1🔥1👏1
💿 Windows Storage: Как вычислить «паршивую овцу» в дисковом массиве?
Бывает, что сервер или кластер (S2D) начинает безбожно тупить, но все статусы светятся зеленым «Healthy». В 90% случаев проблема в одном диске, который еще не сдох, но уже «тормозит» весь массив огромными задержками (latency). 🐌
Стандартный мониторинг это часто пропускает, поэтому лезем под капот к счетчикам надежности (Reliability Counters).
🛠 Скрипт для поиска проблемных дисков:
📊 Как читать результат (нормативы):
1. Read/WriteLatMax_ms: Это пиковая задержка в миллисекундах.
* SSD: Норма до 20ms. Пики > 50ms — повод напрячься. ⚡
* HDD: Норма до 200ms. Пики > 1000ms (1 сек) — диск «умирает» или перегружен. 🐢
2. Read/WriteErrors: В идеальном мире здесь должен быть 0. Любое число больше нуля — это ошибки чтения/записи. Пора проверять кабели, бэкплейн или готовить замену диску. 🛠
💡 Когда запускать?
* Когда SQL или 1С начинают «фризить» без видимых причин. 📉
* При регламентном объезде серверов раз в месяц.
* Если диск периодически отваливается из RAID-массива.
Этот скрипт — твой рентген для дисковой подсистемы. Сохраняй в шпаргалки! 📝
#windows #powershell #storage #sysadmin #troubleshooting #s2d #hardware 🛡
Бывает, что сервер или кластер (S2D) начинает безбожно тупить, но все статусы светятся зеленым «Healthy». В 90% случаев проблема в одном диске, который еще не сдох, но уже «тормозит» весь массив огромными задержками (latency). 🐌
Стандартный мониторинг это часто пропускает, поэтому лезем под капот к счетчикам надежности (Reliability Counters).
🛠 Скрипт для поиска проблемных дисков:
Get-PhysicalDisk | ForEach-Object {
$disk = $_
$stats = $disk | Get-StorageReliabilityCounter
# Пытаемся выцепить имя узла (актуально для кластеров)
$NodeName = "Unknown"
if ($disk.FriendlyName -like "*.*") {
$NodeName = $disk.FriendlyName.Split(".")[1]
}
[PSCustomObject]@{
Node = $NodeName
Model = $disk.Model
MediaType = $disk.MediaType
SerialNumber = $disk.SerialNumber
# Конвертация: 100 наносекунд -> миллисекунды
ReadLatMax_ms = [math]::Round($stats.ReadLatencyMax / 10000, 2)
WriteLatMax_ms = [math]::Round($stats.WriteLatencyMax / 10000, 2)
ReadErrors = $stats.ReadErrorsTotal
WriteErrors = $stats.WriteErrorsTotal
}
} | Sort-Object WriteErrors, WriteLatMax_ms -Descending | Format-Table -AutoSize
📊 Как читать результат (нормативы):
1. Read/WriteLatMax_ms: Это пиковая задержка в миллисекундах.
* SSD: Норма до 20ms. Пики > 50ms — повод напрячься. ⚡
* HDD: Норма до 200ms. Пики > 1000ms (1 сек) — диск «умирает» или перегружен. 🐢
2. Read/WriteErrors: В идеальном мире здесь должен быть 0. Любое число больше нуля — это ошибки чтения/записи. Пора проверять кабели, бэкплейн или готовить замену диску. 🛠
💡 Когда запускать?
* Когда SQL или 1С начинают «фризить» без видимых причин. 📉
* При регламентном объезде серверов раз в месяц.
* Если диск периодически отваливается из RAID-массива.
Этот скрипт — твой рентген для дисковой подсистемы. Сохраняй в шпаргалки! 📝
#windows #powershell #storage #sysadmin #troubleshooting #s2d #hardware 🛡
👍3🔥1👏1