ServerAdmin.ru
31.3K subscribers
669 photos
55 videos
22 files
2.87K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru

Регистрация в РКН: https://vk.cc/cG1Urj
Download Telegram
2️⃣ Под вашим управлением больше всего серверов какой операционной системы?
Anonymous Poll
32%
Windows 💻
67%
Linux 🐧
1%
*BSD 👹
1%
Другая
👍25👎3
3️⃣ Если на серверах у вас ОС на базе Linux, то в основном какой это дистрибутив?
Anonymous Poll
40%
Debian 🖥
35%
Ubuntu 🖥
11%
Форк RHEL (Rocky, Alma, Oracle и т.д.)
11%
Один из российских дистрибутивов
4%
Другой
👍25👎2
4️⃣ Если дистрибутив на базе Linux российский, то какой именно?
Anonymous Poll
41%
Astra
19%
Alt
1%
Rosa
17%
Red OS
1%
Calculate
21%
Другой
👎68👍23
Делюсь с вами одним необычным сервисом. Не знаю, кому и где он может пригодиться на практике. Я его увидел несколько лет назад в комментариях, сохранил на память и только сейчас к нему вернулся.

https://dnsdumpster.com (сайт за CloudFlare)

Сервис рисует схему основного домена и всех известных поддоменов. Не знаю точно, откуда он их берёт, но скорее всего по списку выпущенных сертификатов. Именно он есть в публичном доступе. Также результат можно выгрузить в xlsx.

С помощью этого сервиса можно быстро оценить инфраструктуру какого-то домена или проекта. Ниже картинки на примере домена habr.com. Сразу видно основную структуру и то, что она вся закрыта защитой QRATOR, кроме одного домена promo.habr.com. Это что вообще такое 😳 Где хабр, и где промокоды?

Можете себя так периодически проверять, не торчит ли что-то лишнего наружу.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#dns #сервис
51👍173👎3
▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал интересными/полезными. Это видео из моих подписок за последнее время (обычно беру период в 2 недели), что мне понравились.

Newrelease - сервис слежения за релизами
Обзор сервиса Newrelease, про который я ранее писал. Удобный сервис, я им пользуюсь с тех пор.

Manage Checkmk IT monitoring in Ansible
Большое видео на тему разворачивания мониторинга Checkmk на хосты с помощью Ansible. Я делал несколько заметок на тему этого мониторинга. Он необычный, не похож ни на Zabbix, ни на Prometheus и им подобные. Это далёкий форк Nagios, но уже очень сильно изменённый. В целом, мне он понравился, но лично я уже давно прикипел к Zabbix, а Checkmk ближе к нему, нежели к Прометеусу. Так что лично я не нахожу ему применение. Если вам не нравится Zabbix, то в качестве мониторинга инфраструктуры можно рассмотреть Checkmk.

Git - Как решать Конфликты merge и rebase в Git и GitHub
Наглядное видео на тему того, как корректно объединить изменения в Git от разных разработчиков, когда они меняют одни и те же строки в файлах.

11-Drive Mini Monster NAS! Aoostar WTR Max Review
Обзор необычного NAS, в который можно установить 6 3,5" дисков и 5 M.2. Глянул, сколько это стоит. На сайте производителя - $699, у нас на Авито – 73-75 т.р. Выглядит впечатляюще. Для такой необычной железки вроде и не очень дорого, но как представишь, сколько ещё за диски надо отдать и становится уже дороговато.

Форум самохостят запущен - добро пожаловать!
Автор проекта Самохостинг, видео которого я не раз публиковал в подборке, открыл свой форум, будет развивать и поддерживать. У кого ностальгия по форумам, можете почитать. Я не знаю, насколько жизнеспособен проект по новому форуму в наше время. Будет интересно посмотреть на результат. У меня такой взгляд на это. Качественные материалы скорее всего кроме владельца никто писать не будет. А для самого автора есть форматы более удобные, чем темы на форуме.

The top 5 open source email clients you should know about
Обзор open source почтовых клиентов: Geary Mail, Thunderbird, Evolution, KMail, Snappymail, Roundcube. Я их в принципе все знаю, но в качестве быстрого обзора видео неплохое. Для десктопа я предпочитаю Thunderbird, для веб клиента - Roundcube.

Cypht - Web Mail Agent. ВСЕ E-Mail со ВСЕХ аккаунтов в ОДНОМ месте
Обзор ещё одного веб клиента для почты. Я его в своё время пробовал и писал обзор. Меня лично он не особо впечатлил. После просмотра этого обзора мнение не поменял.

Building a static website in Markdown with Hugo
Сейчас стали популярны движки для личных блогов на основе генератора статических страниц. Часто их встречаю. Автор сделал подробный обзор одного из таких движков - Hugo. Он один из самых популярных, если не самый. Я бы честно говоря тоже переехал своим сайтом на что-то подобное, но для меня это просто нереально. Огромный объём старого материала, который перевести в новый формат для меня непосильная задача. Так что буду сидеть на Wordpress.

Простой способ установки MacOS в Proxmox
Если вам интересно посмотреть на MacOS, то можете без особых проблем установить её в виртуальную машину. Я в своё время делал это и даже статью писал. Без проброшенной поддерживаемой видеокарты всё это работает так себе, чисто посмотреть, что это такое. Работать нормально в этом системе не получится. Очень тормозит интерфейс.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#видео
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍48👎3
Я пользуюсь ноутбуками последние 11 лет постоянно. У меня в разное время были разные подставки. В основном такие здоровые, чёрные платформы, на которые ноутбук устанавливается полностью и есть возможность его немного наклонить для более удобного набора на клавиатуре.

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

Подставка простая, относительно лёгкая, можно носить с собой. Я её использую исключительно при подключении внешнего монитора. С её помощью удобно иногда использовать ноут как второй монитор. Делаю это нечасто, мне одного основного хватает.

С такой подставкой банально удобнее ноут ставить и подключать, под ним остаётся свободное место. Актуально, если стол небольшой. В самом нижнем положении можно использовать ноутбук без внешнего монитора, для более комфортного набора текста и подъёма экрана ноутбука повыше. Как я уже сказал, сделать это можно только в самом нижнем положении. Если поднять выше, как на картинке, то конструкция становится неустойчивой, печатать неудобно.

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

Но основное его удобство не в этом. Он очень-очень тяжёлый. Причём не только столешница, но и стенки, на которых она стоит. Первый раз работаю за таким массивным столом. И это очень удобно. У меня в планах купить всем детям столы с подъёмным механизмом, чтобы можно было подстраиваться под рост детей. Основное неудобство таких столов - они не очень устойчивые. Как ни крути, но большую мощную столешницу проблематично поставить на динамическую подставку. В верхнем положении она может стать неустойчивой.

В планах заказать Ergostol. Уже записался к ним на следующей неделе в шоурум в Москве. Нужны 3 больших стола. Хочу их всё же посмотреть перед заказом. Если выбираете себе стол, то обязательно обращайте внимание на его вес. Чем он тяжелее, тем удобнее за ним работать. У меня существующий стол с подъёмным механизмом по весу средний. Когда сложен, нормально. Но когда поднимаешь и активно печатаешь, начинает немного трястись всё.

Если у кого-то есть Ergostol, поделитесь впечатлением. Или посоветуйте бренд стола с подъёмным механизмом, который есть в размерах 2 и 2,2 м. в ширину, если пользуетесь подобным. Можно, конечно, отдельно заказать механизм и столешницу, но не хочется этим заниматься. Забот и так много, не хочется ещё столы самому собирать.

#железо
2👍114👎1
Китайцы живут в условиях санкций и ограничений уже десятки лет. Накопили большой опыт в их обходе. Вынужденно приходится его перенимать. Говорю об этом с сожалением, так как это не тот опыт, который хотелось бы изучать.

Какой-то умелец написал скрипт, который можно быстро запустить на свежей VPS и проверить, куда с неё есть доступ и в качестве чего её можно использовать. Там проверяется доступность Youtube, TikTok, ChatGPT, Gmail и некоторые другие сервисы. Даже mail.ru есть. Скорее всего в Китае пользовались бесплатным 1ТБ на хранилище, когда оно ещё было доступно. Помимо этого выводится другая полезна информация об IP адресе виртуалки.

Скрипт можно самому скачать из репозитория и запустить, а можно сразу в одну команду увидеть результат его работы. Так как это всё обычно запускается на тестовых VPS, беспокоиться о безопасности нет смысла. После всех тестов систему можно пересоздать, если решите оставить себе арендованную виртуалку:

# bash <(curl -Ls IP.Check.Place) -E

Ключами -E4 или -E6 можно ограничивать протокол - ipv4 или ipv6. По умолчанию проверяет оба.

Скрипт поддерживается, периодически обновляется. Публичный репозиторий на гитхабе:

https://github.com/xykt/IPQuality

Ниже примеры его работы на некоторых хостингах, которые я использую.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#хостинг
2👍225👎6
Вспомнил одну старую историю, про которую уже как-то рассказывал, но было это очень давно. Большинство из читающих сейчас её скорее всего не видели. У человека начал глючить zfs пул и он попросил помощи разобраться, что с ним не так, потому что типовые действия не помогали решить проблему. Диск вывалился из пула и возвращаться не хотел, хотя по всем показателям он был исправен. До этого несколько лет всё работало нормально.
 
Заочно тут особо не поможешь, тем более в его ситуации. В итоге повезло и причину удалось установить. Как оказалось, одному из дисков не хватало питания. Они все висели на одной линии от блока питания. Развели на две, и проблема пропала без замены диска.
 
Я из-за таких историй не люблю самосборы в любом виде, даже из серверных компонентов. В готовой серверной платформе вероятность получить такие проблемы в разы меньше, хотя тоже бывает. Их к тому же даже б.у. обычно продают, протестировав длительное время под максимальной нагрузкой. Не везде, конечно, но можно найти, где тестируют. Потом вместе с сервером приезжает бумажный отчёт о тестировании.
 
Некоторые думают, зачем платить за бренд в 3 раза больше, если можно самому всё собрать. Вот за этим и переплачивают. Дома ещё можно поковыряться с компонентами, если нравится. А на работе не надо. Берите на худой конец б.у. оборудование, протестированное и с гарантией. Это лучше, чем пытаться что-то сэкономить и самому собрать.
 
Вообще не знаю, сейчас кто-то ещё собирает сам сервера, десктопы? По мне, так это пережиток далёкого прошлого. Несмотря на то, что вроде много ссанкций навалили, с оборудованием особых проблем нет. Всё завозится, покупается. Только плати.
 
Исключение, наверное, если надо что-то высокопроизводительное собрать с видеокартами, с какой-то быстрой памятью. Там может так получиться, что выбора особо не будет. А типовые вещи лучше в готовом виде покупать с гарантией на всё изделие, а не компоненты.

И ещё добавлю по изначальной теме. Если начинаются непонятные проблемы с дискам (у которых всё в порядке по SMART), в любых серверах или десктопах, первым делом стоит проверить провода. Много раз сталкивался с тем, что проблема была именно в них. Либо контакт ослабнуть может, либо с самим проводом проблемы.

#железо
👍105👎24
На днях разбирался с одной базой данных mysql на сервере, где есть пока неведомые проблемы с железом. Периодически бьются таблицы. Повезло, что база некритичная, будет плановый переезд. А пока занимался там частичным восстановлением. По ходу дела пришлось с дампами поработать. Сделаю несколько зарисовок оттуда на память. Возможно, кому-то будет полезна эта информация.

1️⃣ Я обычно использую следующий набор ключей при снятии дампа с помощью mysqldump:

# mysqldump -v --add-drop-database --add-locks --create-options --disable-keys --extended-insert --single-transaction --quick --set-charset --routines --events --triggers --comments --quote-names --order-by-primary --hex-blob --databases dbname01 > dbname01.sql

Не буду их все пояснять, можно у ИИ спросить. Сделаю акцент на --single-transaction. Этот ключ позволяет избежать блокировок при снятии дампа, в отличие от ключа --opt, который используется по умолчанию и включает в том числе --lock-tables. Пришлось от него отказаться и вручную перечислить некоторые его ключи, убрав блокировку.

Если какая-то таблица из-за ошибок не бэкапится и останавливает процесс снятия дампа, её можно исключить из дампа ключом --ignore-table=dbname01.table_01.

2️⃣ В таком дампе из-за ключа --add-drop-database в начале идёт команда на удаление базы данных: DROP DATABASE IF EXISTS `dbname01`;и создание новой: CREATE DATABASE IF NOT EXISTS `dbname01`; Я использую этот ключ, потому что удобно автоматически восстанавливать исходники и дамп базы по расписанию на каком-то тестовом сервере. Не нужно менять никакие настройки, не надо удалять старую базу и создавать новую. Берём бэкапы с прода и восстанавливаем их в неизменном виде.

Но это создаёт неудобство, если нужно из бэкапа восстановить копию базы на проде. Если забыть об этом, то при восстановлении базы данных, исходная удаляется. Поэтому перед восстановлением нужно заменить в дампе имя базы данных. Это нетривиальная задача, если дамп очень большой. Нельзя просто открыть его и вручную изменить имя базы. Сделать это проще всего с помощью sed. Меняем dbname01 на dbname01_copy, везде, где встречается:

# sed -i 's/`dbname01`/`dbname01_copy`/g' dbname01.sql

После этого можно создавать базу данных dbname01_copy и восстанавливать в неё содержимое дампа:

# mysql
> CREATE DATABASE dbname01_copy;
> use dbname01_copy;
> source ~/dbname01.sql;

Получили рядом копию рабочей базы.

3️⃣ Проще и удобнее делать полный дамп базы, особенно если в ней очень много таблиц. Можно бэкапить потаблично, но лично я так почти никогда не делаю. Из полного дампа легко получить бэкап отдельной таблицы, если это потребуется. Поможет awk:

# cat dbname01.sql | /usr/bin/awk '/CREATE TABLE `table_01`/,/UNLOCK TABLES/' > /tmp/table_01.sql

Теперь можно восстановить отдельную таблицу.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#mysql
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍128👎2
Продолжение утренней темы с Mysql. Не стал всё в одной публикации делать, чтобы не смешивать темы. У меня необычная ситуация возникла, с которой столкнулся впервые. Я ранее уже делал заметку по ошибке с базой данных. Это её продолжение.

Напомню, что в базе Mysql с движком InnoDB внезапно появляется ошибка такого вида:

[ERROR] InnoDB: Index corruption: rec offs 12361 next offs 0[page id: space=33355, page number=1250], index `PRIMARY` o
f table `dbname01`.`table_01`. Run CHECK TABLE. You may need to restore from a backup, or dump + drop + reimport the table.
[ERROR] InnoDB: We detected index corruption in an InnoDB type table. You have to dump + drop + reimport the table or, 
in a case of widespread corruption, dump all InnoDB tables and recreate the whole tablespace.
[ERROR] Got error 126 when reading table './dbname01/table_01'
[ERROR] mariadbd: Index for table 'table_01' is corrupt; try to repair it

При этом сама база работает нормально, данные пишутся, читаются. Просто спотыкается чтение определённых строк в проблемной таблице. Это становится заметно при снятии дампа, так как он останавливается на этих строках.

Никакие рекомендованные процедуры лично мне не помогли восстановить таблицу. Пришлось восстанавливать из бэкапа.

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

И вот эта история повторилась на том же сервере спустя более чем полгода. Опять побилась таблица. Развернул ночной бэкап виртуалки – там всё в порядке. Все данные на месте. Делают тут же без остановки ещё один бэкап проблемной виртуалки с помощью PBS, восстанавливаю на другом сервере, снимаю дамп. Опять всё в порядке, все данные на месте.

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

Мне непонятен такой момент. Если с памятью проблемы, то данные по идее должны всё же биться и теряться. А тут восстанавливаешь глючащую виртуалку в другом месте и с ней вдруг всё становится в порядке, данные на месте. СУБД обычно чувствительна к таким сбоям, база теряет свою целостность. А тут всё в порядке.

У кого-то есть ещё идеи по этой ошибке? Может кто-то сталкивался с подобным. А то сервер сдам и больше не узнаю, что с ним было. Особо нет времени и возможности полноценно тестировать чужой сервер, не имея к нему полного доступа.

#mysql #ошибка
2👍46👎2
На днях увидел новость, что в Windows появилась утилита sudo 😳, как в Linux, для повышения пользовательских привилегий до административных. Было очень удивительно это увидеть и организационно, и по идентичному названию, которое в Windows выглядит инородно. Назвали бы PrivAdm, AdminUp, RunAsAdmin или что-то в этом роде. А тут линуксовое sudo.

Я особо не слежу за обновлениями Windows. У меня 11-я версия. Обновляется сама, когда ей вздумается. Открыл cmd, набрал sudo и увидел:

Sudo отключен на этом компьютере. Чтобы включить его, перейдите в раздел Developer Settings page в приложении "Параметры".

Сходил в раздел СистемаДля разработчиков, переключил галочку для Включить sudo. Снова вернулся в терминал, набрал sudo и увидел ключи запуска.

Теперь для запуска чего-либо с правами администратора не надо открывать новую консоль от администратора. Можно в этой же использовать sudo. На самом деле удобно.

> netstat -ab
Запрошенная операция требует повышения.
> sudo netstat -ab

Открывается новый терминал с выполненной командой. Кстати, команда полезная, показывает открытые соединения.

Любопытно, что у утилиты для Windows открыт исходных код, который лежит на github:

https://github.com/microsoft/sudo

Не знаю, что там Microsoft мелочится. Выкладывали бы уже весь код системы Windows в open source, как RedHat. Вот это был бы номер 😁 Представляю, сколько бы новых вирусов появилось на основе анализа исходников системы.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#windows
2👍193👎4
Ранее я упоминал про утилиту Lynis, а также то, как я её использую в связке с Zabbix для предупреждения о каких-то проблемах на хостах. С момента написания статьи я немного поменял подход к сбору данных. Расскажу кратко, как это у меня сейчас работает. Я с тех пор постоянно использую эту связку. Мне нравится, как она работает.

Кратко поясню суть того, что делаю и для чего. Утилита Lynis есть в стандартных репах. Она делает некоторый набор проверок системы и пишет отчёт в лог. Конкретно меня от неё интересуют две вещи:

◽️Вывод предупреждений. Например, о том, что систему надо перезагрузить после обновления ядра, либо о том, что есть уязвимые пакеты.
◽️Список пакетов с уязвимостями, для которых доступны обновления.

С помощью Zabbix я анализирую лог Lynis и прямо на почту отправляю текст замечаний и уязвимых пакетов, если они есть. Реализую это следующим образом:

1️⃣ Делаю простой скрипт, который запускает Lynis и анализирует код завершения работы. У этой программы он ненулевой, если есть какие-то замечания. Завожу эти замечания в переменную и отправляю данные с помощью zabbix_sender на Zabbix Server. Если код выхода 0, то отправляю строку All is OK.

Сам скрипт очень простой:

#!/bin/bash

/usr/sbin/lynis audit system -q
exitcode=$?
result="0"
if [ $exitcode != 0 ]; then
  result=$(/usr/bin/grep "Warning:\|Found vulnerable package" /var/log/lynis.log)
else
  result="All is OK"
fi
zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -k "lynis.check" -o "$result"

Ставлю скрипт в cron или timers на выполнение раз в 2-3 часа. Чаще большого смысла нет.

2️⃣ В Zabbix Server делаю простой шаблон с одним элементом данных типа Zabbix траппер. Его настройки есть на скриншоте снизу. К айтему делаю два триггера. Один на поиск строки All is OK. Если в последнем полученном значении её нет, то срабатывает триггер. И второй - проверка, что данные приходят. Если в течении дня ничего не приходило, то он срабатывает. Настройки триггера тоже ниже.

3️⃣ В итоге если Lynis что-то находит, отправляет информацию в Zabbix Server. Срабатывает триггер, в описании которого будет текст из айтема со всеми замечаниями и списками уязвимых пакетов, которые надо обновить. Пример письма с информацией тоже есть ниже на картинке.

Всё это настраивается относительно просто. Не нужны никакие отдельные системы и сторонние пакеты. Всё ставится из базовых репозиториев, а система мониторинга скорее всего уже есть. Мне для базовых проверок такой информации достаточно.

Сам шаблон не прикрепляю, так как там всего один айтем и два триггера, содержимое которых и так есть на скринах. Воспроизвести нетрудно. Работать будет на любых версиях Zabbix сервера. Если не устанавливали на хосты zabbix_sender, то поставьте его. Он идёт в отдельном пакете:

# apt install zabbix-sender

Такая вот простая и функциональная система с предупреждениями об обновлениях и некоторых других вещах. Lynis делает много проверок, можно почитать о нём отдельно. В рамках этой заметки не стал на этом делать акцент.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#zabbix #security
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍120👎3