Научитесь проектировать отказоустойчивые хранилища для распределённых систем
Узнайте на открытом вебинаре, как минимизировать риски, настроить репликацию и автоматическое восстановление. Разберём актуальные практики с примерами на Cassandra, MongoDB и Ceph.
🔴 Регистрируйтесь на открытый вебинар «Обеспечение отказоустойчивости хранилищ» 10 декабря в 20:00 мск. Участникам — скидка на участие в курсе «Highload Architect»: https://vk.cc/cFzcEX
Узнайте на открытом вебинаре, как минимизировать риски, настроить репликацию и автоматическое восстановление. Разберём актуальные практики с примерами на Cassandra, MongoDB и Ceph.
🔴 Регистрируйтесь на открытый вебинар «Обеспечение отказоустойчивости хранилищ» 10 декабря в 20:00 мск. Участникам — скидка на участие в курсе «Highload Architect»: https://vk.cc/cFzcEX
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👏2
Шпаргалка основных команд mysql по работе с базой данных и таблицам
Здесь в компактном виде собраны основные команды администрирование сервера MySQL посредством консоли, позволяющие получить информацию о состоянии баз данных, таблиц, просмотреть их структуру.
👉 @sysadminof
Здесь в компактном виде собраны основные команды администрирование сервера MySQL посредством консоли, позволяющие получить информацию о состоянии баз данных, таблиц, просмотреть их структуру.
SHOW DATABASES
; — список баз данныхSHOW TABLES [FROM db_name]
; — список таблиц в базеSHOW COLUMNS FROM таблица [FROM db_name]
; — список столбцов в таблицеSHOW CREATE TABLE table_name
; — показать структуру таблицы в формате «CREATE TABLE»DESC table_name
; — узнать полную структуру таблицыSHOW INDEX FROM tbl_name
; — список индексовSHOW GRANTS FOR user [FROM db_name]
; — привилегии для пользователя.SHOW VARIABLES
; — значения системных переменныхSHOW [FULL] PROCESSLIST
; — статистика по mysqld процессамSHOW STATUS
; — общая статистикаSHOW TABLE STATUS [FROM db_name]
; — статистика по всем таблицам в базеUSE db_name
; — использовать базу данных, для которой будут выполнятся дальнейшие запросыDELETE FROM table_name
; — удалить все записи из таблицы. Сначала нужно выполнить USE db_name;SELECT * FROM table_name
; — просмотр всех записей из таблицы👉 @sysadminof
👍10🎉1
Media is too big
VIEW IN TELEGRAM
Создание файловой системы внутри файла
Иногда необходимо создать временную файловую систему для того, чтобы что-то протестировать. А свободного раздела на диске может не быть, да и флешка не всегда под рукой. К счастью в ОС GNU/Linux создание целой файловой системы внутри файла на любом диске не сложнее создания обычной файловой системы.
Это практическое видео, показывающее шаг за шагом, как создать внутрефайловую файловую систему и как её монтировать. После монтирования данная ФС никак не отличается от любой другой.
Команды dd, mkfs, и mount идут в комплекте со всеми дистрибутивами ОС GNU/Linux, а команда hexer, используемая для просмотра файла-контейнера, была нужна лишь для демонстрации изменений (но и она доступна почти во всех дистрибутивах)
источник
👉 @sysadminof
Иногда необходимо создать временную файловую систему для того, чтобы что-то протестировать. А свободного раздела на диске может не быть, да и флешка не всегда под рукой. К счастью в ОС GNU/Linux создание целой файловой системы внутри файла на любом диске не сложнее создания обычной файловой системы.
Это практическое видео, показывающее шаг за шагом, как создать внутрефайловую файловую систему и как её монтировать. После монтирования данная ФС никак не отличается от любой другой.
Команды dd, mkfs, и mount идут в комплекте со всеми дистрибутивами ОС GNU/Linux, а команда hexer, используемая для просмотра файла-контейнера, была нужна лишь для демонстрации изменений (но и она доступна почти во всех дистрибутивах)
источник
👉 @sysadminof
👍9🔥1👏1
Ваши микросервисы тормозят? База данных перегружена? Решение есть — кэширование!
На открытом уроке «Кэширование в микросервисной архитектуре» мы разберём, как ускорить системы, сократить время отклика и снизить нагрузку. Вы узнаете про паттерны кэширования, типы кэшей и популярные инструменты вроде Redis и Memcached.
Представьте микросервисы, которые работают молниеносно, а база данных больше не задыхается от запросов. Ваша архитектура станет не только производительной, но и устойчивой.
Спикер Сергей Прощаев — ведущий инженер-Java-разработчик в одной из крупнейших российских нефтяных и газодобывающих компаний.
🔴 Регистрируйтесь на вебинар 11 декабря в 20:00 мск! Урок пройдёт перед стартом курса «Microservice Architecture». Участники получат скидку на обучение: https://vk.cc/cFBrzN
На открытом уроке «Кэширование в микросервисной архитектуре» мы разберём, как ускорить системы, сократить время отклика и снизить нагрузку. Вы узнаете про паттерны кэширования, типы кэшей и популярные инструменты вроде Redis и Memcached.
Представьте микросервисы, которые работают молниеносно, а база данных больше не задыхается от запросов. Ваша архитектура станет не только производительной, но и устойчивой.
Спикер Сергей Прощаев — ведущий инженер-Java-разработчик в одной из крупнейших российских нефтяных и газодобывающих компаний.
🔴 Регистрируйтесь на вебинар 11 декабря в 20:00 мск! Урок пройдёт перед стартом курса «Microservice Architecture». Участники получат скидку на обучение: https://vk.cc/cFBrzN
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍1🔥1
Собираем и запускаем Linux-0.01 в Minix 1.5, (почти) как это делал Линус Торвальдс
Я попытался повторить, насколько это возможно, действия Линуса Торвальдса по компиляции и запуску самой первой версии ядра Linux 0.01. Причины, побудившие Линуса начать разработка ядра, хорошо описаны в книге «Ради удовольствия: Рассказ нечаянного революционера» (далее J4F) и во множестве других источниках и мы не будем их касаться. А рассмотрим техническую сторону компиляции и запуску ядра Linux.
Непосредственно процесс сборки ядра по-unix'овски очень прост: достаточно выполнить команду make, и на выходе получаете готовый бинарный файл, который надо записать на дискету и загрузиться с неё. Но чтобы сборка прошла успешно, надо провести большую подготовку. Вот этим мы и займёмся. Я составил для вас очень подробное пошаговое руководство.
Сначала в эмуляторе 86Box создадим пустую виртуальную машину с характеристиками, близкими к компьютеру Линуса в то время, установим оригинальную версию операционной системы Minix 1.5.10, применим патчи «царя и бога Minix-386» (c) Брюса Эванса, поставим порт компилятора gcc версии 1.37.1 для Minix-386 от Алана Блэка (Alan W Black) и Ричарда Тобина (Richard Tobin), и в самом конце соберём и запустим ядро Linux с bash'ем внутри.
После каждого этапа я сохранял состояние виртуальной машины, жёсткого диска и образы дискет, которые подвергались изменению. Можете пройти все шаги самостоятельно или распаковать любой из архивов и продолжить выполнение инструкции с желаемого момента. Все дистрибутивы, скриншоты, конфигурации, это руководство, архивы с резервными копиями по каждому этапу и даже бинарный AppImage 86box (для Linux x86_64) можно найти в репозитории.
https://habr.com/ru/companies/vk/articles/752564/
👉 @sysadminof
Я попытался повторить, насколько это возможно, действия Линуса Торвальдса по компиляции и запуску самой первой версии ядра Linux 0.01. Причины, побудившие Линуса начать разработка ядра, хорошо описаны в книге «Ради удовольствия: Рассказ нечаянного революционера» (далее J4F) и во множестве других источниках и мы не будем их касаться. А рассмотрим техническую сторону компиляции и запуску ядра Linux.
Непосредственно процесс сборки ядра по-unix'овски очень прост: достаточно выполнить команду make, и на выходе получаете готовый бинарный файл, который надо записать на дискету и загрузиться с неё. Но чтобы сборка прошла успешно, надо провести большую подготовку. Вот этим мы и займёмся. Я составил для вас очень подробное пошаговое руководство.
Сначала в эмуляторе 86Box создадим пустую виртуальную машину с характеристиками, близкими к компьютеру Линуса в то время, установим оригинальную версию операционной системы Minix 1.5.10, применим патчи «царя и бога Minix-386» (c) Брюса Эванса, поставим порт компилятора gcc версии 1.37.1 для Minix-386 от Алана Блэка (Alan W Black) и Ричарда Тобина (Richard Tobin), и в самом конце соберём и запустим ядро Linux с bash'ем внутри.
После каждого этапа я сохранял состояние виртуальной машины, жёсткого диска и образы дискет, которые подвергались изменению. Можете пройти все шаги самостоятельно или распаковать любой из архивов и продолжить выполнение инструкции с желаемого момента. Все дистрибутивы, скриншоты, конфигурации, это руководство, архивы с резервными копиями по каждому этапу и даже бинарный AppImage 86box (для Linux x86_64) можно найти в репозитории.
https://habr.com/ru/companies/vk/articles/752564/
👉 @sysadminof
👍7
Дисковая и файловая подсистемы
Диски в Linux: LVMRAID - Программный RAID-массив средствами LVM (Logical Volume Management)
Диски в Linux: Перенос каталога /home на отдельный раздел/том LVM
Диски в Linux: Основы LVM - Logical Volume Management, Менеджер логических томов
Файловые системы в Linux: Квотирование в XFS
Хранение файлов в Linux: Индексные дескрипторы (inodes)
Хранение файлов в Linux: Жесткие ссылки (hard links)
Резервное сохранение в Linux: Использование утилит копирования
Резервное сохранение в Linux: Возможности жестких ссылок
источник
👉 @sysadminof
Диски в Linux: LVMRAID - Программный RAID-массив средствами LVM (Logical Volume Management)
Диски в Linux: Перенос каталога /home на отдельный раздел/том LVM
Диски в Linux: Основы LVM - Logical Volume Management, Менеджер логических томов
Файловые системы в Linux: Квотирование в XFS
Хранение файлов в Linux: Индексные дескрипторы (inodes)
Хранение файлов в Linux: Жесткие ссылки (hard links)
Резервное сохранение в Linux: Использование утилит копирования
Резервное сохранение в Linux: Возможности жестких ссылок
источник
👉 @sysadminof
👍6❤2
Media is too big
VIEW IN TELEGRAM
Защита Mikrotik от внешних угроз
— Почему не хватает firewall для защиты mikrotik.
— Почему не хватает защиты в /ip services.
— Как использовать службу neighbor.
— Как использовать tool mac server.
— Общие рекомендации по защите.
— Почему у нас не взломали ни одного роутера.
— Как и когда правильно обновлять.
источник
👉 @sysadminof
— Почему не хватает firewall для защиты mikrotik.
— Почему не хватает защиты в /ip services.
— Как использовать службу neighbor.
— Как использовать tool mac server.
— Общие рекомендации по защите.
— Почему у нас не взломали ни одного роутера.
— Как и когда правильно обновлять.
источник
👉 @sysadminof
👍12🎉4🤡2❤1
Media is too big
VIEW IN TELEGRAM
Firewall в Mikrotik: разбираем, как обеспечивать безопасность сети
Firewall дает огромные возможности по управлению сетевым трафиком, проходящим через Mikrotik.
Вы, как администратор сети, должны суметь разделить все потоки трафика. дать каждому из них свои права, а весь лишний трафик — заблокировать.
Firewall в Mikrotik по большей части позаимствован из IPTables из Linux.
02:27 Вопросы вебинара
03:23 Firewall filter
07:06 Работа по принципу «Если-То»
23:54 Filter Actions
57:15 Firewall NAT
1:03:33 NAT Actions
1:14:59 Connection State
1:30:49 Connection Tracking
1:31:22 Простая настройка firewall
1:33:16 Сложная настройка firewall
1:33:46 Address List
1:35:03 Блокирование сайтов через адрес листы с добавлением доменного имени
1:45:06 NAT Helpers
1:46:51 Полезные ссылки
источник
👉 @sysadminof
Firewall дает огромные возможности по управлению сетевым трафиком, проходящим через Mikrotik.
Вы, как администратор сети, должны суметь разделить все потоки трафика. дать каждому из них свои права, а весь лишний трафик — заблокировать.
Firewall в Mikrotik по большей части позаимствован из IPTables из Linux.
02:27 Вопросы вебинара
03:23 Firewall filter
07:06 Работа по принципу «Если-То»
23:54 Filter Actions
57:15 Firewall NAT
1:03:33 NAT Actions
1:14:59 Connection State
1:30:49 Connection Tracking
1:31:22 Простая настройка firewall
1:33:16 Сложная настройка firewall
1:33:46 Address List
1:35:03 Блокирование сайтов через адрес листы с добавлением доменного имени
1:45:06 NAT Helpers
1:46:51 Полезные ссылки
источник
👉 @sysadminof
👍8👏2🔥1
Media is too big
VIEW IN TELEGRAM
Работа С Файловой Системой Linux
00:00 - Вступление
01:30 - Структура файлов
03:30 - Терминал
03:40 - pwd
04:50 - cd
07:30 - ls
09:31 - clear
11:05 - mkdir
12:06 - touch
12:47 - man
13:58 - nano
14:02 - vi/vim
15:41 - cat
16:18 - less
16:40 - more
16:54 - head
17:28 - tail
17:46 - echo
18:36 - rm
19:36 - mv
20:56 - cp
23:30 - sudo
24:24 - stat
24:50 - Запуск исполняемых файлов
25:30 - Текущий каталог(.)
26:10 - Заключение
26:25 - Концовка
источник
👉 @sysadminof
00:00 - Вступление
01:30 - Структура файлов
03:30 - Терминал
03:40 - pwd
04:50 - cd
07:30 - ls
09:31 - clear
11:05 - mkdir
12:06 - touch
12:47 - man
13:58 - nano
14:02 - vi/vim
15:41 - cat
16:18 - less
16:40 - more
16:54 - head
17:28 - tail
17:46 - echo
18:36 - rm
19:36 - mv
20:56 - cp
23:30 - sudo
24:24 - stat
24:50 - Запуск исполняемых файлов
25:30 - Текущий каталог(.)
26:10 - Заключение
26:25 - Концовка
источник
👉 @sysadminof
👍10🔥3
Полезные сетевые утилиты linux
ip
Утилита управляет интерфейсами, сетевыми устройствами и туннелями. Всем сетевым стеком linux. Например:
Покажет список всех сетевых адресов. Тоже самое делает утилита
Покажет таблицу роутинга. Тоже самое сделает команда
Поднимает интерфейс
Так зачем она нужна если все ее команды можно выполнить с помощью других утилит? Дело в том, что во многие компактные дистрибутивы (например Alpine или openwrt) не используют ifconfig, route и другие “большие” утилит. Там оставляют только ip. Вот с помощью нее и придется выполнять все сетевые задачи.
nc
Полное имя netcat - на него она тоже откликается. Это утилита, позволяет слушать и выполнять TCP и UDP соединении.
И так что может netcat?
Открываем одно окно терминала и делаем там
Эта утилита пригодиться чтобы проверить жив ли сервер и слушает ли от вообще на этом порту? С помощью nc можно переслать файл и даже просканировать порты. Http сервер еще можно написать.
socat
Это труба, которая позволяет соединить два сокета между собой. Mysql слушает только на local socket а мы хотим на его ходить по tcp. Выглядит это так:
Конектор к netcat из предыдущего примера:
Если вам нужно перебросить сокет в другое место присмотритесь к socat он вам скорее всего поможет.
netstat
Эта утилита показывает текущее состояние сетевого стека. Она даст вам ответ на вопросы: что у меня там на порту 9081 висит?
У этой утилиты есть младший (или старший по возможностям) брат ss посмотрите на него тоже может он понравиться больше.
curl
Утилита для передачи файлов. Так написано в ее описании. Чем же она замечательна? Она умеет кучу протоколов: DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP. В каждом протоколе она знает множество версий, например HTTP она может до версии 2. Умеет подставлять хидера, куки, ходить по SSL, использовать proxy разных видов. Можно отлаживать http(s) соединение с помощью -v. Примеры:
Единорог!
Соединяемся с сервером из примера netcat. В консоле сервера увидим http запрос. После этого все остановиться curl будет ждать ответ. И если вы руками его введете покажет его.
👉 @sysadminof
ip
Утилита управляет интерфейсами, сетевыми устройствами и туннелями. Всем сетевым стеком linux. Например:
ip addr
Покажет список всех сетевых адресов. Тоже самое делает утилита
ifconfig
без параметров. ip route
Покажет таблицу роутинга. Тоже самое сделает команда
route
. ip link set eth0 up
Поднимает интерфейс
eth0
. Это можно также сделать с помощью ifconfig
. Так зачем она нужна если все ее команды можно выполнить с помощью других утилит? Дело в том, что во многие компактные дистрибутивы (например Alpine или openwrt) не используют ifconfig, route и другие “большие” утилит. Там оставляют только ip. Вот с помощью нее и придется выполнять все сетевые задачи.
nc
Полное имя netcat - на него она тоже откликается. Это утилита, позволяет слушать и выполнять TCP и UDP соединении.
И так что может netcat?
Открываем одно окно терминала и делаем там
nc -l 12345
это будет наш сервер. Отрываем другое окно и пишем в нем nc 127.0.0.1 12345 — это наш клиент. Печатаем там “Hello!” нажимаем enter. В первом окне видим эту фразу. Ура! Мы написали однонаправленный чат.Эта утилита пригодиться чтобы проверить жив ли сервер и слушает ли от вообще на этом порту? С помощью nc можно переслать файл и даже просканировать порты. Http сервер еще можно написать.
socat
Это труба, которая позволяет соединить два сокета между собой. Mysql слушает только на local socket а мы хотим на его ходить по tcp. Выглядит это так:
socat TCP-LISTEN:3307,reuseaddr,fork UNIX-CONNECT:/var/lib/mysql/mysql.sock
Конектор к netcat из предыдущего примера:
socat - TCP4:127.0.0.1:80
Если вам нужно перебросить сокет в другое место присмотритесь к socat он вам скорее всего поможет.
netstat
Эта утилита показывает текущее состояние сетевого стека. Она даст вам ответ на вопросы: что у меня там на порту 9081 висит?
netstat -nltp
Что с моими tcp соединениями и кто прямо сейчас ко мне подключен? netstat -atp
У этой утилиты есть младший (или старший по возможностям) брат ss посмотрите на него тоже может он понравиться больше.
curl
Утилита для передачи файлов. Так написано в ее описании. Чем же она замечательна? Она умеет кучу протоколов: DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP. В каждом протоколе она знает множество версий, например HTTP она может до версии 2. Умеет подставлять хидера, куки, ходить по SSL, использовать proxy разных видов. Можно отлаживать http(s) соединение с помощью -v. Примеры:
curl http://artscene.textfiles.com/asciiart/unicorn
Единорог!
curl -v http://127.0.0.1:12345
Соединяемся с сервером из примера netcat. В консоле сервера увидим http запрос. После этого все остановиться curl будет ждать ответ. И если вы руками его введете покажет его.
👉 @sysadminof
👍10🎉2❤1
❓Как построить «достаточно хороший» CI/CD-конвейер и разрабатывать без сбоев?
На открытом вебинаре 10 декабря в 20:00 мск мы разберем, как создать достаточно хороший pipeline для автоматизации CI/CD!
💯Вы узнаете, как внедрить автоматизацию всех этапов: от сборки и тестирования до развертывания. Поделимся практиками настройки инструментов, таких как GitLab CI/CD, Jenkins и GitHub Actions, чтобы ваши проекты были готовы к стабильному и быстрому запуску.
🧑💻Спикер Кирилл Казаков — DevOps Lead в Simplinic.
🚀Повысьте скорость и надежность разработки, уменьшите сбои и ошибки. Научитесь автоматизировать конвейеры и доставлять продукт на рынок быстрее!
➡️Регистрируйтесь на вебинар и получите скидку 🎁 на участие в курсе «Инфраструктурная платформа на основе Kubernetes»: https://vk.cc/cFPLi3
На открытом вебинаре 10 декабря в 20:00 мск мы разберем, как создать достаточно хороший pipeline для автоматизации CI/CD!
💯Вы узнаете, как внедрить автоматизацию всех этапов: от сборки и тестирования до развертывания. Поделимся практиками настройки инструментов, таких как GitLab CI/CD, Jenkins и GitHub Actions, чтобы ваши проекты были готовы к стабильному и быстрому запуску.
🧑💻Спикер Кирилл Казаков — DevOps Lead в Simplinic.
🚀Повысьте скорость и надежность разработки, уменьшите сбои и ошибки. Научитесь автоматизировать конвейеры и доставлять продукт на рынок быстрее!
➡️Регистрируйтесь на вебинар и получите скидку 🎁 на участие в курсе «Инфраструктурная платформа на основе Kubernetes»: https://vk.cc/cFPLi3
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍2👎1
Media is too big
VIEW IN TELEGRAM
Шаблон Zabbix для мониторинга Active Directory
Как настроить мониторинг Active Directory с помощью zabbix, как настраивается zabbix agent (active).
👉 @sysadminof
Как настроить мониторинг Active Directory с помощью zabbix, как настраивается zabbix agent (active).
👉 @sysadminof
👍13
Монтируем шары для юзеров
Монтируете ли вы шары, как их монтирую я? Вероятно, нет, т. к. очень крутой опции multiuser на просторах интернета уделено слишком мало внимания, а man mount.cifs в её отношении весьма немногословен и скуп на наглядные примеры. Именно это и сподвигло меня поделиться с вами парой «рецептов», которые могут облегчить вам и вашим пользователям движение в сторону отечественных десктопов и ИТ-инфраструктур.
Как обычно у меня на стенде российская RedOS 7, просто как образец операционной системы с не самым древним набором пакетов и инициализацией посредством systemd. С другими дистрибутивами вы справитесь самостоятельно. Юзеры и компьютеры живут в виндовом домене, а из отягчающих обстоятельств — наличие многопользовательских рабочих мест (сменный персонал).
https://habr.com/ru/companies/ruvds/articles/744036/
👉 @sysadminof
Монтируете ли вы шары, как их монтирую я? Вероятно, нет, т. к. очень крутой опции multiuser на просторах интернета уделено слишком мало внимания, а man mount.cifs в её отношении весьма немногословен и скуп на наглядные примеры. Именно это и сподвигло меня поделиться с вами парой «рецептов», которые могут облегчить вам и вашим пользователям движение в сторону отечественных десктопов и ИТ-инфраструктур.
Как обычно у меня на стенде российская RedOS 7, просто как образец операционной системы с не самым древним набором пакетов и инициализацией посредством systemd. С другими дистрибутивами вы справитесь самостоятельно. Юзеры и компьютеры живут в виндовом домене, а из отягчающих обстоятельств — наличие многопользовательских рабочих мест (сменный персонал).
https://habr.com/ru/companies/ruvds/articles/744036/
👉 @sysadminof
👍11