Основное преимущество systemd заключается в его способности улучшить управление системными службами и процессами в Linux, делая систему более гибкой, эффективной и быстрой. Вот аспекты, делающие systemd важным:
Позволяет загружать и запускать службы параллельно, что значительно ускоряет процесс загрузки системы по сравнению с традиционными системами инициализации, такими как System V init, которые выполняют запуск служб последовательно.
systemctl list-jobs
Эта команда показывает текущие задачи, которые выполняются параллельно при загрузке системы.
Имеет мощный механизм управления зависимостями между службами. Он может определять порядок запуска служб на основе их зависимостей и условий, что позволяет избежать проблем, связанных с неправильным порядком запуска.
[Unit]
Description=My Service
After=network.target
[Service]
ExecStart=/usr/bin/my_service
[Install]
WantedBy=multi-user.target
Здесь указано, что служба
my_service
должна запускаться после network.target
.Предоставляет единый интерфейс для управления системными службами, монтированием файловых систем, запуском и остановкой процессов, а также отслеживанием состояния системы. Все это делается через команду
systemctl
.systemctl start my_service
systemctl stop my_service
systemctl status my_service
Интегрирован с журналированием через journalctl, что позволяет легко отслеживать и анализировать логи служб и системных событий.
journalctl -u my_service
Эта команда выводит логи конкретной службы
my_service
.Поддерживает создание снимков (snapshots) состояния системы, что позволяет сохранять текущее состояние служб и процессов и восстанавливать его при необходимости.
systemctl snapshot my_snapshot
systemctl isolate my_snapshot
Интегрирован с cgroups (control groups), что позволяет управлять и ограничивать ресурсы (CPU, память и т.д.) для отдельных служб и процессов.
[Service]
CPUQuota=20%
MemoryLimit=500M
Этот конфигурационный файл ограничивает использование CPU до 20% и памяти до 500 МБ для конкретной службы.
Может автоматически перезапускать службы в случае их сбоя, а также задавать тайм-ауты для их завершения или запуска.
[Service]
Restart=on-failure
TimeoutStartSec=30
TimeoutStopSec=30
Эти параметры определяют, что служба будет перезапущена при сбое и задают тайм-ауты для ее запуска и остановки.
Ускоряет загрузку системы, улучшает управление зависимостями служб, предоставляет унифицированное управление, улучшает логирование и диагностику, позволяет создавать снимки состояния системы, контролировать ресурсы и автоматически управлять перезапуском служб.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍2
Файл
/etc/fstab
(file system table) содержит информацию о файловых системах и устройствах, которые должны быть автоматически смонтированы при загрузке системы или вручную пользователем. Этот файл используется системными утилитами и скриптами для монтирования файловых систем. /etc/fstab
Каждая строка в
/etc/fstab
описывает одну файловую систему и состоит из шести полей:/dev/sda1
), UUID (уникальный идентификатор устройства) или метка устройства (label)./dev/sda1
UUID=123e4567-e89b-12d3-a456-426614174000
LABEL=mydisk
/
), домашний каталог (/home
) или специальный каталог для временных файлов (/tmp
)./
/home
/mnt/mydisk
ext4
, xfs
, ntfs
, swap
и vfat
.ext4
xfs
ntfs
defaults
, ro
(read-only), rw
(read-write), noexec
(запрещение выполнения файлов) и другие.defaults
noatime
ro
dump
. Значение 0
означает, что резервное копирование не требуется, а 1
означает, что необходимо включить файловую систему в дамп.0
1
fsck
. Значение 0
означает, что проверка не требуется, 1
указывает на корневую файловую систему, а 2
и более — на другие файловые системы, которые должны быть проверены после корневой./etc/fstab
# <файл устройства> <точка монтирования> <тип файловой системы> <параметры> <дамп> <порядок проверки>
UUID=123e4567-e89b-12d3-a456-426614174000 / ext4 defaults 1 1
/dev/sda2 /home ext4 defaults 0 2
/dev/sdb1 /mnt/storage ext4 defaults,noatime 0 2
/dev/sdc1 swap swap defaults 0 0
/
) с типом ext4
и стандартными параметрами, и указывает, что она должна быть проверена первой./dev/sda2
в каталог /home
с типом ext4
и стандартными параметрами./dev/sdb1
в каталог /mnt/storage
с типом ext4
и дополнительным параметром noatime
, который отключает обновление временных меток доступа./dev/sdc1
в качестве подкачки (swap).Файл
/etc/fstab
хранит информацию о файловых системах и их параметрах монтирования, используемых для автоматического или ручного монтирования устройств в систему.Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Anonymous Quiz
9%
Уменьшение времени выполнения тестов
85%
Обеспечение согласованности среды разработки и производства
3%
Ускорение написания кода
2%
Улучшение взаимодействия с пользователями
👍2👾1
HTTPS (HyperText Transfer Protocol Secure) — это расширение HTTP (HyperText Transfer Protocol), которое используется для безопасной передачи данных по сети. Основное отличие HTTPS от HTTP заключается в том, что HTTPS использует SSL/TLS (Secure Sockets Layer / Transport Layer Security) для шифрования данных, что обеспечивает конфиденциальность и целостность передаваемой информации.
Компоненты HTTPS
https://
.HTTPS обеспечивает безопасную передачу данных между клиентом и сервером с помощью шифрования и проверки подлинности.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3👾1
Anonymous Quiz
90%
Docker
3%
Vagrant
6%
Jenkins
0%
Git
👍1
Inode (index node) — это структура данных в файловых системах Unix и Unix-подобных системах (например, Linux), которая хранит информацию о файлах и каталогах, за исключением их имен и содержимого. Каждому файлу или каталогу в файловой системе соответствует свой уникальный inode.
Предоставляет ключевую информацию о файле, которая необходима для его управления и доступа. Это помогает файловой системе эффективно управлять файлами и каталогами.
Основные функции и информация:
Временные метки:
Когда создается файл, файловая система выделяет inode и один или несколько блоков для хранения данных файла. Inode хранит всю информацию о файле, кроме его имени и содержимого. Имя файла хранится в каталоге, который содержит сопоставление имен файлов с их inodes.
Команда
ls -i
показывает номер inode для каждого файла в каталоге:ls -i
Пример вывода:
1234567 file1.txt
1234568 file2.txt
1234569 directory1
Здесь
1234567
, 1234568
и 1234569
— номера inodes для file1.txt
, file2.txt
и directory1
соответственно.Inode хранит метаданные файла и указатели на его содержимое, что позволяет эффективно управлять файлами и каталогами в файловой системе.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Anonymous Quiz
97%
Автоматизация создания и управления инфраструктурой с помощью кода
1%
Ручное управление серверными настройками
1%
Использование виртуальных машин для разработки
0%
Архивирование данных
Inode могут закончиться на файловых системах с фиксированным числом inodes. Это может произойти на различных типах файловых систем, особенно если система выделяет inodes при создании файловой системы и не может динамически изменять их количество. Как это происходит и на каких файловых системах это может случиться:
- mkfs.ext4 -N 100000 /dev/sdX1
Здесь
-N 100000
указывает на создание 100,000 inodes.- newfs -i 8192 /dev/sdX1
Здесь
-i 8192
задает размер inodes.- mkfs.xfs -i maxpct=25 /dev/sdX1
Здесь
-i maxpct=25
задает максимальный процент inodes от общего объема файловой системы.Для проверки текущего использования inodes можно использовать команду
df
с опцией -i
:df -i
Пример вывода:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 1000000 50000 950000 5% /
Здесь видно, сколько inodes всего, сколько из них используется и сколько свободно.
Новые файлы и каталоги не могут быть созданы, даже если на диске еще есть свободное место. Это приводит к ошибкам при попытке создать новые файлы.
Inodes могут закончиться на файловых системах с фиксированным числом inodes, таких как ext2/ext3/ext4, UFS, HFS/HFS+, и XFS. Это ограничение можно избежать, правильно планируя создание файловой системы и мониторя использование inodes.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Anonymous Quiz
10%
Jenkins
15%
GitLab CI/CD
12%
Bamboo
62%
Apache
Провайдеры в Terraform — это плагины, которые позволяют Terraform взаимодействовать с различными облачными платформами, сервисами и другими API. Они определяют наборы ресурсов и операций для взаимодействия с этими сервисами. Каждый провайдер управляет одной или несколькими службами и абстрагирует детали API, предоставляя удобный способ управления инфраструктурой.
Основные функции
Провайдеры определяют типы ресурсов, с которыми можно работать. Например, провайдер для AWS позволяет управлять EC2-инстансами, S3-бакетами и другими сервисами AWS.
Провайдеры обеспечивают взаимодействие с API целевого сервиса. Они обрабатывают запросы и ответы, управляя состоянием ресурсов в соответствии с конфигурацией Terraform.
Провайдеры обычно предоставляют механизмы для аутентификации и авторизации при доступе к сервисам.
Для начала работы с провайдером необходимо его сконфигурировать в файле конфигурации Terraform. Обычно это делается в файле
main.tf
.provider "aws" {
region = "us-west-2"
access_key = "your-access-key"
secret_key = "your-secret-key"
}
В этом примере настраивается провайдер AWS с указанием региона и учетных данных.
После конфигурации провайдера можно определять ресурсы, которые будут управляться с его помощью.
resource "aws_instance" "example" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
tags = {
Name = "example-instance"
}
}
В этом примере создается EC2-инстанс в AWS.
Когда вы запускаете
terraform init
, Terraform загружает и инициализирует провайдеры, указанные в конфигурации.Провайдеры конфигурируются с помощью блока
provider
, где указываются необходимые параметры, такие как учетные данные и регион.При выполнении команд
terraform apply
или terraform plan
Terraform взаимодействует с провайдерами для создания, изменения или удаления ресурсов в соответствии с конфигурацией.provider "aws" {
region = "us-west-2"
}
resource "aws_instance" "example" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
tags = {
Name = "example-instance"
}
}
В этом примере провайдер AWS конфигурируется для использования региона
us-west-2
, и затем создается EC2-инстанс с указанными параметрами.Провайдеры в Terraform — это плагины, которые позволяют взаимодействовать с различными облачными платформами и сервисами, определяя ресурсы и операции для управления ими.
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
94%
Контроль версий
2%
Проведение интервью с пользователями
3%
Разработка маркетинговых стратегий
1%
Обучение сотрудников
DevOps и Agile — это два различных подхода к разработке и доставке программного обеспечения, хотя они часто используются вместе. Оба подхода имеют свои цели и методы, которые могут дополнять друг друга, но фокусируются на разных аспектах разработки.
Это методология разработки программного обеспечения, которая акцентирует внимание на гибкости, скорости и итеративном подходе к разработке. Основные принципы Agile изложены в Манифесте Agile, который включает четыре ключевых ценности и двенадцать принципов.
Это культурный и методологический подход, направленный на интеграцию и сотрудничество между командами разработки (Dev) и эксплуатации (Ops) для более быстрой и надежной доставки программного обеспечения.
Agile — это методология разработки, фокусирующаяся на итеративном подходе и гибкости, а DevOps — это культурный и методологический подход, направленный на интеграцию разработки и эксплуатации для обеспечения быстрой и надежной доставки программного обеспечения.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
Anonymous Quiz
63%
Puppet
31%
Docker
4%
Nagios
2%
Grafana
Роль DevOps, SRE (Site Reliability Engineering) и IE (Infrastructure Engineering) имеет много общего, но также включает специфические задачи и фокус в каждой области. Давайте рассмотрим каждую из них:
DevOps помогает ускорить выпуск программного обеспечения, повысить его качество и снизить риски за счет автоматизации и тесной интеграции процессов разработки и операций.
Задачи и обязанности:
SRE фокусируется на обеспечении стабильной и предсказуемой работы систем, что критично для поддержания доверия пользователей и минимизации времени простоя.
IE отвечает за создание надежной и масштабируемой инфраструктуры, что является основой для работы всех приложений и сервисов компании.
pipeline {
agent any
stages {
stage('Build') {
steps {
echo 'Building...'
sh 'make build'
}
}
stage('Test') {
steps {
echo 'Testing...'
sh 'make test'
}
}
stage('Deploy') {
steps {
echo 'Deploying...'
sh 'make deploy'
}
}
}
}
provider "aws" {
region = "us-west-2"
}
resource "aws_instance" "example" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
tags = {
Name = "example-instance"
}
}
Для ребенка: DevOps помогает программам быстро работать, SRE следит, чтобы они не ломались, а IE строит и поддерживает компьютеры и сети для этих программ.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1🔥1
GitLab CI/CD предлагает два механизма для управления временными файлами, которые создаются и используются во время выполнения пайплайна: артефакты (artifacts) и кэш (cache). Они служат разным целям и имеют различные характеристики.
Задачи и характеристики:
artifacts
в .gitlab-ci.yml
файле.Пример конфигурации артефактов:
job1:
script:
- make build
artifacts:
paths:
- build/
expire_in: 1 week
Задачи и характеристики:
node_modules
для Node.js или vendor
для PHP), промежуточные результаты сборок.cache
в .gitlab-ci.yml
файле.Пример конфигурации кэша:
job1:
script:
- npm install
cache:
paths:
- node_modules/
job2:
script:
- npm test
cache:
paths:
- node_modules/
Для ребенка: Артефакты — это как временные коробки, которые ты передаешь друзьям, когда работаешь над проектом. Кэш — это как шкафчик, где ты хранишь вещи, чтобы они были под рукой в следующий раз, когда будешь работать над проектом.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2
Anonymous Quiz
98%
Обеспечивает изоляцию приложений и их зависимостей
1%
Ускоряет процесс ручного тестирования
1%
Улучшает взаимодействие с пользователями
0%
Облегчает процесс написания кода
🔥3
Основное преимущество systemd по сравнению с традиционными системами инициализации, такими как SysV init и Upstart, заключается в его расширенных функциональных возможностях и улучшенной производительности. Вот несколько ключевых аспектов, которые делают systemd более предпочтительным:
Что это:
systemd позволяет запускать службы параллельно, в то время как SysV init запускает их последовательно.
Почему это важно:
Параллельный запуск значительно ускоряет время загрузки системы, что особенно важно для серверов и рабочих станций с большим количеством сервисов.
Что это:
systemd автоматически определяет и управляет зависимостями между службами, используя унифицированный формат конфигурации.
Почему это важно:
Это снижает вероятность ошибок конфигурации и облегчает управление службами, так как все зависимости четко определены и отслеживаются.
Что это:
systemd предоставляет встроенные механизмы для мониторинга состояния служб, их перезапуска при сбоях и сбора логов.
Почему это важно:
Это повышает надежность системы, так как службы автоматически перезапускаются в случае сбоев, а администратор может легко отслеживать их состояние и получать диагностическую информацию.
Что это:
systemd использует простые и читаемые файлы конфигурации в формате INI для определения служб и их параметров.
Почему это важно:
Эти файлы легко редактировать и понимать, что упрощает настройку и управление службами для администраторов.
Что это:
systemd поддерживает множество современных функций, таких как cgroups для управления ресурсами, таймеры для замены cron-джобов и сокет-активацию для запуска служб по запросу.
Почему это важно:
Эти функции позволяют более гибко и эффективно управлять ресурсами системы, автоматизировать задачи и улучшать общую производительность.
[Unit]
Description=My Example Service
After=network.target
[Service]
ExecStart=/usr/bin/myservice
Restart=always
[Install]
WantedBy=multi-user.target
Этот файл конфигурации определяет сервис, который будет запускаться после сети и автоматически перезапускаться в случае сбоя.
Для ребенка: systemd — это как умный помощник, который помогает компьютеру быстро включаться, следит за его программами и автоматически чинит их, если они сломаются.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Anonymous Quiz
6%
Развертывание всех изменений сразу
89%
Развертывание изменений на небольшой группе серверов перед полным развертыванием
3%
Тестирование кода в среде разработки
2%
Развертывание старых версий кода
Файл
/etc/fstab
(файловая таблица файловых систем) содержит информацию о файловых системах и устройствах, которые должны быть автоматически подключены (монтированы) при загрузке системы или вручную. Этот файл является важным компонентом конфигурации системы, поскольку он определяет, какие разделы и устройства будут доступны при запуске операционной системы.Каждая строка в
/etc/fstab
описывает одну файловую систему и содержит следующие поля:/dev/sda1
), UUID или метка (label) файловой системы./
, /home
, /mnt/data
).ext4
, xfs
, swap
).defaults
, ro
для только чтения, noatime
для отключения обновления времени доступа).dump
. Значение 0
означает, что резервное копирование отключено, 1
— включено.0
отключает проверку, 1
означает, что файловая система будет проверена первой (обычно корневая файловая система), 2
— проверка будет выполняться после первой.# <файл-система> <точка монтирования> <тип> <параметры> <dump> <pass>
UUID=123e4567-e89b-12d3-a456-426614174000 / ext4 defaults 1 1
/dev/sda1 /boot ext4 defaults 1 2
/dev/sda2 none swap sw 0 0
UUID=987f6543-c21b-34a5-6789-0b1234567890 /home ext4 defaults 0 2
- Файловая система с указанным UUID будет смонтирована в корень (
/
).- Используется файловая система
ext4
.- Параметры монтирования
defaults
.- Будет участвовать в резервном копировании (
dump = 1
).- Будет проверена первой при загрузке (
pass = 1
).- Раздел
/dev/sda1
будет смонтирован в /boot
.- Используется файловая система
ext4
.- Параметры монтирования
defaults
.- Будет участвовать в резервном копировании (
dump = 1
).- Будет проверена после корневой файловой системы (
pass = 2
).- Раздел
/dev/sda2
используется как swap (файл подкачки).- Не имеет точки монтирования.
- Параметры монтирования
sw
.- Не участвует в резервном копировании (
dump = 0
).- Не будет проверяться при загрузке (
pass = 0
).- Файловая система с указанным UUID будет смонтирована в
/home
.- Используется файловая система
ext4
.- Параметры монтирования
defaults
.- Не участвует в резервном копировании (
dump = 0
).- Будет проверена после корневой файловой системы (
pass = 2
).Файл
/etc/fstab
содержит информацию о том, какие файловые системы и устройства нужно подключать при загрузке системы и как это делать.Для ребенка: в файле
/etc/fstab
записано, какие "шкафчики" на компьютере нужно открыть при включении и куда их поставить, чтобы они были удобны для использования.Please open Telegram to view this post
VIEW IN TELEGRAM
👍4