mirror of
https://github.com/ada-dmitry/ada-dmitry.github.io.git
synced 2026-09-24 01:10:35 +00:00
Add lectures on bare-metal infrastructure, automation, virtualization, network services, backup systems, and monitoring
- Created lecture notes for "Инфраструктура на уровне железа" covering IT infrastructure layers, server architecture, storage systems, and redundancy. - Added "Автоматизация в программной инфраструктуре" detailing DevOps principles, automation tools, and configuration management. - Introduced "Введение в виртуализацию" discussing virtualization types, hypervisors, and containerization. - Developed "Базовые сетевые службы" explaining the roles of DNS, DHCP, directory services, and NTP in IT infrastructure. - Compiled "Системы резервного копирования (СРК)" focusing on backup strategies, RTO/RPO concepts, and architecture. - Documented "Системы мониторинга" outlining the importance of monitoring, observability, and key metrics.
This commit is contained in:
@@ -1,55 +0,0 @@
|
|||||||
---
|
|
||||||
done?: true
|
|
||||||
dg-publish: true
|
|
||||||
tags:
|
|
||||||
created: 04.08.2025
|
|
||||||
dg-home: false
|
|
||||||
---
|
|
||||||
Как я и обещал, запускаю небольшой цикл постов о моём маленьком проекте: "Домашняя виртуализация на базе мини-ПК"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Пока я вижу сам цикл так:
|
|
||||||
|
|
||||||
1) Базовые знания (Что такое виртуализация, Proxmox и зачем оно вообще надо?)
|
|
||||||
|
|
||||||
2) Настройка и первый контейнер
|
|
||||||
|
|
||||||
3) А как работать не с домашнего ПК? (Всё, про удаленный доступ и с чем его едят)
|
|
||||||
|
|
||||||
4) Настройка git-сервера
|
|
||||||
|
|
||||||
5) Настройка NAS
|
|
||||||
|
|
||||||
6) Машинка для ботов
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Начнём с базы, которая нам в будущем поможет чуть лучше понимать друг друга)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Виртуализация
|
|
||||||
|
|
||||||
Представьте себе сервер, что первое приходит в голову? Наверное, огромные серверные стойки, большое количество данных, шумное помещение и ещё, может быть, невыносимый холод (надо ж охлаждать эту лабудень...)
|
|
||||||
|
|
||||||
В целом, всё верно, но тут стоит пояснить - сервером, по факту, можно назвать и компьютер, который стоит у вас дома, на работе или на учебе.
|
|
||||||
|
|
||||||
**Сервер -** это тот же комьютер, но нацеленный на круглосуточную работу, на нем не работает обычный пользователь (ну, точнее, может, но об этом в другой раз), на нем "_крутятся_" десятки, а то и сотни сервисов. Ну и главным отличием сервера от обычного ПК можно назвать "_избыточность_" - два блока питания, много плашек оперативной памяти, несколько процессоров (хотя тут спорно), т.е. всё работает на то, чтоб сервер не отвалился, если какая-то из комплектующих решит почить.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
С сервером разобрались, просто очень мощный круглосуточно работающий и неломающийся (условно) компьютер, круто, классно, вопрос: "Почему мы не можем просто запускать на нём нужные нам программы, как мы это делаем обычно, они будут работать параллельно, как при классическом использовании?"
|
|
||||||
Вопрос, сам по себе, очень логичный, но ответ из него вытащить сложно, тут нужно понимание того, а что вообще из себя представляют программы.
|
|
||||||
|
|
||||||
Сильно углубляться не будем, сойдемся на том, что программа (== сервис) - это рабочий, которому нужен определенный набор инструментов. Притом, разным рабочим нужны разные инструменты, но вот дилемма, одному рабочему удобно записывать планы в блокнот, а другом в заметки на телефоне. Суть одна, а вот версии "инструментария" разные. Ну, ещё программы могут очень ловко забирать друг у друга ресурсы, а это тоже плохо.
|
|
||||||
|
|
||||||
Мы можем, конечно, физически разносить программы, т.е. у нас один сервер крутит почту, например, второй - какой-нибудь сайт (типа телеграмма, почему нет), а третий пусть следит за этим всем (мониторинг). Проблема в том, что, например, мониторинг не так много ресурсов требует, а мы для него выделили целый отдельный сервер (от которого он кушает дай б-г 2% мощностей).
|
|
||||||
|
|
||||||
И вот тут на арену влетает магическое слово - **виртуализация.** Фактически, мы просто говорим серверу, что он теперь не просто комьютер, а множество комьютеров, объединенных физически. Мы четко делим сервер на отдельные - **изолированные** _ПК_, с разделением мощностей и инструментария. На каждую из таких ВМ (виртуальная машина - виртуальный ПК на сервере) мы ставим свою ОС (операционная система), свои инструменты, и разворачиваем приложение - победа!
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
На этом я закончу первый пост, он получился весьма объемным.
|
|
||||||
|
|
||||||
Следующим шагом для нас будет рассказ про конкретные виды виртуализаций, а пока, вам вопрос - **"Как называется программа, которая управляет виртуализацией и виртуальными машинами?"**
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
---
|
|
||||||
done?: true
|
|
||||||
dg-publish: true
|
|
||||||
tags:
|
|
||||||
created: 07.08.2025
|
|
||||||
---
|
|
||||||
Мы возвращаемся к нашей эпопее с домашним сервером, напомню, мы в прошлый раз обсуждали, что такое *виртуализация* - это технология, с помощью которой мы можем на одном устройстве (сервере, ПК и т.д.) разместить множество "виртуальных устройств".
|
|
||||||
|
|
||||||
Сегодня мы поговорим о таких вещах, как *контейнеризация* и заденем при этом понятие *гипервизора*.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
Начнем, пожалуй, как раз с *гипервизора*, кратко, емко, четко:
|
|
||||||
## Гипервизоры
|
|
||||||
|
|
||||||
***Гипервизор*** - программа, позволяющая управлять виртуальными машинами и контейнерами (есть небольшое различие, но об этом дальше). На этом, в общем-то, всё, стоит ещё сказать, что гипервизоры бывают двух типов:
|
|
||||||
|
|
||||||
1) <u>*Bare-metal*</u> - т.е. гипервизоры представляющие собой "операционную систему", которая устанавливается напрямую на "железо". Это обеспечивает **наибольшую** производительность и совместимость, но, очевидно, что это сложнее, чем просто поставить VirtualBox)
|
|
||||||
> Примеры: Proxmox, ESXi, oVirt(и производные)
|
|
||||||
|
|
||||||
2) *<u>Hosted</u>* - гипервизор, являющийся натурально программой для уже существующей системы. Такие гипервизоры проще в освоении и используются для пользовательского использования (на винду линукс накатить попробовать).
|
|
||||||
Меньшая производительность т.к. комплектующие эмулируются для машин, но проще в использовании.
|
|
||||||
> Примеры: VMWare Workstation, VirtualBox, QEMU/KVM VM Manager.
|
|
||||||
|
|
||||||
![[Pasted image 20250722230535.png]]
|
|
||||||
|
|
||||||
## Контейнеризация
|
|
||||||
|
|
||||||
Как мы уже говорили, очень круто изолировать каждую программу в отдельной машине, отдельный инструментарий и всё такое, но в чем же проблема?
|
|
||||||
|
|
||||||
А проблема в том, что мы для каждой программки поднимаем *полноценную (иногда урезанную) ОС*, со своим ядром, своими особенностями и т.д.
|
|
||||||
|
|
||||||
И, разумеется, это всё надо питать ресурсами, что дорого, очень дорого, особенно, если у нас отказоустойчивый кластер с *десятками*, а то и *сотнями* машин.
|
|
||||||
|
|
||||||
**Какой же выход?** А очень простой, давайте не поднимать для каждой "машины" отдельную ОС с ядром, а использовать одно - которое предоставляет ОС сервера, а приложения запускать в изолированных "окружениях".
|
|
||||||
|
|
||||||
|
|
||||||
> [!info] Пример
|
|
||||||
> Я не уверен, что смогу объяснить, как это работает, простым языком, но просто представьте, что мы работаем в ресторане и наша задача держать сырье (продукты) в холоде, чтоб те не испортились.
|
|
||||||
>
|
|
||||||
> Вот виртуализация, это если мы для каждого ящика с продуктами будем покупать отдельный холодильник, да, это круто, что выход из строя одного холодильника не повлияет на другие, но пипец, как затратно и по деньгам и по электричеству.
|
|
||||||
>
|
|
||||||
> С другой же стороны, мы можем выделить целую комнату под холодильник, там наладить централизованное охлаждение и туда уже сгружать ящики с продуктами, вот это контейнеризация, когда мы отдельные ящики охлаждаем общей системой.
|
|
||||||
|
|
||||||
|
|
||||||
> К слову, почему я сказал, что гипервизоры для контейнеров и виртуалок отличаются? В сущности, для контейнеров нет как таковой системы, но есть CRI - Container Runtime Interface, то, с помощью чего, контейнеры и запускаются.
|
|
||||||
> ВМ такого не надо, у них у каждой своё ядро. (Но я не хочу разделять понятия, потому что сейчас гипервизоры универсальны и имеют как среду для ВМ, так и CRI)
|
|
||||||
> ![[Pasted image 20250722230511.png|200]]
|
|
||||||
|
|
||||||
В общем-то, на этом всё, но напоследок скажу, что в продакшене часто используют смешанный тип, т.е. мы на виртуализации разворачиваем среду для контейнеризации и в машинах разворчиваем контейнеры смежных приложений, так мы изолируем группы программ друг от друга.
|
|
||||||
|
|
||||||
Спасибо за внимание, в следующей статье мы уже перейдем к конкретным решениям, которые использую я.
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
---
|
|
||||||
dg-publish: true
|
|
||||||
done?:
|
|
||||||
tags:
|
|
||||||
created: 07.08.2025
|
|
||||||
---
|
|
||||||
:LiCalendarDays: Заметка от 07.08.25
|
|
||||||
|
|
||||||
## Основные понятия и термины
|
|
||||||
- [[Как Дима сервер домашний поднимал...]]
|
|
||||||
- [[Коробочки-коробочки...]]
|
|
||||||
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
---
|
|
||||||
dg-publish: false
|
|
||||||
dg-home: false
|
|
||||||
---
|
|
||||||
## Хаб-страницы
|
|
||||||
- [[Летняя школа КРОК - Hub]]
|
|
||||||
- [[Эпопея о домашнем сервере]]
|
|
||||||
|
|
||||||
## Последние заметки
|
|
||||||
- [[Коробочки-коробочки...]]
|
|
||||||
- [[Как Дима сервер домашний поднимал...]]
|
|
||||||
Reference in New Issue
Block a user