В свете недавних обсуждений гипервизоров вспомнил, как я начинал изучение KVM. До него работал с Xen и Hyper-V. Первым делом стал разбирать вопрос бэкапа виртуальных машин наживую, без их остановки. Это было более 10-ти лет назад и простых решений не существовало. Proxmox не помню, был уже тогда или нет, но я про него не знал. Использовал всё это в консоли с помощью virsh, и в GUI с помощью virt-manager.
Я изучил вопрос и разобрался, как делать снепшоты при использовании файлов qcow2 для дисков виртуальных машин, и как снимать с них бэкапы. Всё это обернул в очень простой скрипт без каких-то дополнительных проверок. Оформил всё это в статью.
Уже не помню, в чём там был нюанс, но при некотором стечении обстоятельств можно было потерять образы дисков. Вроде бы если по какой-то причине не создался снепшот, то скрипт, не найдя его, удалял сам образ машины. Лично с таким не сталкивался, потому что очень внимательно проверял работу до того, как включал реальное удаление. А вот в комментариях отписались люди, которые диски потеряли, хотя я обо всём этом предупреждал в статье. Сначала всё тщательно проверяем - потом включаем удаление.
Напомню один важный нюанс. Если вы случайно удалили образы VM, а сами машины до сих пор работают, то восстановить всё это относительно просто. Я видел отзывы, когда люди только через неделю или две замечали, что удалили диски VM, а сами машины при этом работали. Покажу на примере, как это выглядит.
Допустим, у нас работает виртуальная машина с диском в виде файла
Вы должны увидеть строки с упоминанием файла
Да, файловый дескриптор на месте и имеет номер 14. Скопируем из него данные обратно в файл:
Какое-то время будет длиться копирование. После этого файл будет возвращён на место. Так как копирование не моментальное, диск виртуальной машины может немного пострадать. Если там есть СУБД, то может нарушиться целостность базы, но не обязательно. Большую часть ошибок сможет починить обычный fsck. По сравнению с полной потерей виртуалки это будут небольшие трудности.
Пример универсальный и будет актуален для любых ситуаций, когда удалён файл, который открыт каким-то процессом. Пока процесс запущен и держит этот файл, его можно без проблем восстановить. Вот если завершить процесс, то задача сильно усложниться и шансов восстановить информацию будет уже значительно меньше, хотя в некоторых случаях тоже будет реально.
❗️Сохраните заметку в закладки, может пригодиться в самом неожиданном случае. У меня бывало, что по ошибке удалял конфиг работающей программы. Казалось бы, вот он только что был, ты его грохнул, а как сразу же вернуть, не знаешь, надо вспоминать.
#restore #linux #terminal
Я изучил вопрос и разобрался, как делать снепшоты при использовании файлов qcow2 для дисков виртуальных машин, и как снимать с них бэкапы. Всё это обернул в очень простой скрипт без каких-то дополнительных проверок. Оформил всё это в статью.
Уже не помню, в чём там был нюанс, но при некотором стечении обстоятельств можно было потерять образы дисков. Вроде бы если по какой-то причине не создался снепшот, то скрипт, не найдя его, удалял сам образ машины. Лично с таким не сталкивался, потому что очень внимательно проверял работу до того, как включал реальное удаление. А вот в комментариях отписались люди, которые диски потеряли, хотя я обо всём этом предупреждал в статье. Сначала всё тщательно проверяем - потом включаем удаление.
Напомню один важный нюанс. Если вы случайно удалили образы VM, а сами машины до сих пор работают, то восстановить всё это относительно просто. Я видел отзывы, когда люди только через неделю или две замечали, что удалили диски VM, а сами машины при этом работали. Покажу на примере, как это выглядит.
Допустим, у нас работает виртуальная машина с диском в виде файла
vm-109-disk-0.qcow2 и этот файл по какой-то причине был удалён в момент работы VM. То есть машина работает, а файла уже нет. Поверяем, реально ли файл удалён, но всё ещё открыт его дескриптор:# lsof | grep '(deleted)'kvm 402083 root 14u REG 0,39 21478375424 17 /var/lib/vz/images/109/vm-109-disk-0.qcow2 (deleted)Вы должны увидеть строки с упоминанием файла
/var/lib/vz/images/109/vm-109-disk-0.qcow2. Значит, он реально ещё не удалён. Его держит процесс с пидом 402083. Проверяем это:# ls -l /proc/402083/fd | grep deletedlrwx------ 1 root root 64 Aug 3 21:16 14 -> /var/lib/vz/images/109/vm-109-disk-0.qcow2 (deleted)Да, файловый дескриптор на месте и имеет номер 14. Скопируем из него данные обратно в файл:
# cp /proc/402083/fd/14 /var/lib/vz/images/109/vm-109-disk-0.qcow2Какое-то время будет длиться копирование. После этого файл будет возвращён на место. Так как копирование не моментальное, диск виртуальной машины может немного пострадать. Если там есть СУБД, то может нарушиться целостность базы, но не обязательно. Большую часть ошибок сможет починить обычный fsck. По сравнению с полной потерей виртуалки это будут небольшие трудности.
Пример универсальный и будет актуален для любых ситуаций, когда удалён файл, который открыт каким-то процессом. Пока процесс запущен и держит этот файл, его можно без проблем восстановить. Вот если завершить процесс, то задача сильно усложниться и шансов восстановить информацию будет уже значительно меньше, хотя в некоторых случаях тоже будет реально.
❗️Сохраните заметку в закладки, может пригодиться в самом неожиданном случае. У меня бывало, что по ошибке удалял конфиг работающей программы. Казалось бы, вот он только что был, ты его грохнул, а как сразу же вернуть, не знаешь, надо вспоминать.
#restore #linux #terminal
Server Admin
Бэкап виртуальных машин KVM без остановки VM
Описание различных подходов к бэкапу виртуальных машин в kvm в зависимости от типа дисков. Представлен скрипт для автоматического бэкапа.
5👍154👎4
На днях в очередной раз настраивал Proxmox Backup Server (PBS) в режиме синхронизации бэкапов между двумя разнесёнными хранилищами. Там есть некоторые нюансы с правами пользователей, которые приходится уточнять в документации, так что решил написать пошаговую инструкцию. Плюс, поделиться информацией для тех, кто ещё не настраивал подобное, либо вообще не знает о такой возможности.
PBS умеет бэкапить как виртуальные машины с уровня гипервизора, так и файлы внутри виртуальных машин с помощью Proxmox Backup Client. Сервер бэкапов делится на Datastores со своими бэкапами и настройками доступа. Каждый Datastore штатно может быть синхронизован с другим удалённым Datastore на другом PBS. Это позволяет строить распределённые системы хранения данных, где бэкапы синхронизируются автоматически и хранятся в соответствии с заданными локальными политиками хранения. Получается удобная и функциональная распределённая система бэкапов. И при этом полностью бесплатная.
Имеем 2 разных PBS: pbs-local и pbs-remote. На первый бэкапятся виртуальные машины и затем бэкапы синхронизируются в режиме Push на второй сервер. Рассказываю, как это настроить.
1️⃣ На pbs-remote идём в Configuration -> Access Control и создаём пользователя, под которым будет подключаться pbs-local. Велик соблазн везде использовать root и полные права, но не рекомендую так делать. Тут же в разделе Permissions добавляем новому пользователю следующие права:
{store} - название Datastore, куда будут синхронизироваться бэкапы. Можно создавать для каждого Datastore своего пользователя, можно использовать одного для всех. Тут уже решайте сами, как будете дробить доступ.
2️⃣ На pbs-local идём в Configuration -> Remotes и добавляем pbs-remote, используя созданную выше учётную запись.
3️⃣ На pbs-local в разделе Configuration -> Access Control -> Permissions для пользователей локальных Datastore, которые будут синхронизироваться, добавьте права:
4️⃣ На pbs-local идём в Datastore, выбираем тот, что хотим синхронизировать. Переходим в раздел Sync Jobs и добавляем задачу Add Push Sync Job. Выбираем добавленный на шаге 2 remote и выбираем остальные параметры, в том числе расписание синхронизации.
На этом всё. Теперь можно либо дождаться времени выполнения, либо запустить синхронизацию принудительно. По завершении на pbs-remote будет копия всех бэкапов. То есть на обоих серверах раздел Content будет идентичным. Можно подключить pbs-remote к какому-то гипервизору и там проверять восстановление и запуск виртуальных машин. Это удобно делать, расположив PVE и PBS на одном железном сервере. Получается универсальный инструмент и для дополнительной копии бэкапов, и для их проверки.
Отдельно отмечу, что синхронизация хорошо переносит нестабильные соединения. Процесс не прерывается при разрывах связи и её отсутствии в течении нескольких минут. При возобновлении связи синхронизация продолжается.
Ту же самую процедуру синхронизации можно проводить в обратном направлении, то есть по модели Pull, когда удалённый сервер сам подключается к локальному и забирает данные. Можно всё это комбинировать. Например, VM бэкапятся в локальный Datastore, куда и них есть доступ. Потом на этом же PBS эти бэкапы по модели Pull копируются в рамках этого же сервера, но в другой Datastore, куда доступ ограничен. А с этого Datastore бэкапы по Pull или Push копируются на удалённый сервер.
Настройки очень гибкие и зависят от вашей инфраструктуры, режима параноидальности и доступного места для хранения. Напомню, что в каждом Datastore могут быть свои политики хранения бэкапов. Где-то храним 5 последних копий, а где-то 7 дневных копий, 4 недельных и 6 месячных. А куда-то складываем месячные и вообще не удаляем.
В 4-й версии PBS будет ещё пачка приятных нововведений. Например, хранение бэкапов в S3. И всё это бесплатно.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#proxmox #backup
PBS умеет бэкапить как виртуальные машины с уровня гипервизора, так и файлы внутри виртуальных машин с помощью Proxmox Backup Client. Сервер бэкапов делится на Datastores со своими бэкапами и настройками доступа. Каждый Datastore штатно может быть синхронизован с другим удалённым Datastore на другом PBS. Это позволяет строить распределённые системы хранения данных, где бэкапы синхронизируются автоматически и хранятся в соответствии с заданными локальными политиками хранения. Получается удобная и функциональная распределённая система бэкапов. И при этом полностью бесплатная.
Имеем 2 разных PBS: pbs-local и pbs-remote. На первый бэкапятся виртуальные машины и затем бэкапы синхронизируются в режиме Push на второй сервер. Рассказываю, как это настроить.
Path: /datastore/{store}Role: DatastoreBackup{store} - название Datastore, куда будут синхронизироваться бэкапы. Можно создавать для каждого Datastore своего пользователя, можно использовать одного для всех. Тут уже решайте сами, как будете дробить доступ.
Path: /remoteRole: RemoteSyncPushOperatorНа этом всё. Теперь можно либо дождаться времени выполнения, либо запустить синхронизацию принудительно. По завершении на pbs-remote будет копия всех бэкапов. То есть на обоих серверах раздел Content будет идентичным. Можно подключить pbs-remote к какому-то гипервизору и там проверять восстановление и запуск виртуальных машин. Это удобно делать, расположив PVE и PBS на одном железном сервере. Получается универсальный инструмент и для дополнительной копии бэкапов, и для их проверки.
Отдельно отмечу, что синхронизация хорошо переносит нестабильные соединения. Процесс не прерывается при разрывах связи и её отсутствии в течении нескольких минут. При возобновлении связи синхронизация продолжается.
Ту же самую процедуру синхронизации можно проводить в обратном направлении, то есть по модели Pull, когда удалённый сервер сам подключается к локальному и забирает данные. Можно всё это комбинировать. Например, VM бэкапятся в локальный Datastore, куда и них есть доступ. Потом на этом же PBS эти бэкапы по модели Pull копируются в рамках этого же сервера, но в другой Datastore, куда доступ ограничен. А с этого Datastore бэкапы по Pull или Push копируются на удалённый сервер.
Настройки очень гибкие и зависят от вашей инфраструктуры, режима параноидальности и доступного места для хранения. Напомню, что в каждом Datastore могут быть свои политики хранения бэкапов. Где-то храним 5 последних копий, а где-то 7 дневных копий, 4 недельных и 6 месячных. А куда-то складываем месячные и вообще не удаляем.
В 4-й версии PBS будет ещё пачка приятных нововведений. Например, хранение бэкапов в S3. И всё это бесплатно.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#proxmox #backup
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍234👎2
На днях обновились два продукта Proxmox, которые я активно использую: Virtual Environment 9.0 и Backup Server 4.0. Прежде чем перейти к содержанию обновлений, сделаю предупреждение. Не торопитесь обновлять свои сервера. У Proxmox есть некоторый шанс получить проблемы после обновления, особенно для большого обновления со сменой релиза Debian. Я сам лично много раз сталкивался с ними. Делал тут по этому поводу заметки. Плюс, опыт других людей говорит о том же.
Расскажу про своё отношение к обновлению гипервизоров. Если рядом нет подменного сервера, на который можно быстро восстановить работу виртуальных машин, то я его не обновляю без веских оснований. Процесс этот откладываю на максимально комфортное время, когда это можно сделать. Обычно какие-то длинные праздники, типа майских или новогодних. То же самое для кластера. Обновлять надо очень аккуратно и понимать, что ты будешь делать, если он вдруг не переживёт обновление. Уронить прод от неаккуратного обновления гораздо проще, чем получить проблемы от каких-то уязвимостей, которых во-первых, не так много, чтобы это было опасно в закрытом контуре, во-вторых, обновления приходят регулярно и если постоянно обновляться по мере их выхода, то частота этого процесса сама по себе по теории вероятности принесёт рано или поздно проблемы.
Соответственно, вы либо держите тестовый контур, там всё проверяете и регулярно обновляетесь, либо изыскиваете какие-то другие подходы к этому процессу, более безопасные и растянутые во времени. Опять же, если нет чего-то срочного и критичного. Для Proxmox вообще такого не припоминаю. В интернет они у меня никогда не смотрят, и доступ к ним ограничен. Ещё раз подчеркну, что этот подход используется только для гипервизоров. Не для виртуальных машин с рабочей нагрузкой. Их можно относительно безопасно обновлять, так как масштаб бедствия несоизмерим, если что-то пойдёт не так.
📌Ключевые обновления Proxmox VE:
🔥Обычные LVM тома, не Thin, теперь поддерживают снэпшоты. У меня это самый популярный формат хранения. Из-за того, что он не поддерживал снепшоты, иногда приходилось использовать qcow2 диски, но они не очень удобны из-за ряда особенностей. В описании указано, что хранилища типа Directory, NFS, и CIFS тоже получили такую функциональность. Но по описанию я не очень понял, относится ли это, к примеру, к RAW дискам, расположенным в директории. Из описания вроде бы да (Directory, NFS, and CIFS storages also gain additional support for snapshots as volume chains), но я не понимаю, как это технически реализовано. Надо будет на практике проверять. Вроде бы автоматически создаётся qcow2 файл для накопления изменений относительно базового диска.
◽️Добавлена функциональность SDN Fabric для построения отказоустойчивых управляемых и динамически маршрутизируемых сетей. У меня таких вообще нет, так что попробовать не придётся. Это в основном актуально для больших кластеров.
◽️Дополнительные графики с метриками. Будет полезно. Я частенько их смотрю для беглой оценки работы VM.
◽️Новый мобильный веб интерфейс. Лично я им вообще не пользуюсь. Заходил очень редко в исключительных ситуациях. Не знаю, зачем он нужен. Изредка можно и версию для ПК открыть.
Из основного это всё. Как я понимаю, триггером для релиза был переход на Debian 13, поэтому непосредственно в функциональности изменений немного.
📌 Ключевые обновления Proxmox BS:
🔥Поддержка S3-совместимых хранилищ. Этого реально не хватало. Подобные хранилища очень популярны и относительно дёшевы. Теперь можно спокойно брать дедики с небольшими локальными дисками и подключать более дешёвые S3 хранилища.
◽️Автоматический запуск синхронизации при подключении съёмного хранилища. Можно руками подключить внешний диск или подключить скриптами и бэкап на него будет автоматически синхронизирован. Потом его можно отмонтировать.
◽️Много мелких исправлений в интерфейсе, в уведомлениях, в очистке старых данных и некоторых других моментах.
Я наверное первые обновления сделаю, когда выйдут версии 9.1 и 4.1.
#proxmox
Расскажу про своё отношение к обновлению гипервизоров. Если рядом нет подменного сервера, на который можно быстро восстановить работу виртуальных машин, то я его не обновляю без веских оснований. Процесс этот откладываю на максимально комфортное время, когда это можно сделать. Обычно какие-то длинные праздники, типа майских или новогодних. То же самое для кластера. Обновлять надо очень аккуратно и понимать, что ты будешь делать, если он вдруг не переживёт обновление. Уронить прод от неаккуратного обновления гораздо проще, чем получить проблемы от каких-то уязвимостей, которых во-первых, не так много, чтобы это было опасно в закрытом контуре, во-вторых, обновления приходят регулярно и если постоянно обновляться по мере их выхода, то частота этого процесса сама по себе по теории вероятности принесёт рано или поздно проблемы.
Соответственно, вы либо держите тестовый контур, там всё проверяете и регулярно обновляетесь, либо изыскиваете какие-то другие подходы к этому процессу, более безопасные и растянутые во времени. Опять же, если нет чего-то срочного и критичного. Для Proxmox вообще такого не припоминаю. В интернет они у меня никогда не смотрят, и доступ к ним ограничен. Ещё раз подчеркну, что этот подход используется только для гипервизоров. Не для виртуальных машин с рабочей нагрузкой. Их можно относительно безопасно обновлять, так как масштаб бедствия несоизмерим, если что-то пойдёт не так.
📌Ключевые обновления Proxmox VE:
🔥Обычные LVM тома, не Thin, теперь поддерживают снэпшоты. У меня это самый популярный формат хранения. Из-за того, что он не поддерживал снепшоты, иногда приходилось использовать qcow2 диски, но они не очень удобны из-за ряда особенностей. В описании указано, что хранилища типа Directory, NFS, и CIFS тоже получили такую функциональность. Но по описанию я не очень понял, относится ли это, к примеру, к RAW дискам, расположенным в директории. Из описания вроде бы да (Directory, NFS, and CIFS storages also gain additional support for snapshots as volume chains), но я не понимаю, как это технически реализовано. Надо будет на практике проверять. Вроде бы автоматически создаётся qcow2 файл для накопления изменений относительно базового диска.
◽️Добавлена функциональность SDN Fabric для построения отказоустойчивых управляемых и динамически маршрутизируемых сетей. У меня таких вообще нет, так что попробовать не придётся. Это в основном актуально для больших кластеров.
◽️Дополнительные графики с метриками. Будет полезно. Я частенько их смотрю для беглой оценки работы VM.
◽️Новый мобильный веб интерфейс. Лично я им вообще не пользуюсь. Заходил очень редко в исключительных ситуациях. Не знаю, зачем он нужен. Изредка можно и версию для ПК открыть.
Из основного это всё. Как я понимаю, триггером для релиза был переход на Debian 13, поэтому непосредственно в функциональности изменений немного.
📌 Ключевые обновления Proxmox BS:
🔥Поддержка S3-совместимых хранилищ. Этого реально не хватало. Подобные хранилища очень популярны и относительно дёшевы. Теперь можно спокойно брать дедики с небольшими локальными дисками и подключать более дешёвые S3 хранилища.
◽️Автоматический запуск синхронизации при подключении съёмного хранилища. Можно руками подключить внешний диск или подключить скриптами и бэкап на него будет автоматически синхронизирован. Потом его можно отмонтировать.
◽️Много мелких исправлений в интерфейсе, в уведомлениях, в очистке старых данных и некоторых других моментах.
Я наверное первые обновления сделаю, когда выйдут версии 9.1 и 4.1.
#proxmox
6👍125👎2
Небольшая информация из практики эксплуатации почтового сервера, с которой столкнулся впервые, и был немного удивлён. Получил от сервера Postfix уведомление:
This is the mail system at host mail.example.com.
I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.
For further assistance, please send mail to postmaster.
If you do so, please include this problem report. You can
delete your own text from the attached returned message.
The mail system
<user@clientdomain.com>: mail for clientdomain.com loops back to myself
Вроде всё ясно, но ничего не понятно. Сервер ответил, что не может отправить письмо на домен clientdomain.com, потому что это отправка самому себе. С чего бы вдруг? Домен clientdomain.com к почтовому серверу не имеет никакого отношения.
Я сначала подумал, что возможно какой-то глюк с самим доменом. Может написан с каким-то спецсимволом и сервер так на него отреагировал. Но не похоже. Вообще, сервер Postfix очень информативен в плане логов. Люблю его за это. По логам всегда можно разобраться в проблемной ситуации. Обычно там всё по делу и сразу понимаешь, куда копать, что искать. Да и поисковики быстро помогают. По этому серверу накоплена огромная база знаний по всему интернету.
Вечерком сел и решил спокойно разобраться. Было интересно, в чём реально проблема. Начал с самого простого и тут же получил ответ:
Сразу догадался, в чём дело. Зашёл на домен по HTTP и увидел информацию о том, что срок регистрации домена истёк.
Как оказалось, этот домен принадлежит регистратору Nic. И у него закончилось делегирование. Nic почему-то для таких доменов прописывает свой MX сервер в DNS - nomail.nic.ru и назначает ему адрес 127.0.0.1. Вот мой Postfix и пытался отправить письмо самому себе через 127.0.0.1, но в своих настройках не имел этого домена. Ошибка получилась вполне логичной. А вот поведение Nic - не совсем. Первый раз столкнулся, что разделегированный домен резолвят на 127.0.0.1.
Хорошая история для какого-нибудь тестового задания по теме почтовых серверов. Изначально я смотрел лог почтового сервера во время отправки, смотрел выборку по ID письма и там было непонятно, почему письмо для этого домена попадает на loops back to myself.
#mailserver
This is the mail system at host mail.example.com.
I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.
For further assistance, please send mail to postmaster.
If you do so, please include this problem report. You can
delete your own text from the attached returned message.
The mail system
<user@clientdomain.com>: mail for clientdomain.com loops back to myself
Вроде всё ясно, но ничего не понятно. Сервер ответил, что не может отправить письмо на домен clientdomain.com, потому что это отправка самому себе. С чего бы вдруг? Домен clientdomain.com к почтовому серверу не имеет никакого отношения.
Я сначала подумал, что возможно какой-то глюк с самим доменом. Может написан с каким-то спецсимволом и сервер так на него отреагировал. Но не похоже. Вообще, сервер Postfix очень информативен в плане логов. Люблю его за это. По логам всегда можно разобраться в проблемной ситуации. Обычно там всё по делу и сразу понимаешь, куда копать, что искать. Да и поисковики быстро помогают. По этому серверу накоплена огромная база знаний по всему интернету.
Вечерком сел и решил спокойно разобраться. Было интересно, в чём реально проблема. Начал с самого простого и тут же получил ответ:
# dig clientdomain.com MXnomail.nic.ru. 164 IN A 127.0.0.1Сразу догадался, в чём дело. Зашёл на домен по HTTP и увидел информацию о том, что срок регистрации домена истёк.
Как оказалось, этот домен принадлежит регистратору Nic. И у него закончилось делегирование. Nic почему-то для таких доменов прописывает свой MX сервер в DNS - nomail.nic.ru и назначает ему адрес 127.0.0.1. Вот мой Postfix и пытался отправить письмо самому себе через 127.0.0.1, но в своих настройках не имел этого домена. Ошибка получилась вполне логичной. А вот поведение Nic - не совсем. Первый раз столкнулся, что разделегированный домен резолвят на 127.0.0.1.
Хорошая история для какого-нибудь тестового задания по теме почтовых серверов. Изначально я смотрел лог почтового сервера во время отправки, смотрел выборку по ID письма и там было непонятно, почему письмо для этого домена попадает на loops back to myself.
#mailserver
2👍134👎2
Я уже ранее делал заметки на тему того, что не стоит рабочую нагрузку и бэкапы хранить только у одного хостера. Даже если он вполне стабилен и надёжен. Могут быть какие-то юридические, бухгалтерские проблемы или просто ошибки, которые приведут к тому, что вам случайно удалят или отключат учётную запись.
Ранее я видел только чужие истории на эту тему, а некоторое время назад столкнулся лично. В очередную пятницу закончил дела чуть раньше и пошёл отдыхать. А вечером от хостера приходит письмо на почту одного из клиентов, что его учётная запись удалена.
Я вечером субботы в районе 22-х часов зашёл проверить почту и не поверил своим глазам, когда увидел это письмо. По спине пробежал холодок. Внимательно проверил почту и номер клиента. Всё верно, это активная учётка с арендованными дедиками и рабочей нагрузкой.
Сразу же начал звонить на горячую линию, но там только автоответчик. Подождал минут 20, но оператора так и не дождался. Сделал заявку от другой учётной записи на тему этого инцидента. Техподдержка ответила достаточно быстро. Причину удаления назвать не смогли, но пообещали, что все сервера и услуги останутся активны как минимум до понедельника, когда вернётся профильный отдел и далее, если разбирательство продолжится.
Как вы уже поняли, сами серверы с гипервизорами и бэкапы VM были на этой учётной записи. Во вне уходили только бэкапы в виде файлов и дампов баз данных. Там объём большой и хранить на постоянной основе ещё и вторую копию виртуалок накладно. Но я на всякий случай скопировал и их.
В итоге всё обошлось. Услуги не отключились. В понедельник пришла профильная техподдержка и разобралась в ситуации. Как мне сказали, это была техническая ошибка. Личный кабинет восстановили. В итоге всё обошлось нормально, но я немного понервничал.
Очень важно читать почту от подобных услуг: домены, хостинги, может что-то ещё. У меня была история, когда заказчик пропустил письмо на тему удаления сервера и потерял его. За почтой никто не следил, но деньги исправно платили. Из-за каких-то технических нюансов в ЛК автопродление сервера слетело. И работающий сервер был успешно удалён. Причём без возможности восстановления.
Проблему сразу заметили, поддержка пообещала сервер вернуть, а потом написала, что он уже очищен. Это был полный абзац. Я тогда писал об этом заметку, но уже не помню когда точно. История несколько лет назад была.
Ну и по этой же теме вспоминаются истории, когда целые датацентры уходили в офлайн. Виной тому могут быть разные причины: технические в виде отключения света, связи, пожары (ovh), борьба собственников (ihor, masterhost), санкции и блокировки (hetzner, aws и т.д.). Бэкапы обязательно надо дублировать куда-то во вне. За всё время моей трудовой деятельности у двух моих заказчиков были пожары. У одного серверная не пострадала, а у другого сгорела полностью. Бэкапы были. В ihor я тоже в своё время потерял дедики. Оперативно переехал.
#хостинг #backup
Ранее я видел только чужие истории на эту тему, а некоторое время назад столкнулся лично. В очередную пятницу закончил дела чуть раньше и пошёл отдыхать. А вечером от хостера приходит письмо на почту одного из клиентов, что его учётная запись удалена.
Я вечером субботы в районе 22-х часов зашёл проверить почту и не поверил своим глазам, когда увидел это письмо. По спине пробежал холодок. Внимательно проверил почту и номер клиента. Всё верно, это активная учётка с арендованными дедиками и рабочей нагрузкой.
Сразу же начал звонить на горячую линию, но там только автоответчик. Подождал минут 20, но оператора так и не дождался. Сделал заявку от другой учётной записи на тему этого инцидента. Техподдержка ответила достаточно быстро. Причину удаления назвать не смогли, но пообещали, что все сервера и услуги останутся активны как минимум до понедельника, когда вернётся профильный отдел и далее, если разбирательство продолжится.
Как вы уже поняли, сами серверы с гипервизорами и бэкапы VM были на этой учётной записи. Во вне уходили только бэкапы в виде файлов и дампов баз данных. Там объём большой и хранить на постоянной основе ещё и вторую копию виртуалок накладно. Но я на всякий случай скопировал и их.
В итоге всё обошлось. Услуги не отключились. В понедельник пришла профильная техподдержка и разобралась в ситуации. Как мне сказали, это была техническая ошибка. Личный кабинет восстановили. В итоге всё обошлось нормально, но я немного понервничал.
Очень важно читать почту от подобных услуг: домены, хостинги, может что-то ещё. У меня была история, когда заказчик пропустил письмо на тему удаления сервера и потерял его. За почтой никто не следил, но деньги исправно платили. Из-за каких-то технических нюансов в ЛК автопродление сервера слетело. И работающий сервер был успешно удалён. Причём без возможности восстановления.
Проблему сразу заметили, поддержка пообещала сервер вернуть, а потом написала, что он уже очищен. Это был полный абзац. Я тогда писал об этом заметку, но уже не помню когда точно. История несколько лет назад была.
Ну и по этой же теме вспоминаются истории, когда целые датацентры уходили в офлайн. Виной тому могут быть разные причины: технические в виде отключения света, связи, пожары (ovh), борьба собственников (ihor, masterhost), санкции и блокировки (hetzner, aws и т.д.). Бэкапы обязательно надо дублировать куда-то во вне. За всё время моей трудовой деятельности у двух моих заказчиков были пожары. У одного серверная не пострадала, а у другого сгорела полностью. Бэкапы были. В ihor я тоже в своё время потерял дедики. Оперативно переехал.
#хостинг #backup
2👍101👎2
📊 Понравилась идея с опросами, поэтому, как и говорил ранее, решил их проводить регулярно на разные IT темы. В этот раз опрос будет на тему использования систем виртуализации. Решил сделать выбор нескольких вариантов ответа, потому что распространённая ситуация, когда есть разные типы гипервизоров и систем на их основе. У меня у самого они разные. Так что суммировать результаты нет смысла, будет больше 100%.
Сам опрос в следующей публикации. Всего доступно 12 вариантов ответа, поэтому пришлось как-то скомпоновать варианты. Изначально хотелось бы сделать вариантов 15 для более наглядной картины с учётом отечественных систем. Если используете какую-то неупомянутую систему, напишите название в комментариях к опросу. В следующих я постараюсь учесть комментарии и сделать более релевантный список.
Итоги подведу через 2 недели.
#опрос
Сам опрос в следующей публикации. Всего доступно 12 вариантов ответа, поэтому пришлось как-то скомпоновать варианты. Изначально хотелось бы сделать вариантов 15 для более наглядной картины с учётом отечественных систем. Если используете какую-то неупомянутую систему, напишите название в комментариях к опросу. В следующих я постараюсь учесть комментарии и сделать более релевантный список.
Итоги подведу через 2 недели.
#опрос
👍28👎2
Рассказываю про очередные приключения с Windows. Возможно кому-то это сэкономит время. Несколько месяцев назад после очередного обновления Windows у меня на рабочем ноуте периодически после загрузки системы не работала клавиатура. Не всегда, где-то 50/50.
Так как чаще я работаю через док-станцию и внешнюю клавиатуру, а там таких проблем не было, я почему-то решил, что это какой-то глюк, который возникает после того, как ты первый раз запускаешь ноут без дока. Встроенная клавиатура не работает. Помогает банальная перезагрузка системы, которую можно сделать с помощью мыши.
Постоянно откладывал нормальное решение вопроса. Периодически пытался наугад быстро решить проблему с помощью чтения системных логов, отключения и включения клавиатуры в списке оборудования. Но это не помогало. Более детально не разбирался, так как обычно, когда включаешь ноут, надо какие-то дела сделать и некогда разбираться. А потом уже всё работает и разбираться не с чем.
В какой-то момент меня это окончательно задолбало и я задал вопрос ChatGPT. Тот накидал список вероятных причин и решений, часть из которых как раз состояла из просмотра логов, обновления драйверов, отключения и подключения оборудования из списка и т.д.
А один из предложенных вариантов был отключение режима быстрого запуска системы. Начиная с какого обновления он начал доставлять именно такие проблемы. Почему-то сразу подумал, что это именно то, что нужно. Зашёл в Панель управления ⇨ Оборудование и звук ⇨> Электропитание ⇨ Системные параметры ⇨ Действия кнопок питания. И там снял галочку с пункта Включить быстрый запуск (рекомендуется). Шли бы они нафиг с такими рекомендациями.
И после этого проблема ушла. За пару недель ни разу не загрузился с неработающей клавиатурой. В очередной раз что-то сломалось в обновлении и не чинится месяцами. Похожая проблема была с переключением раскладки. Тогда много людей написали, что тоже с этим столкнулись. Тоже сломали в одном из обновлений и много месяцев, если не лет, не чинили. Возможно и это исправят рано или поздно. А пока рабочее решение такое.
#windows
Так как чаще я работаю через док-станцию и внешнюю клавиатуру, а там таких проблем не было, я почему-то решил, что это какой-то глюк, который возникает после того, как ты первый раз запускаешь ноут без дока. Встроенная клавиатура не работает. Помогает банальная перезагрузка системы, которую можно сделать с помощью мыши.
Постоянно откладывал нормальное решение вопроса. Периодически пытался наугад быстро решить проблему с помощью чтения системных логов, отключения и включения клавиатуры в списке оборудования. Но это не помогало. Более детально не разбирался, так как обычно, когда включаешь ноут, надо какие-то дела сделать и некогда разбираться. А потом уже всё работает и разбираться не с чем.
В какой-то момент меня это окончательно задолбало и я задал вопрос ChatGPT. Тот накидал список вероятных причин и решений, часть из которых как раз состояла из просмотра логов, обновления драйверов, отключения и подключения оборудования из списка и т.д.
А один из предложенных вариантов был отключение режима быстрого запуска системы. Начиная с какого обновления он начал доставлять именно такие проблемы. Почему-то сразу подумал, что это именно то, что нужно. Зашёл в Панель управления ⇨ Оборудование и звук ⇨> Электропитание ⇨ Системные параметры ⇨ Действия кнопок питания. И там снял галочку с пункта Включить быстрый запуск (рекомендуется). Шли бы они нафиг с такими рекомендациями.
И после этого проблема ушла. За пару недель ни разу не загрузился с неработающей клавиатурой. В очередной раз что-то сломалось в обновлении и не чинится месяцами. Похожая проблема была с переключением раскладки. Тогда много людей написали, что тоже с этим столкнулись. Тоже сломали в одном из обновлений и много месяцев, если не лет, не чинили. Возможно и это исправят рано или поздно. А пока рабочее решение такое.
#windows
👍148👎3
Я анонсировал ранее подборку сайтов IT блогеров со статьями на различные темы, связанные с настройкой и эксплуатацией IT систем. Собралось небольшое сообщество авторов. Полный список сайтов будет в конце. А пока анонс новых статей тех авторов, кто согласился участвовать и прислал свои материалы.
⇨ Что нового в Zabbix 7.4
Перевод на русский язык основных нововведений новой версии Zabbix Server. У меня была заметка по этой теме с моими комментариями.
⇨ Проходим Standoff 365 с помощью пентест блокнота
Небольшой обзор бумажного (❗️) блокнота со шпаргалками, которые помогут в прохождении заданий на различных обучающих платформах для хакинга. Насколько я понял, блокнот просто прикольный, но бесполезный, так как те же команды nmap, dig и т.д. проще смотреть в виртуальном блокноте и оттуда сразу их копировать.
⇨ Как сохранить и восстановить конфигурацию MikroTik
Пошаговые инструкции с картинками по различным видам и типам бэкапов. Даётся просто база, никакой экзотики.
⇨ Как настроить L2TP/IPsec клиент в MikroTik
Настройка L2TP сервера в Микротике и подключение к нему клиентов. И далее настройка SOCKS прокси для использования у подключившихся клиентов в качестве прокси в браузере.
⇨ Как настроить IKEv2 VPN-сервер на роутерах MikroTik с аутентификацией по сертификатам
Настройка IKEv2 VPN-сервер на роутерах MikroTik с аутентификацией по сертификатам и подключение клиентов на Windows и Android.
⇨ Как настроить SSTP-клиента в MikroTik
Настройка SSTP сервера и клиентов.
⇨ SSH — Проброс портов: прямые и обратные туннели
База по использованию туннелей через SSH. У меня по этой теме было несколько заметок:
- проброс портов и SOCKS-прокси через SSH
- vpn туннель с помощью подключения по ssh
- vpn через ssh с помощью sshuttle
- реальный пример использования проброса порта.
⇨ Did not find any relations / не отображется список таблиц базы данных в случае, если они (данные) хранятся в схеме данных с именем отличном от "public"
Решение проблемы с неотображающимся списком таблиц БД в случае, если данные хранятся в схеме данных с именем отличном от "public".
🔥ansible-cmdb — Структуризация и визуализация ansible facts
Прикольная утилита на Python, которая собирает ansible facts и рисует из них HTML страничку. Факты содержат в себе информацию об ОС, настройках сети, выделенных ресурсах, занятости дисков и т.д. Вообще не знал, что такой софт существует. Можно очень быстро собрать информацию о своих хостах, если не используется какая-то автоматизированная система. Надо будет попробовать эту программу.
⇨ Сканер Nuclei. Часть 1
⇨ Сканер Nuclei. Часть 2
Описание работы и примеры использования Nuclei. Это инструмент с открытым исходным кодом для сканирования на наличие уязвимостей в приложениях, сетях и облачной инфраструктуре.
⇨ Обработка строк на bash циклами while и for
Описание циклов и примеры их использования. Полезная база. Постоянно использую в своих скриптах.
⇨ История Windows
Очень краткая история систем Windows. Не очень понял, в чём смысл и посыл этого материала.
⇨ Локальное зеркало Linux репозитория (apt-mirror)
Настройка apt-mirror для создания локального зеркала репозитория с помощью популярного инструмента.
⇨ Резервное копирование почты
Использование imap-backup для бэкапа почты из ящиков облачных провайдеров типа Yandex локально в формате mbox. Я в своё время про него рассказывал.
⇨ Настройка DNS over HTTPS (DoH) на OpenWrt
Шифрование своих DNS запросов с помощью прошитого под OpenWrt роутера.
Если кто-то хочет присоединиться к этой подборке, то пишите мне в личные сообщения. Пока список выглядит так:
▪️https://r4ven.me
▪️https://wiki-it.ru
▪️https://www.gurin.ru
▪️https://sysadminhub.ru
▪️https://devopslife.ru
▪️https://bite-byte.ru
▪️https://desoft.ru
▪️https://www.pc360.ru
▪️https://bafista.ru
▪️https://it-experience.ru
▪️https://blogadminday.ru
▪️https://marukhin.ru
▪️https://blog.mons.ws
▪️https://lytkins.ru
▪️https://sysops.host
#статьи
⇨ Что нового в Zabbix 7.4
Перевод на русский язык основных нововведений новой версии Zabbix Server. У меня была заметка по этой теме с моими комментариями.
⇨ Проходим Standoff 365 с помощью пентест блокнота
Небольшой обзор бумажного (❗️) блокнота со шпаргалками, которые помогут в прохождении заданий на различных обучающих платформах для хакинга. Насколько я понял, блокнот просто прикольный, но бесполезный, так как те же команды nmap, dig и т.д. проще смотреть в виртуальном блокноте и оттуда сразу их копировать.
⇨ Как сохранить и восстановить конфигурацию MikroTik
Пошаговые инструкции с картинками по различным видам и типам бэкапов. Даётся просто база, никакой экзотики.
⇨ Как настроить L2TP/IPsec клиент в MikroTik
Настройка L2TP сервера в Микротике и подключение к нему клиентов. И далее настройка SOCKS прокси для использования у подключившихся клиентов в качестве прокси в браузере.
⇨ Как настроить IKEv2 VPN-сервер на роутерах MikroTik с аутентификацией по сертификатам
Настройка IKEv2 VPN-сервер на роутерах MikroTik с аутентификацией по сертификатам и подключение клиентов на Windows и Android.
⇨ Как настроить SSTP-клиента в MikroTik
Настройка SSTP сервера и клиентов.
⇨ SSH — Проброс портов: прямые и обратные туннели
База по использованию туннелей через SSH. У меня по этой теме было несколько заметок:
- проброс портов и SOCKS-прокси через SSH
- vpn туннель с помощью подключения по ssh
- vpn через ssh с помощью sshuttle
- реальный пример использования проброса порта.
⇨ Did not find any relations / не отображется список таблиц базы данных в случае, если они (данные) хранятся в схеме данных с именем отличном от "public"
Решение проблемы с неотображающимся списком таблиц БД в случае, если данные хранятся в схеме данных с именем отличном от "public".
🔥ansible-cmdb — Структуризация и визуализация ansible facts
Прикольная утилита на Python, которая собирает ansible facts и рисует из них HTML страничку. Факты содержат в себе информацию об ОС, настройках сети, выделенных ресурсах, занятости дисков и т.д. Вообще не знал, что такой софт существует. Можно очень быстро собрать информацию о своих хостах, если не используется какая-то автоматизированная система. Надо будет попробовать эту программу.
⇨ Сканер Nuclei. Часть 1
⇨ Сканер Nuclei. Часть 2
Описание работы и примеры использования Nuclei. Это инструмент с открытым исходным кодом для сканирования на наличие уязвимостей в приложениях, сетях и облачной инфраструктуре.
⇨ Обработка строк на bash циклами while и for
Описание циклов и примеры их использования. Полезная база. Постоянно использую в своих скриптах.
⇨ История Windows
Очень краткая история систем Windows. Не очень понял, в чём смысл и посыл этого материала.
⇨ Локальное зеркало Linux репозитория (apt-mirror)
Настройка apt-mirror для создания локального зеркала репозитория с помощью популярного инструмента.
⇨ Резервное копирование почты
Использование imap-backup для бэкапа почты из ящиков облачных провайдеров типа Yandex локально в формате mbox. Я в своё время про него рассказывал.
⇨ Настройка DNS over HTTPS (DoH) на OpenWrt
Шифрование своих DNS запросов с помощью прошитого под OpenWrt роутера.
Если кто-то хочет присоединиться к этой подборке, то пишите мне в личные сообщения. Пока список выглядит так:
▪️https://r4ven.me
▪️https://wiki-it.ru
▪️https://www.gurin.ru
▪️https://sysadminhub.ru
▪️https://devopslife.ru
▪️https://bite-byte.ru
▪️https://desoft.ru
▪️https://www.pc360.ru
▪️https://bafista.ru
▪️https://it-experience.ru
▪️https://blogadminday.ru
▪️https://marukhin.ru
▪️https://blog.mons.ws
▪️https://lytkins.ru
▪️https://sysops.host
#статьи
2👍83👎2
Мониторинг на базе Zabbix Server очень универсален. Одной из его возможностей является анализ текстовых логов и поиск там заданных строк или выражений. В случае нахождения, срабатывает триггер с различными действиями. В самом простом случае это может быть уведомление, а в более сложном - выполнение команды или набора каких-то действий в виде последовательности команд и скриптов.
Я давно использую эту возможность. Например, для уведомлений об аутентификации по SSH на серверах или логины на устройства Mikrotik. Для SSH у меня очень давно написан простенький шаблон, который реализует базовую возможность и шлёт уведомление, когда кто-то подключается к серверу. Для меня это актуально, когда на сервер захожу не только я.
У написанного мной шаблона есть один недостаток, который всё никак не доходят руки исправить. Триггер в шаблоне реагирует на строку с подключением пользователя и отключает триггер, когда видит фразу с отключением пользователя. Если один пользователь подключился и потом отключился, то всё нормально. Но если подключился один пользователь, за ним подключился второй пользователь, то триггер сработает только во время подключения первого пользователя. И может отключиться, когда отключится не первый пользователь, а второй. То есть триггер не делает в строках лога привязку к конкретной сессии пользователя.
При этом Zabbix Server позволяет своими штатными возможностями привязывать в триггерах разные строки к одному и тому же событию. Делается это с помощью настройки в триггере Режим генерации событий ПРОБЛЕМА: Одиночный или Множественный.
Я решил поискать, не решил ли кто-нибудь этот недостаток моего шаблона, чтобы мне самому этим не заниматься. И практически сразу же нашёл качественный шаблон, где учтены все эти нюансы. Причём автор как раз мой изначальный шаблон взял за основу и доработал. Смотреть тут:
⇨ Входы Выходы Пользователей SSH auth.log Debian Ubuntu
К шаблону подробное текстовое описание и видео. Всё сделано очень качественно, хороший шаблон. Бегло посмотрел некоторые другие шаблоны автора. Очень много всего полезного. Рекомендую. Например, то же самое, только для Windows:
⇨ Монитор внешнего входа и выхода пользователей Windows
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки. В этот раз не только вам рекомендую сохранить, но и себе сохранил ссылку на раздел с готовыми шаблонами Zabbix.
#zabbix
Я давно использую эту возможность. Например, для уведомлений об аутентификации по SSH на серверах или логины на устройства Mikrotik. Для SSH у меня очень давно написан простенький шаблон, который реализует базовую возможность и шлёт уведомление, когда кто-то подключается к серверу. Для меня это актуально, когда на сервер захожу не только я.
У написанного мной шаблона есть один недостаток, который всё никак не доходят руки исправить. Триггер в шаблоне реагирует на строку с подключением пользователя и отключает триггер, когда видит фразу с отключением пользователя. Если один пользователь подключился и потом отключился, то всё нормально. Но если подключился один пользователь, за ним подключился второй пользователь, то триггер сработает только во время подключения первого пользователя. И может отключиться, когда отключится не первый пользователь, а второй. То есть триггер не делает в строках лога привязку к конкретной сессии пользователя.
При этом Zabbix Server позволяет своими штатными возможностями привязывать в триггерах разные строки к одному и тому же событию. Делается это с помощью настройки в триггере Режим генерации событий ПРОБЛЕМА: Одиночный или Множественный.
Я решил поискать, не решил ли кто-нибудь этот недостаток моего шаблона, чтобы мне самому этим не заниматься. И практически сразу же нашёл качественный шаблон, где учтены все эти нюансы. Причём автор как раз мой изначальный шаблон взял за основу и доработал. Смотреть тут:
⇨ Входы Выходы Пользователей SSH auth.log Debian Ubuntu
К шаблону подробное текстовое описание и видео. Всё сделано очень качественно, хороший шаблон. Бегло посмотрел некоторые другие шаблоны автора. Очень много всего полезного. Рекомендую. Например, то же самое, только для Windows:
⇨ Монитор внешнего входа и выхода пользователей Windows
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки. В этот раз не только вам рекомендую сохранить, но и себе сохранил ссылку на раздел с готовыми шаблонами Zabbix.
#zabbix
Server Admin
Мониторинг ssh логинов в zabbix
Заголовок немного кривоватый получился, не придумал, как правильно сформулировать. Суть в том, что я хочу мониторить с помощью zabbix удаленные подключения к серверам по ssh. Заббикс будет хранить...
7👍131👎2
Под ОС на базе Linux есть огромное количество различных почтовых серверов, от самых простых в виде одного исполняемого файла до сложных установок с десятками различных сервисов в контейнерах. Для Windows такого изобилия нет.
Был один бесплатный удобный и функциональный проект - hMailServer, но, к сожалению, автор его забросил. Последняя версия была в 2023 году. На сайте автора указано, что сервер больше не развивается и не поддерживается. Сам автор не советует его использовать, так как он не поддерживает современные протоколы шифрования, и рекомендует переходить на другое решение. Жаль, это был очень удобный и простой сервер, который было очень просто развернуть и настроить на полноценную работу почтовой системы.
Несмотря на то, что исходный код hMailServer открыт, никто его не форкает и не развивает. Так что можно про него потихоньку забывать. В современном интернете без регулярной поддержки продукты быстро устаревают в основном из-за регулярного обновления протоколов шифрования.
Под Windows есть только один более-менее близкий бесплатный аналог - MailEnable Standard Edition. Это полностью бесплатная редакция коммерческого почтового сервера. В этой бесплатной версии реализованы все стандартные возможности почтового сервера, в том числе встроенный веб интерфейс, адаптированный под мобильные приложения.
Разворачивается MailEnable так же просто и имеет удобную админку для управления. Подойдёт тем, кто не знает Linux или не хочет с ним разбираться. Например, разработчикам 1С, которым нужно управлять отправкой каких-нибудь отчётов по почте. А чтобы развернуть почтовый сервер на Linux без должных навыков и знаний, придётся прилично потрудиться.
MailEnable - старый сервер, что выдаёт его интерфейс. Но при этом продолжает развиваться, регулярно выходят новые версии. Управление через стандартную MMC-консоль Windows. Веб-интерфейс работает через IIS. Помимо почты есть личный календарь, задачи, контакты. Не знаю, насколько всё это актуально в наше время. Для реальных пользователей я бы такой не стал разворачивать. Думаю, он имеет смысл только для каких-то технических задач. Хотя, если использовать сторонний почтовый клиент, то почему бы и нет. Даже небольшие локальные серверы получили новую жизнь, после того, как не осталось бесплатных почтовых сервисов, куда бы можно было присоединить свой домен и использовать почту на нём.
⇨ 🌐 Сайт / Demo
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#mailserver
Был один бесплатный удобный и функциональный проект - hMailServer, но, к сожалению, автор его забросил. Последняя версия была в 2023 году. На сайте автора указано, что сервер больше не развивается и не поддерживается. Сам автор не советует его использовать, так как он не поддерживает современные протоколы шифрования, и рекомендует переходить на другое решение. Жаль, это был очень удобный и простой сервер, который было очень просто развернуть и настроить на полноценную работу почтовой системы.
Несмотря на то, что исходный код hMailServer открыт, никто его не форкает и не развивает. Так что можно про него потихоньку забывать. В современном интернете без регулярной поддержки продукты быстро устаревают в основном из-за регулярного обновления протоколов шифрования.
Под Windows есть только один более-менее близкий бесплатный аналог - MailEnable Standard Edition. Это полностью бесплатная редакция коммерческого почтового сервера. В этой бесплатной версии реализованы все стандартные возможности почтового сервера, в том числе встроенный веб интерфейс, адаптированный под мобильные приложения.
Разворачивается MailEnable так же просто и имеет удобную админку для управления. Подойдёт тем, кто не знает Linux или не хочет с ним разбираться. Например, разработчикам 1С, которым нужно управлять отправкой каких-нибудь отчётов по почте. А чтобы развернуть почтовый сервер на Linux без должных навыков и знаний, придётся прилично потрудиться.
MailEnable - старый сервер, что выдаёт его интерфейс. Но при этом продолжает развиваться, регулярно выходят новые версии. Управление через стандартную MMC-консоль Windows. Веб-интерфейс работает через IIS. Помимо почты есть личный календарь, задачи, контакты. Не знаю, насколько всё это актуально в наше время. Для реальных пользователей я бы такой не стал разворачивать. Думаю, он имеет смысл только для каких-то технических задач. Хотя, если использовать сторонний почтовый клиент, то почему бы и нет. Даже небольшие локальные серверы получили новую жизнь, после того, как не осталось бесплатных почтовых сервисов, куда бы можно было присоединить свой домен и использовать почту на нём.
⇨ 🌐 Сайт / Demo
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#mailserver
1👍105👎9
В свете вчерашней заметки про почтовые сервера, хочу сделать некоторое дополнение. Существует отличный бесплатный продукт – Proxmox Mail Gateway. Это своего рода шлюз для фильтрации почты. Условно его можно сравнить с обратными прокси для веб сайтов, типа Nginx в режиме proxy_pass, Traefik и т.д.
PMG собран на базе привычных open source компонентов:
◽️Postfix – основной MTA, который принимает/отправляет письма.
◽️Amavis – фильтр, который передаёт письма на проверку в антивирус и антиспам.
◽️SpamAssassin – антиспам.
◽️ClamAV – антивирус.
◽️Greylisting, DNSBL, RBL – инструменты противодействия спаму в виде технологии серых списков и обычных обновляемых списков блокировки.
Управляется всё это хозяйство через веб интерфейс. В консоль ходить не надо. Разобраться с ним легко, если есть понимание, как работают почтовые сервера. Запустить можно в несколько кликов в LXC контейнере в Proxmox VE. Он там в самом начале списка шаблонов, в разделе Mail. В настоящий момент там два шаблона: proxmox-mail-gateway-8.2-standard и proxmox-mailgateway-7.3-standard.
Принцип работы и интеграции с существующим почтовым сервером простой. PMG принимает всю входящую почту, обрабатывает и передаёт на основной почтовый сервер:
● Интернет ⇨ PMG ⇨ Внутренний почтовый сервер (например, Postfix, hMailServer, Exchange и т.д.) ⇨ Почтовый клиент
И то же самое происходит с отправкой. Письмо от клиента сначала попадает на основной почтовый сервер, а после него на PMG и уходит в интернет:
● Почтовый клиент ⇨ Почтовый сервер ⇨ PMG ⇨ Интернет
Если говорить более конкретно про настройку, то вы в DNS записях вашего домена, в качестве MX сервера указываете адрес PMG. А уже в нём указываете адрес основного сервера для пересылки на него почты. А в обратную сторону указываете на своём почтовом сервера в качестве релея адрес PMG. То есть встроить его в существующую работающую структуру очень просто. Если что-то пойдёт не так, то можно быстро откатиться обратно. Основной почтовый сервер можно не трогать.
❗️Отдельно отмечу, что Proxmox Mail Gateway – это именно почтовый шлюз. В качестве почтового сервера, который хранит почту и к которому могут подключаться клиенты он работать не может. У него нет ни хранилища почты, ни протоколов для клиентских подключений по imap или pop3. Мне неоднократно задавали подобный вопрос: "Можно ли как-то настроить PMG, чтобы он работал в качестве почтового сервера?" К сожалению, это невозможно. Хотя лично мне хотелось бы, чтобы его доработали до полноценного почтового сервера. Это добротный бесплатный продукт, которым приятно пользоваться.
Proxmox Mail Gateway можно эффективно использовать в связке с каким-то устаревшим сервером. Я не раз сталкивался с очень старыми почтовыми серверами, которые по разным причинам не могут или не хотят обновить, перенести на другую систему. В реальности это сложная техническая задача, особенно если очень большая почтовая база.
PMG может прикрыть старый сервер и исключить его взаимодействие с интернетом. Это может существенно обезопасить инфраструктуру почтового сервиса и отсрочить обновление или переезд. В частности, упомянутый мной ранее бесплатный hMailServer, который больше не обновляется, можно закрыть с помощью PMG и эксплуатировать дальше.
Лично я постоянно с этим шлюзом не работаю, так как нет особой необходимости. Свои почтовые сервера я настраиваю на основе Postfix. И в нём уже сам реализую нужную функциональность, которая может пересекаться с возможностями PMG. Если кто-то не видел, то вот моя подробная статья по настройке почтового сервера на базе Postfix.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#mailserver
PMG собран на базе привычных open source компонентов:
◽️Postfix – основной MTA, который принимает/отправляет письма.
◽️Amavis – фильтр, который передаёт письма на проверку в антивирус и антиспам.
◽️SpamAssassin – антиспам.
◽️ClamAV – антивирус.
◽️Greylisting, DNSBL, RBL – инструменты противодействия спаму в виде технологии серых списков и обычных обновляемых списков блокировки.
Управляется всё это хозяйство через веб интерфейс. В консоль ходить не надо. Разобраться с ним легко, если есть понимание, как работают почтовые сервера. Запустить можно в несколько кликов в LXC контейнере в Proxmox VE. Он там в самом начале списка шаблонов, в разделе Mail. В настоящий момент там два шаблона: proxmox-mail-gateway-8.2-standard и proxmox-mailgateway-7.3-standard.
Принцип работы и интеграции с существующим почтовым сервером простой. PMG принимает всю входящую почту, обрабатывает и передаёт на основной почтовый сервер:
● Интернет ⇨ PMG ⇨ Внутренний почтовый сервер (например, Postfix, hMailServer, Exchange и т.д.) ⇨ Почтовый клиент
И то же самое происходит с отправкой. Письмо от клиента сначала попадает на основной почтовый сервер, а после него на PMG и уходит в интернет:
● Почтовый клиент ⇨ Почтовый сервер ⇨ PMG ⇨ Интернет
Если говорить более конкретно про настройку, то вы в DNS записях вашего домена, в качестве MX сервера указываете адрес PMG. А уже в нём указываете адрес основного сервера для пересылки на него почты. А в обратную сторону указываете на своём почтовом сервера в качестве релея адрес PMG. То есть встроить его в существующую работающую структуру очень просто. Если что-то пойдёт не так, то можно быстро откатиться обратно. Основной почтовый сервер можно не трогать.
❗️Отдельно отмечу, что Proxmox Mail Gateway – это именно почтовый шлюз. В качестве почтового сервера, который хранит почту и к которому могут подключаться клиенты он работать не может. У него нет ни хранилища почты, ни протоколов для клиентских подключений по imap или pop3. Мне неоднократно задавали подобный вопрос: "Можно ли как-то настроить PMG, чтобы он работал в качестве почтового сервера?" К сожалению, это невозможно. Хотя лично мне хотелось бы, чтобы его доработали до полноценного почтового сервера. Это добротный бесплатный продукт, которым приятно пользоваться.
Proxmox Mail Gateway можно эффективно использовать в связке с каким-то устаревшим сервером. Я не раз сталкивался с очень старыми почтовыми серверами, которые по разным причинам не могут или не хотят обновить, перенести на другую систему. В реальности это сложная техническая задача, особенно если очень большая почтовая база.
PMG может прикрыть старый сервер и исключить его взаимодействие с интернетом. Это может существенно обезопасить инфраструктуру почтового сервиса и отсрочить обновление или переезд. В частности, упомянутый мной ранее бесплатный hMailServer, который больше не обновляется, можно закрыть с помощью PMG и эксплуатировать дальше.
Лично я постоянно с этим шлюзом не работаю, так как нет особой необходимости. Свои почтовые сервера я настраиваю на основе Postfix. И в нём уже сам реализую нужную функциональность, которая может пересекаться с возможностями PMG. Если кто-то не видел, то вот моя подробная статья по настройке почтового сервера на базе Postfix.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#mailserver
👍141👎2
⇨ Инструкция по запуску нейросети на своем сервере vLLM
Пошаговая инструкция по запуску и настройке нейросети на арендованном сервере с двумя видеокартами. Автор начинает с заказа сервера и дальше показывает все этапы настройки: подключение по SSH, установка Docker и запуск с нужными параметрами и т.д. Очень наглядно и познавательно.
⇨ Настройка Angie в роли обратного HTTP-прокси
⇨ Балансировка нагрузки для HTTP(S) в Angie
Подробные видео с примерами по настройке Angie для проксирования запросов через proxy_pass на один или несколько бэкендов. Настройка похожа на Nginx, но у Angie есть некоторая дополнительная функциональность.
⇨ Forgejo: An Alternative to Gitea, A Fork of a Popular Forge Platform
Подробный обзор бесплатной системы для хранения кода в git репозиториях. Это аналог таких продуктов, как Github, Gitlab, Gitea и т.д. Раньше о ней только мельком слышал. Это форк Gitea, который пошёл своим путём.
⇨ Ставим k8s-talos через terraform в proxmox
Подробное руководство по установке кластера Talos через Terraform в Proxmox для запуска Kubernetes.
⇨ Обновление с Proxmox VE 8 до Proxmox VE 9: пошаговое руководство
Обновление PVE в режиме реального времени на рабочем хосте автора. Там всё стандартно, ничего нового по обновлению не появилось.
⇨ Stop Port Forwarding! Secure Home Lab Access with Modern Tools
Автор призывает прекратить пробрасывать порты, а вместо этого использовать софт для построения vpn сетей. Он сделал краткий обзор на Twingate, Tailscale, Wireguard и WG-Easy для него, Cloudflare tunnel.
⇨ Authelia vs Authentik vs Keycloak vs Zitadel Как выбрать SSO для своих сервисов
Краткое сравнение Authelia, Authentik, Keycloak, Zitadel.
🎓 Протокол TCP: управление перегрузкой | Компьютерные сети 2025 - 35
🎓 Интерфейс сокетов | Компьютерные сети 2025 - 36
Очередные обновлённые уроки хорошего курса по сетям от Созыкина Андрея.
⇨ Dockpeek: A Docker Port Dashboard for Your Homelab
Обзор очередной панельки для управления Docker контейнерами. Их много разных. Эта меня не особо впечатлила. Из плюсов отмечу легковесность и наглядный список занимаемых контейнерами портов на хосте. Посмотрите, может вам понравится.
#видео
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Инструкция по запуску нейросети на своем сервере vLLM
В этом видео я подробно показываю, как запустить нейросеть на своём или арендованном сервере с использованием двух видеокарт RTX 3090. Мы настроим сервер, установим все необходимые компоненты (Ubuntu, Docker, NVIDIA Toolkit), запустим нейросеть через VLM…
1👍53👎2
Копилку моей субботней рубрики с играми и материалами для обучения пополнит очередная обучающая игра, про которую я раньше не слышал. Это консольная игра GameShell, которая учит основам консольных команд Linux.
Играть в GameShell можно в любом терминале ОС на базе Linux. В Debian или Ubuntu её можно установить так:
Это инструкция из репозитория игры. В баш скрипте находится сам код игры. Я скрипт не проверял, так что рекомендую запускать на тестовой машине, если захотите поиграть. Под root не запустится, только под обычным пользователем.
Игра построена в виде заданий, в которых вам нужно использовать различные консольные утилиты. Для игры достаточно запомнить несколько команд:
Всё остальное не так важно. Миссии, как это обычно бывает, развиваются от более простых к сложным. Сначала будете изучать команды cd, mkdir, rm, mv и т.д. Потом пойдут команды с пайпами: head, tail, cat и т.д. Потом права доступа, поиск и некоторые другие вещи.
В игре даётся база. Если вы знакомы с консолью Linux, то играть большого смысла нет. Если постоянно с ней работаете, то всё это скорее всего знаете. Но может что-то и почерпнёте для себя.
Сделано необычно и немного интересно, так как к каждой миссии есть какое-то описание. Вообще, такая игра неплохо подойдёт для детей или студентов, изучающих Linux. Собственно, она преподавателем для студентов и была создана.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#игра #обучение #дети
Играть в GameShell можно в любом терминале ОС на базе Linux. В Debian или Ubuntu её можно установить так:
$ sudo apt install gettext man-db procps psmisc nano tree ncal x11-apps wget$ wget https://github.com/phyver/GameShell/releases/download/latest/gameshell.sh$ bash gameshell.shЭто инструкция из репозитория игры. В баш скрипте находится сам код игры. Я скрипт не проверял, так что рекомендую запускать на тестовой машине, если захотите поиграть. Под root не запустится, только под обычным пользователем.
Игра построена в виде заданий, в которых вам нужно использовать различные консольные утилиты. Для игры достаточно запомнить несколько команд:
$ gsh help - посмотреть список команд для управления игровым процессом$ gsh goal - прочитать задание миссии$ gsh check - проверить выполненное заданиеВсё остальное не так важно. Миссии, как это обычно бывает, развиваются от более простых к сложным. Сначала будете изучать команды cd, mkdir, rm, mv и т.д. Потом пойдут команды с пайпами: head, tail, cat и т.д. Потом права доступа, поиск и некоторые другие вещи.
В игре даётся база. Если вы знакомы с консолью Linux, то играть большого смысла нет. Если постоянно с ней работаете, то всё это скорее всего знаете. Но может что-то и почерпнёте для себя.
Сделано необычно и немного интересно, так как к каждой миссии есть какое-то описание. Вообще, такая игра неплохо подойдёт для детей или студентов, изучающих Linux. Собственно, она преподавателем для студентов и была создана.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#игра #обучение #дети
👍92👎4
Вчера обновился мониторинг, который я давно использую – Gatus. Основное нововведение – новый веб интерфейс. Решил сразу попробовать, благо сделать это очень просто, так как весь мониторинг – это одиночный бинарник и конфигурационный файл к нему.
Лично мне история этого мониторинга не нужна, поэтому я обновил очень просто:
Интерфейс вроде как симпатичнее стал, но я не могу сказать, что прям удобнее стало. Мне этот мониторинг понравился как раз за то, что у него очень наглядный дабшборд, который выполняет роль статус-страницы, где сразу видно, в каком состоянии находятся наблюдаемые сущности. У меня это доступность некоторых серверов, сайтов, их сертификаты и оплата.
Gatus выполняет роль дублирующего мониторинга, куда добавлены ключевые точки входа в наблюдаемые инфраструктуры и некоторые наиболее критичные сайты. Плюс, некоторые мои проекты. Если упадёт хостер или какой-то провайдер, где живёт вся инфраструктура вместе с мониторингом, то внешний сервер с Gatus хотя бы покажет, что провайдер полностью недоступен. А то сходу не всегда получается быстро разобраться, если что-то не работает и сам мониторинг недоступен.
Про Gatus и его настройку уже было несколько заметок, так что не буду повторяться. Формат конфигурации у него нисколько не поменялся, как и мой подход к его настройке. Поэтому просто дам ссылки на мои прошлые публикации:
▪️Основные возможности и настройка Gatus
▪️Обновление конфигурации Gatus через gitlab-runner и git push в репозиторий
У меня редактирование мониторинга выглядит так. Открываю VS Code, правлю локальный конфигурационный файл, делаю commit и синхронизацию с репозиторием в Gitlab через расширение GitLab Workflow. Код улетает в репозиторий, там в
В старых публикациях можно посмотреть скриншоты и сравнить с обновлёнными интерфейсом, который на картинке ниже.
Кстати, об обновлении сразу узнал от сервиса newreleases.io, которым я активно пользуюсь. Очень удобно, рекомендую.
⇨ 🌐 Сайт / Исходники
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#мониторинг #gatus
Лично мне история этого мониторинга не нужна, поэтому я обновил очень просто:
# docker stop gatus# docker rm gatus# docker pull twinproduction/gatus:v5.23.0# docker run -p 8080:8080 -d --mount type=bind,source="$(pwd)"/config.yaml,target=/config/config.yaml --name gatus twinproduction/gatus:v5.23.0Интерфейс вроде как симпатичнее стал, но я не могу сказать, что прям удобнее стало. Мне этот мониторинг понравился как раз за то, что у него очень наглядный дабшборд, который выполняет роль статус-страницы, где сразу видно, в каком состоянии находятся наблюдаемые сущности. У меня это доступность некоторых серверов, сайтов, их сертификаты и оплата.
Gatus выполняет роль дублирующего мониторинга, куда добавлены ключевые точки входа в наблюдаемые инфраструктуры и некоторые наиболее критичные сайты. Плюс, некоторые мои проекты. Если упадёт хостер или какой-то провайдер, где живёт вся инфраструктура вместе с мониторингом, то внешний сервер с Gatus хотя бы покажет, что провайдер полностью недоступен. А то сходу не всегда получается быстро разобраться, если что-то не работает и сам мониторинг недоступен.
Про Gatus и его настройку уже было несколько заметок, так что не буду повторяться. Формат конфигурации у него нисколько не поменялся, как и мой подход к его настройке. Поэтому просто дам ссылки на мои прошлые публикации:
▪️Основные возможности и настройка Gatus
▪️Обновление конфигурации Gatus через gitlab-runner и git push в репозиторий
У меня редактирование мониторинга выглядит так. Открываю VS Code, правлю локальный конфигурационный файл, делаю commit и синхронизацию с репозиторием в Gitlab через расширение GitLab Workflow. Код улетает в репозиторий, там в
.gitlab-ci.yml прописан перезапуск контейнера на VPS, где запущен Gatus и runner. Получается очень просто и удобно. Историю я вообще не храню, мне она тут не нужна, поэтому ничего не бэкаплю, кроме самого репозитория с конфигурацией.В старых публикациях можно посмотреть скриншоты и сравнить с обновлёнными интерфейсом, который на картинке ниже.
Кстати, об обновлении сразу узнал от сервиса newreleases.io, которым я активно пользуюсь. Очень удобно, рекомендую.
⇨ 🌐 Сайт / Исходники
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#мониторинг #gatus
2👍96👎4