tgindex

ServerAdmin.ru

описание

Авторская информация о системном администрировании. Информация о рекламе: @srv_admin_reklama_bot Автор: @zeroxzed Второй канал: @srv_admin_live Сайт: serveradmin.ru Ресурс включён в перечень Роскомнадзора

32 510
подписчиков
Охват к подписчикам
20,4%
ERR
Реакции к просмотрам
1,06%
3 880 на 50 постов
Пересылки к просмотрам
1,25%
4 564
Постов в день
1,4
всего 281

Где отзываются чаще

доля реакций к просмотрам
  • 15 июн.На днях словил неприятное ощущение холодка, пробежавшего по спине, когда не смог запустить KeePass со своими паролями. А у меня там практически всё самое важное хранится. Сама программа со всеми настройками и зашифрованной базой паролей лежит на Яндекс.Диске. У меня эта схема заведена уже лет 10, может больше. И вот при запуске программы я получаю ошибку: "Том для открытого файла был изменён извне, поэтому работа с этим файлом невозможна". Текст неинформативен. Сразу почитал поисковики и ИИ на эту тему. Конкретики нет, обычно ошибка связана с хранением данных на съёмных носителях и их повреждением. Ну, думаю, ладно. Наверное что-то сломалось в момент синхронизации. Посмотрю в другом месте. У меня как минимум 3 активные копии этой директории диска, плюс бэкапы. Захожу на ноутбук, за которым работал накануне и там запускал KeePass. Подумал, что после работы на нём у меня на компьютер переехала повреждённая копия из-за каких-то проблем синхронизации. Но на ноутбуке она точно живая, вчера я её запускал. Не должна поломаться. Гружу ноутбук, запускаю, а там та же ошибка. Тут я уже напрягся, потому что история принимает неприятный оборот. На ноутбуке самая актуальная версия. Вчера работала - сегодня нет. При этом файлы не менялись. В корзине диска ничего нет. Гружу виртуалку, которая периодически скачивает для бэкапа к себе данные, потом выключается. То есть она не висит запущенной в режиме реального времени. Последних изменений там нет, которые могли произойти на ноутбуке и сломать работу. Там должна быть гарантированно работающая версия. Запускаю её и вижу ту же ошибку. Я уже серьёзно напрягся, потому что ситуация совершенно непонятна. Как может не работать версия программы, которая ещё недавно работала? Свежие изменения, которые теоретически могли её поломать, туда просто не приехали. А та версия, что есть, ещё недавно нормально работала. Скачиваю чистую версию KeePass с сайта, как я обычно делаю при обновлении, и подкидываю туда по привычке 3 файла: ◽️KeePass.config.xml - настройки; ◽️KeePass.exe.config - конфиг экзешника; ◽️baza.kdbx - база с паролями. Запускаю программу и опять получаю эту же ошибку. Тут я уже начинаю паниковать, потому что не понимаю, как мне теперь увидеть пароли. Это, конечно, не трагедия, потому что как минимум пароли ключей и email я знаю наизусть, а в связке с телефоном они позволяют всё восстановить, но тем не менее, это огромный труд. Там сотни паролей от серверов и сервисов. Всё это сбрасывать - мрак. Поднимаю бэкап от конца марта, запускаю, работает. Как минимум всё сбрасывать не придётся. Немного успокоился и стал соображать. Запустил чистую версию без своих настроек - работает. Подкинул базу паролей - открывается. ОТЛЕГЛО. Лёг спать, потому что уже поздно было. Я бы не уснул, если пароли не увидел. Утром выяснил, что проблема с файлом KeePass.exe.config, который в актуальной версии почему-то пустой, нулевого размера. В бэкапе от марта в нём есть данные, как и в архиве с сайта. В этом файле хранятся настройки экзешника. Там в том числе указано, с какой версией .NET Framework работает KeePass. Причиной моих проблем, судя по всему, стало последнее обновление Windows, которое я установил на всех устройствах, где запускал KeePass и получал эту ошибку. Точно помню, что там маячили уведомления о перезагрузке и установке обновлений, что я и проделал. Это обновление то ли каким-то образом обнулило этот файл, то ли сделало невозможным запуск без информации в этом файле, которая раньше не требовалась. Первый раз столкнулся с проблемами KeePass. Очень много лет им пользуюсь, и всегда всё работало чётко. Эта история заставила пересмотреть подход к хранению паролей. Вывода сделал два: 1️⃣ Основная рабочая директория должна располагаться не на Яндекс.Диске, а копироваться туда после изменений. 2️⃣ Периодически надо делать выгрузку паролей из программы, упаковывать их в шифрованный архив и хранить отдельно. ❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки. ——— ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩 #password3,75%
  • 31 июл.без подписи3,35%
  • 22 июл.без подписи2,45%
  • 8 июн.без подписи2,43%
  • 10 июн.без подписи2,37%
  • 11 авг.Расскажу про некоторые системы, которые ранее уже упоминал на канале, но в качестве обзора или начального впечатления. Сейчас я с ними уже поработал на своей инфраструктуре, мне они понравились, я их изучил и оставил в работе, так что могу дать более осмысленное описание. Меня иногда спрашивают, зачем домой покупать сервера, что-то настраивать, на работе этого хватает. Скажу конкретно за себя. Для меня это тоже часть работы, перемешанная с хобби. Мне это и нравится, и приносит пользу в рабочих делах. Я взаимодействую с разными компаниями, у меня нет какой-то одной, где бы я работал и мог что-то разворачивать, проверять. Мне удобнее это делать дома, поэтому я там развёл зоопарк различных систем, без которых можно обойтись, но мне нравится ими заниматься. Плюс, это приносит пользу основной деятельности, как по настройке инфраструктур, так и ведения этого канала. Получается симбиоз различных дел в единую продуктивную деятельность. 🔹Начну с PatchMon - система для отслеживания обновлений на серверах. Я ей постоянно пользуюсь. Очень удобно, хоть это и плюс ещё одна панель управления со своим агентом на хостах. Поддерживает, как Linux, так и Windows. На винде от неё толку почти нет. Ставить ничего не умеет, только отслеживает наличие обновлений как системы, так и программ. Некоторые программы с русскими названиями криво отображаются. Программы Windows и пакеты Linux перемешиваются в общем списке пакетов. Мне не очень понравилось. Винду туда добавлять не рекомендую. А вот для систем на базе ОС Linux очень удобно. Можно зайти в список серверов и быстро посмотреть, есть ли какие-то обновления, какие из них критичные и связанные с безопасностью, а какие обычные. Можно тут же обновить конкретный сервер или все разом. Перед обновлением можно прогнать проверку в режиме dry-run, посмотреть, нет ли каких-то проблем с зависимостями и в целом работы apt. Если всё в порядке, можно тут же сразу запустить обновление и наблюдать за ним в консоли через браузер, либо запланировать на какое-то определённое время. Тут получается и автоматизация, и ручной контроль. Два в одном. Как захочешь, так и будет. Можно бахнуть сразу все обновления, а можно аккуратно обновить всё по очереди. Если каким-то серверам нужна перезагрузка, это будет отображено в панели. Эта функциональность немного глючит и не всегда правильно отображает состояние. Она проверяет самую свежую версию установленного пакета с ядром с текущим работающим ядром. Если отличаются, говорит, что надо перезагрузиться. 🔹Видеорегистратор Frigate. Для меня это стало игрушкой, которая жрёт ресурсы сервера и моё время. Она много всего умеет за счёт встроенных llm моделей. Благодаря им работает распознавание лиц, некоторых объектов, номеров машин, семантический поиск. Она умеет отслеживать состояние объектов. Например, я с её помощью отслеживаю состояние детской песочницы - открыта / закрыта. Если забыть закрыть, могут коты приходить и гадить, поэтому приходится отслеживать и не забывать закрывать. Я настроил во Frigate распознавание лиц всех членов семьи. Сейчас занимаюсь настройкой отслеживания, кто где есть. Практической пользы в этом нет, но мне нравится этим заниматься. Модели надо вручную обучать, маркируя представленные кадры в качестве образцов. Программа сложна в настройке и неочевидна. Так что это не решение из разряда поставил и забыл. Но возможности очень хорошие. Не знаю, где ещё всё это есть, да ещё и бесплатно. 🔹Фотогалерея Immich. Я про неё уже много писал. Наигрался с настройкой. Отмечу одну очень полезную фишку мобильного приложения. Мало того, что оно просто все медиа отправляет на сервер, можно выбрать дату, начиная с которой с телефона все медиа будут удалены, при условии, что они хранятся на сервере. Это очень упрощаются очистку телефона от переполненной галереи. Одним кликом всё очистил, но при этом все фотки доступны для просмотра с сервера, как-будто они у тебя локально. Очень удобно. ❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки. ——— ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩 #linux2,27%
  • 12 авг.На днях прочитал любопытную статью на хабре на тему переезда с облачных услуг на свои локальные в офисе: Keycloak, Mailcow, Mattermost, GitLab Self-Managed, Jira, Confluence, Nextcloud, Vaultwarden. ⇨ https://habr.com/ru/articles/1066990/ Так как я большой специалист по настройке и обслуживанию такого рода костылей, то не смог пройти мимо и не прокомментировать, чтобы у вас не было соблазна так же считать затраты и повторять. Автор посчитал стоимость услуг виртуального офиса с почтой и файлами от mail.ru для 30-ти человек и сравнил с собственным самосборным сервером. У него получилось, что свой - это очень выгодно и дёшево. Затраты были такие: ▪️Сервер (CPU 16/32, 64 ГБ DDR5, 2 ТБ SSD, 2 ТБ HDD под бэкапы) ~140 т.р.; ▪️Онлайн ИБП ~25 т.р. Итого: ~165 000 ₽ единоразово. Выглядит, как очень выгодная миграция. Первое, что бросается в глаза - полное игнорирование затрат на работу специалиста. Эти затраты будут выше железа. Но ладно, опустим это. Пройдусь только по инфраструктуре. Судя по ценам, это самосбор на десктопном железе. Одиночный SSD диск без какой-либо избыточности данных в виде хоть какого-то уровня рейда. Второй диск для бэкапов. Сразу мысленно представляем себе ситуацию, что у нас что-то ломается в этом "сервере". Даже при условии живых бэкапов, нам некуда их восстановить. Надо срочно бежать и искать новый "сервер". А в это время 30 человек получают зарплату и ничего не делают, так как все сервисы легли. Когда подобное считаем, сразу закладываем 2 сервера. Это без вариантов. Так как у нас не было подменного железа, то вероятность, что бэкапы живые не 100%. Очень далеко не 100%. Я был свидетелем массы ситуаций, когда бэкапы не проверялись восстановлением и по факту не были живыми. Тем более, если это бэкапы виртуальных машин. Ты делаешь восстановление, а у тебя в процессе какая-то ошибка. И всё, приплыли. Даже у меня на канале сколько историй было, когда не получалось просто так взять и восстановить виртуалку из бэкапа. Особенно если она тяжелая 200-400ГБ и больше. А почта запросто разрастается до больших объёмов. Сразу закладываем расходы на инфру для проверки бэкапов. Далее рассмотрим бюджетный ИБП за 25 т.р. Подобные устройства глючат ещё чаще, чем отключают электричество. Там то аккум сдохнет, то устройство статус не передаёт, то от него УЗО срабатывает, то он просто внезапно отключается. Самое печальное, если это случится в выходные или праздники, когда какому-нибудь удалёнщику нужно срочно что-то сделать. Если у вас сервис, вы пишите в тех. поддержку, если своё - выезжаете разбираться сами. Переходим к удалённой работе. Сейчас рабочие процессы многих компаний выстроены так, что нельзя просто уйти в 19 часов с работы и всё забыть. Люди постоянно работают удалённо, подключаются к ресурсам чтобы что-то проверить, быстро сделать и т.д. Надо, чтобы связь была стабильна и надёжна. В бизнес центрах, к примеру, в новогодние праздники любят всякие работы проводить с отключением электричества или интернета. Регулярно с этим сталкиваюсь. Соответственно, весь ваш офис недоступен. А если потом что-то не включится, кому-то придётся ехать и включать. У вас скорее всего будет только один канал интернета, и хорошо, если он будет работать стабильно. Это не факт, всякое бывает. Он ещё может быть очень дорогим, а это тоже расходы, которых могло не быть, если бы в офисе ничего тяжёлого не хранилось. Это я так, по верхам только по железу прошёлся. По софту в этой связке будет очень много нюансов в процессе эксплуатации, обновления и решения проблем, связанных с этим. Они будут 100% с временной не работой того или иного сервиса. Я просто всё это знаю, проходил, решал. ☝️Я не хочу сказать, что своё поднимать не надо, а надо арендовать. Это решаемые задачи, и я их в том числе успешно решаю. Но нужно хорошо понимать стоимость этих решений и риски. Где-то они выгодны и актуальны, а где-то нет. У меня есть компания, где все эти сервисы настроены локально, а есть, где всё арендуются, потому что своё получается дороже. ——— ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩 #железо2,26%
  • 16 июл.без подписи2,20%
  • 28 июл.LLM со всеми их огромными возможностями стремительно и плотно входят в нашу жизнь, так что игнорировать их категорически противопоказанно, если вы хотите оставаться востребованным специалистом. Даже если вам кажется, что на текущий момент они вам ничем не помогут, скорее всего вам кажется. Пробуйте, изучайте, находите применение. Покажу на примере, как можно взаимодействовать с Proxmox VE с помощью LLM и Proxmox MCP Server. Думаю, на этой фразе у многих возникает вопрос, как можно ИИ дать доступ к своему кластеру. Вдруг поломает что-нибудь. С этим нет особых проблем, так как доступ будет через токен, которому можно добавить права PVEAuditor и кроме как читать информацию, он больше ничего не сможет сделать. А если вы поверите в ИИ и себя, то можно и расширить. Показываю сразу бесплатную рабочую конструкцию, которую вы можете повторить у себя и попробовать. Я буду использовать консольного агента opencode и одну из его бесплатных моделей. Если у вас есть своя, можете подключить её. Всё выполняю в тестовом окружении. В прод уже сами подумаете, как вам лучше всё это развернуть. 1️⃣ Устанавливаете opencode. 2️⃣ Создаёте директорию для проекта, например, PVE. # mkdir ~/PVE 3️⃣ Клонируем себе MCP Server: # git clone https://github.com/GethosTheWalrus/proxmox-mcp 4️⃣ MCP написан на python, поэтому нужно установить uv со всеми зависимостями для запуска. Если не хотите этого делать, то можно запустить mcp в docker. # curl-LsSf https://astral.sh/uv/install.sh | sh # cd proxmox-mcp # uv sync 5️⃣ Проверяем запуск: # uv run proxmox-mcp-server Нe должно быть ошибок. Закрываем по Ctrl+C. 6️⃣ Создаём в Proxmox токен, привязываем к пользователю, назначаем права. 7️⃣ Добавляем MCP в конфигурацию opencode в файле ~/.config/opencode/opencode.json: "mcp": { "proxmox": { "type": "local", "enabled": true, "command": [ "uv","--directory", "/root/proxmox-mcp", "run", "proxmox-mcp-server" ], "environment": { "PROXMOX_HOST": "192.168.177.101", "PROXMOX_PORT": "8006", "PROXMOX_USER": "root@pam", "PROXMOX_TOKEN_NAME": "mcp", "PROXMOX_TOKEN_VALUE": "d5dk27-2ced-96a1cdd", "PROXMOX_VERIFY_SSL": "0" } } } 8️⃣ Проверяем, подключился ли сервер: #opencode mcp listn ┌ MCP Servers │ ● ✓ proxmox connected │ uv --directory /root/proxmox-mcp run proxmox-mcp-server │ └ 1 server(s) 8. Переходим в папку проекта и запускаем opencode: # cd ~/PVE # opencode Выбираем доступную модель. Если не подключали свою, то можете выбрать одну из бесплатных. Они помечены меткой Free. Теперь запросы к PVE кластеру можно делать человекоподобным языком. Приведу полезный практический пример: Выведи IP адреса виртуальных машин на ноде Proxmox srv-admin. Можно не указывать конкретную ноду, а сначала сделать запрос к кластеру и попросить показать все ноды. В ответ на запрос агент выведет какой-то список. Возможно он вам будет неудобен. Через несколько уточнений вы можете получить удобную таблицу. Чтобы каждый раз не получать разные таблицы, можно тут же попросить агента запомнить формат. Агент в папке проекта создаст файл AGENTS.md и опишет структуру таблицы. Последующие похожие запросы IP адресов будут сразу иметь удобный формат. На картинке снизу таблица, которую я собрал на тестовом сервере, где есть машины с Kubernetes и Docker. Добавил туда все интересующие интерфейсы и исключил те, что не нужны. Получилось очень наглядно. Если кластер большой, то такой простой запрос может быть очень полезен, когда надо быстро что-то найти или разобраться. Описанный MCP может очень много всего делать. Если у вас тестовый кластер, то можете обкатать автоматизацию по созданию, удалению окружений с полными настройками хранилищ, сетей и т.д. И не забывайте, если что-то не понятно, не получается, не знаешь, как делать, спрашивай того же агента. Он всё расскажет, если разрешить, то и настроит. Но с последним аккуратно. А то он такого может настроить. ❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки. ——— ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩 #proxmox #ai #opencode2,19%
  • 22 июн.Не так давно переносил старую виртуалку с Asterisk на другой гипервизор. Конкретно с Hyper-V перекинул на Proxmox. Всё перенеслось корректно, но на новом месте не стартовал Asterisk. Просто падал при запуске с неинформативной ошибкой в системных логах. Оставлю примеры ошибок, чтобы обучить ИИ, или помочь тому, кто через поиск придёт: kernel: traps: asterisk[56183] trap invalid opcode ip:7fdba37acec6 sp:7ffd14936730 error:0 in codec_lpc10.so[7fdba37a8000+d000] kernel: traps: asterisk[19509] trap invalid opcode ip:5c6182 sp:7ffed7e3b100 error:0 in asterisk[400000+27e000] Я сразу узнал эту ошибку, потому что раньше много работал с Asterisk. Для интереса закинул её в ИИ, он много всего насоветовал, но простого решения не предложил. Содержание ошибки в каждом конкретном случае может быть разное в зависимости от того, кто будет виновник падения - основной процесс asterisk или один из его модулей. От этого будет плясать и ИИ - будет предлагать модули отключать, инструкции процессоров сравнивать и т.д. А смысл тут вот в чём. Asterisk чаще всего при установке собирают из исходников. Я не знаю почему, но так исторически сложилось. Бегло посмотрел в поиске актуальные инструкции - там по прежнему собирают из исходников. Так вот, при сборке по умолчанию компилятору добавляется флаг с оптимизацией под конкретный процессор, где она происходит. При переезде виртуалки на другой процессор с большой долей вероятности что-то не совпадёт по инструкциям или чем-то ещё и Asterisk не запустится. Когда я первый раз с этим столкнулся лет 10 назад, долго мучался, пока не понял, в чём тут дело. Чтобы решить эту проблему, надо пересобрать ещё раз этот же Asterisk из исходников, но на новом месте с новым процессором. И в меню, которое запускается перед компиляцией командой menuselect, выбрать пункт DONT_OPTIMIZE. Тогда этой проблемы не будет в будущем при новом переезде или репликации. ☝️ И ещё, мой вам совет. Если у вас нет опыта с voip, а вам падает задача на эту тему, особенно на своём сервере, лучше каким-то образом соскочите с неё. Это особая область знаний, где очень много нюансов и подводных камней. С наскока туда не заскочить, надо много времени тратить на изучение и погружение. Я в своё время занимался этим, изучал всё сам с нуля, но в итоге бросил. Очень много времени и нервов уходило на решение задач. Если ты постоянно не погружён в эту тему, то будет тяжело. Подобные вещи лучше отдавать на аутсорс специалистам, которые на этом специализируются. ——— ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩 #asterisk2,14%
  • 1 июл.без подписи2,08%
  • 5 авг.Я себе настроил дома для личных нужд сервер на Xpenology. Прошло уже больше месяца, в настройки лазить перестал, так что можно подвести некоторые итоги и поделиться с вами информацией. Для тех, кто не знает, что такое Xpenology, поясню - это копия операционной системы Synology DiskStation Manager (DSM), которую можно установить только на устройства этой же компании. Проект Xpenology ничего не меняет в оригинальной ОС, а только запускает её практически на любом железе. Я долго думал, как всё организовать. У меня было 4 диска по 3ТБ и 3 диска по 2ТБ. Всего 7 дисков. Вариантов установки, из которых выбирал, было 3: 1️⃣ Установить PVE, туда виртуалку с Xpenology, пробросить к ней диски напрямую. Я подозревал, что это так себе вариант, потому что наблюдал при пробросе дисков напрямую, что они как-то нестабильно работают. Стараюсь избегать таких схем. А тут целых 7 дисков. Знакомый подтвердил, что это реально будет глючить, так как он пробовал. Но он же предложил другой вариант. Купить рейд контроллер, который умеет передавать в систему диски напрямую, и пробросить уже его. Это работает стабильно, Xpenology увидит напрямую диски и будет с ними работать, как обычно. Такие контроллеры на Авито стоят 2-4 т.р., работают нормально. У меня такой есть (LSI Logic SAS 9207-8i в HBA pежиме IТ-mоde) для ZFS, трудится, хороший аппарат. 2️⃣ Купить рейд контроллер и установить Xpenology напрямую на железе. Изначально склонялся к этому варианту. PVE рассматривал, потому что привык всё держать на гипервизорах, а не на железе. Но тут получается такая жирная виртуалка, которая 100% не будет бэкапиться целиком и куда-то переезжать, так что смысла в гипервизоре нет. 3️⃣ Подключить все диски напрямую к материнской плате и установить на неё Xpenology. У меня была материнская плата с 8 SATA портами. Мне хватает, ещё один порт про запас остаётся. Остановился в итоге на этом варианте, как самом простом и надёжном. Если бы использовал 2-й вариант, то теоретически можно было бы подключить больше дисков, но практически больше 8-ми я вряд ли поставлю. Этих и так хватает, а дополнительные очень дорогие. Есть несколько разных способов установить Xpenology. Я выбрал загрузчик Arc Loader. Это сейчас самый простой и распространённый вариант. Записал образ на флешку, загрузился с него и там всё настроил. Далее устанавливается оригинальная Synology DiskStation Manager. Настройки и использование ничем не отличается от оригинальных устройств Synology. Я сразу же снял посекторный образ флешки, сохранил его и записал на ещё одну флешку. Убедился, что со второй флешки тоже всё грузится. Эту операцию нужно будет проделывать каждый раз при обновлении загрузчика (не системы). Это происходит нечасто. Прошлую Xpenology вообще ни разу не обновлял после установки в течении 13 лет. Нормально отработала. Даже флешка не умерла, хотя под конец иногда подвисала при загрузке. Диски можно было бы объединить в один общий массив с помощью технологии Synology Hybrid RAID (SHR). Не стал так делать, показалось не слишком надёжным на таком количестве разных дисков. Собрал в итоге с помощью того же SHR два массива из одинаковых дисков. По факту там собирается RAID5 средствами MDADM и поверх файловая система BTRFS. Выбрал всё же SHR, потому что эта технология позволяет потом добавлять диски бОльшего объёма и постепенно заменять старые. Это удобно и задел на будущее. Я знаю, что сейчас многие переживают по поводу RAID5, якобы это ненадёжно. Для холодных данных я в проде постоянно использую RAID6, иногда RAID5, если дисков мало. У меня была куча ребилдов. На практике я не сталкивался с проблемами. Диски все до 6ТБ. С более объёмными не работал. Так что каких-то повышенных рисков на ребилдах лично я не наблюдал. Xpenology использую в основном как непосредственно сетевое хранилище, torrent клиент и в качестве сервера мультимедиа для телевизоров. Мне нравится их стандартный пакет для этого за его простоту и удобство. Кинул фильм в папку мультимедиа и пошёл смотреть на телевизоре. ——— ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩 #fileserver1,61%