Системный Администратор (Сисадмин)
14.1K subscribers
1.76K photos
1.76K videos
87 files
1.85K links
Настройка серверов Windows, Linux, сетевое оборудование Cisco Systems, D-Link, HP, Huawei, Juniper, MikroTik. Книги и мануалы для сисадминов.
По всем вопросам @evgenycarter

РКН clck.ru/3KoGJ3
Download Telegram
Шпаргалка по часто используемым командам systemctl

1. Посмотреть статус службы. Покажет статус службы на примере сети network
systemctl status network

2. Запустить сервис. Запустит сервис баз данных на примере mysql
systemctl start mysql

3. Остановить службу. Остановит сервис времени ntpd
systemctl stop ntpd

4. Перезапустить службу. Перезапустит веб-сервер nginx
systemctl restart nginx

5. Включить автозапуск службы. Разрешит автозапуск веб-сервера apache
systemctl enable apache

6. Отключить автозапуск службы. Запретит автозапуск брандмауэра firewalld
systemctl disable firewalld


7. Выполнить команду на удаленной системе. Остановит cron на компьютере с IP-адресом 192.168.0.15, подключившись под учетной записью root
systemctl --host root@192.168.0.15 stop cron

8. Перезагрузить сервер. Перезагрузит локальный сервер
systemctl reboot

9. Проверка работы сервиса. Выполняется с помощью опции is-active. В данном примере мы проверим работу службы docker.
systemctl is-active docker

а) Если сервис запущен, мы увидим:
active

б) Если не запущен:
failed

... или:
inactive

в) Если такого сервиса нет в системе:
unknown

... или:
inactive

Если сервис не работает или его нет в системе, команда вернет код ошибки, таким образом конструкция:
systemctl is-active docker && docker run hello-world
... приведет к выполнению команды docker run hello-world только в том случае, если сервис docker работает.

📲 Мы в MAX

👉 @sysadminof
5👍4
💪 Меньше переключений между сервисами — больше контроля над встречами и рабочими задачами

11 февраля в 11:00 мск команда Труконф представит TrueConf Calendar Connector 2.0 — мост между системой объединенных коммуникаций TrueConf Server и корпоративным календарём Microsoft Exchange. Решение поможет быть в курсе и не пропускать события благодаря мгновенной синхронизации списка участников и мероприятий в календаре на любом устройстве пользователя.

🔥 Демонстрации:

😊 создание, редактирование и удаление событий с конференциями в корпоративном календаре прямо из приложений Труконф;
😊 планирование событий от имени другого участника;
😊 возможность скрывать отменённые события;
😊 новые версии плагинов для Microsoft Outlook, Mozilla Thunderbird, Р7-Офис и RuPost;
😊 и другие изменения.

➡️ Регистрация открыта.

@trueconf

Реклама. ООО «Труконф». erid:2VtzqxgsfXR
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Proxmox

Proxmox 8.1 Upgrade. Обзор. Как безопасно обновиться
Proxmox. Что это? Зачем виртуализация? Возможности и общая информация.
Proxmox Установка и обзор функций WebUI
Proxmox. Linux VM. Установка и настройка.
Proxmox. Windows VM. Установка и настройка.
Proxmox. LXC Container. Установка и настройка линукс контейнеров.
Proxmox. Templates для VM и LXC. Linked vs Full templates.
Proxmox Backup Server. Установка, настройка, тест, обзор функций.

источник

📲 Мы в MAX

👉 @sysadminof
👍7🔥5🥱2
Media is too big
VIEW IN TELEGRAM
Установка Ubuntu 20.04 в RAID 1. Настройка и восстановление RAID массива

Настройка Software RAID при установке Ubuntu Server 20.04.
Комманды в видео:

cat /proc/mdstat | Просмотр состояния RAID
fdisk -l | Простомотр дисков и разделов

mdadm --add /dev/md1 /dev/sda2 | Добавление разделов (partition) в RAID
sfdisk -d /dev/sda | sfdisk /dev/sdb | Клонирование разделов с диска sda на sdb

grub-install /dev/sdb | Установка загрузчика на новый диск sdb

📲 Мы в MAX

👉 @sysadminof
👍4🔥4
☁️ KVM + Cloud-Init: Настройка сервера «без рук»

В продолжение поста. Мы научились поднимать "железо" через Terraform. Но что толку от запущенной VM, если в нее нужно заходить через VNC-консоль, вручную создавать пользователя, прописывать пароли и ставить nginx?

Это медленно и небезопасно.

Решение Cloud-Init. Это стандарт де-факто для инициализации облачных инстансов (AWS, Azure, DigitalOcean), который прекрасно работает и на локальном KVM.

🎯 Задача

При команде terraform apply:

1. Создать VM.
2. Автоматически создать пользователя admin.
3. Закинуть туда ваш публичный SSH-ключ (чтобы заходить без пароля).
4. Установить Nginx и Docker.

📝 Шаг 1. Пишем конфиг (cloud_init.cfg)

Создайте файл cloud_init.cfg. Это обычный YAML, который описывает, что нужно сделать внутри ОС при первом старте.


#cloud-config
hostname: my-web-server
fqdn: my-web-server.local
manage_etc_hosts: true

users:
- name: admin
sudo: ALL=(ALL) NOPASSWD:ALL
shell: /bin/bash
ssh_authorized_keys:
- ssh-rsa AAAAB3Nza... (ваш публичный ключ id_rsa.pub)

packages:
- nginx
- htop
- git

runcmd:
- [ systemctl, enable, nginx ]
- [ systemctl, start, nginx ]
- [ echo, "Hello from Cloud-Init!", >, /var/www/html/index.html ]



🔗 Шаг 2. Подключаем к Terraform

В наш файл main.tf (из прошлого поста) добавляем ресурс диска Cloud-Init. Terraform создаст маленький ISO-образ с нашим конфигом и подключит его как CD-ROM к виртуалке.


# 1. Читаем конфиг
data "template_file" "user_data" {
template = file("${path.module}/cloud_init.cfg")
}

# 2. Создаем диск с настройками
resource "libvirt_cloudinit_disk" "commoninit" {
name = "commoninit.iso"
user_data = data.template_file.user_data.rendered
}

# 3. Цепляем к машине
resource "libvirt_domain" "vm" {
# ... остальные настройки ...

# Самая важная строчка:
cloudinit = libvirt_cloudinit_disk.commoninit.id

# ...
}



🚀 Результат: Вы запускаете terraform apply.
Через 30 секунд у вас есть поднятый сервер с установленным Nginx. Вы просто пишете:
ssh admin@<ip-address>
...и сразу попадаете внутрь. Никаких паролей, никаких ручных установок.


💡 Важный нюанс: Cloud-Init работает только на специальных Cloud Images (например, Ubuntu Cloud, CentOS GenericCloud, Debian Cloud).
Если вы попытаетесь скормить ему обычный установочный ISO (Desktop/Server installer), магии не произойдет, там нет демона cloud-init, который читает конфиг при загрузке.

Коллеги, а вы используете Cloud-Init или по старинке Ansible/Chef/Puppet накатываете настройки уже после того, как машина загрузилась?

#sysadmin #cloudinit #terraform #kvm #devops #automation #linux

📲 Мы в MAX

👉 @sysadminof
4👍3🤨2🔥1
🔍 Вы уверены, что знаете, какое ПО реально установлено у ваших сотрудников?

Чаще всего бизнес теряет деньги не на взломах, а на:

🚫 неучтенном софте
🚫 дублирующихся лицензиях
🚫 срочных закупках и штрафах после проверок

Это и есть теневые ИТ — незаметная пробоина в бюджете и безопасности.

С 16 по 20 февраля «Инферит ИТМен» проводит бесплатный онлайн-марафон. Говорим только о практике:

как найти неучтенное ПО
как остановить перерасход из-за хаоса в активах
с чего начинается реальный контроль инфраструктуры

Марафон пройдет в закрытом Telegram-канале.
Материалы остаются у участников.

👉 Участвовать бесплатно
👎2👍1
Шпаргалка по ZFS

modinfo zfs | head -n 9 - узнать версию ZFS и другие подробности

Информация о пулах / файловых системах (ФС) на пулах
zpool list - статус пулов
zpool status -v - статус пулов подробный
zfs list - список ФС, так называются монтируемые разделы в пулах
zfs get all - вся инфа по пулам, вообще вся

Управление пулами / дисками
ls -lha /dev/disk/by-id/ - выяснить айдишники дисков чтобы потом на них создать пул (будут проблемы если подцепишь по буквенному названию диска типа sda, они динамически меняются)
zpool create zfspool disk-id-1 disk-id-2 - может быть сколько угодно дисков, с ключом -f форсить создание пула
zpool create -m /mnt/backups zfspool disk-id-1 - создать пул с указанием папки маунтирования
zpool destroy zfspool - уничтожить пул zfspool, с ключом -f форсить уничтожение
mkfile 100m disk1 disk2 - создать файлы дисков
zpool create backups /disk1 /disk2- создать пул backups на созданных файлах
zpool create zfspool mirror /disk1 /disk2 - создать пул zfspool с зеркалированием на 2 диска
zpool add zfspool /disk3 - добавить диск в пул
zpool attach zfspool /disk3 - добавить устройство в пул, если он в зеркале то станет в зеркало, если простой, то пул расширится
zpool remove zfspool mirror-1
zpool detach zfspool /disk3 - исключить устройство из пула
zpool remove zfspool /disk3 - удаление устройства из пула
zpool add zfspool spare /disk3 - добавление диска горячей замены в пул
zpool remove zfspool spare /disk3 - удаление диска горячей замены из пула
zpool offline zfspool /disk1 - отключить устройство, на него не будет никакой записи и с него чтения, если добавить ключ -t, то после ребута станет онлайн
zpool online zfspool /disk1 - включить disk1
zpool replace zfspool /disk1 /disk3 - заменить disk 1, например в случае неисправности на disk3
zpool upgrade -v - увидеть версию, и фичи текущего ZFS, -a обновит все пулы до новейшей версии

Создание ФС и свойства ФС
zfs create zfspool/data - создать ФС data
zfs create zfspool/backups создать ФС backups, обе ФС будут бесконтрольно расти, пока не выставлены квоты
zfs destroy -fr zfspool/backups/old - уничтожит ФС old, ключ -r - рекурсивно, если внутри ещё несколько ФС, -f - форсить

zfs set reservation=1G zfspool/data - зарезервировать 1 Гигабайт, который ФС гарантированно получит, а другие не займут
zfs list -o quota zfspool/backups - выяснить квоту в пуле на ФС backups

zfs set quota=1G zfspool/backups - установить квоту в 1 Гигабайт на ФС backups
zfs list -o compression - проверить включена компрессия или нет

zfs set compression=on zfspool/backups - включить компрессию на ФС backups в пуле zfspool

zfs set sharesmb=on zfspool/backups - расшарить по SMB ФС backups средствами ZFS
zfs set sharenfs=on zfspool/backups - расшарить по NFS ФС backups средствами ZFS

Маунт
zfs mount - отобразить все маунтированные ФС
zfs mount zfspool/backups - маунт ФС backups
zfs umount zfspool/backups - анмаунт ФС backups
zfs mount -a - маунт всех ФС ZFS
zfs umount -a Umount - анмаунт всех ФС ZFS

Снапшоты
zfs list -t snapshot - отобразить все снапшоты
zfs list -o space - сколько занимают места снапшоты и конкретные дети пулов
zfs snapshot zfspool/backups@test - создать снапшот ФС backups с названием test
zfs rollback zfspool/backups@test - вернуться к снапшоту backups с названием test, с ключом -r рекурсивно уничтожит промежуточные снапшоты, с ключом -f форсит анмаунт и ремаунт
zfs destroy zfspool/backups@test - уничтожить снапшот backups с названием test
zfs send zfspool/backups@march2021 > /home/backups/march2021.bak - сделать локальный бекап снапшота march2021
zfs receive zfspool2/backups2 < /home/backups/march2021.bak - Восстановить из локального снапшота ФС на другом пуле
zfs send zfspool/backups@march2021 | zfs receive zfspool2/backups2 - Комбо предыдущих двух
zfs send zfspool/backups@march2021 | ssh COMP02 “zfs receive testpool/testfs” - Отправить снапшот по SSH на хост COMP02
zfs clone zfspool/backups@march2021 /clones/backups - Клонировать существующий снапшот
zfs destroy zfspool/backups@march2021 - Уничтожить клон

📲 Мы в MAX

👉 @sysadminof
1👍4🔥2
📊 Мониторинг KVM: Prometheus + Grafana + Node Exporter

Мы подняли парк виртуальных машин. Но как узнать, что на web-server-01 закончилась память, а db-02 уперлась в полку по CPU? Смотреть htop на каждом сервере не выход.

Строим классический стек мониторинга. Это стандарт индустрии: бесплатно, гибко и выглядит так, что начальство будет в восторге.

🛠 Три мушкетера мониторинга

1. Node Exporter: Агент-шпион. Ставится на каждую Linux-машину (VM). Собирает метрики (CPU, RAM, Disk, Net) и отдает их по HTTP.

2. Prometheus: База данных (TSDB). Периодически опрашивает всех агентов («скрейпит») и сохраняет историю изменений.

3. Grafana: Красивая "морда". Рисует графики, дашборды и шлет алерты в Telegram.


🚀 Шаг 1. Ставим агента (на каждую VM)

На целевой виртуалке скачиваем и запускаем node_exporter.
Самый простой способ - через Systemd, чтобы он стартовал сам.

Создаем юнит /etc/systemd/system/node_exporter.service:


[Unit]
Description=Node Exporter
After=network.target

[Service]
User=node_exporter
ExecStart=/usr/local/bin/node_exporter

[Install]
WantedBy=multi-user.target



Не забудьте открыть порт 9100 в фаерволе!

💾 Шаг 2. Настраиваем Prometheus (Сервер мониторинга)

На сервере мониторинга в prometheus.yml добавляем наши виртуалки в список целей:


scrape_configs:
- job_name: 'kvm_vms'
static_configs:
- targets:
- '192.168.122.10:9100' # web-server
- '192.168.122.11:9100' # db-server



Перезапускаем Prometheus. Теперь он каждые 15 секунд (по дефолту) ходит к виртуалкам и спрашивает: «Как дела?».

🎨 Шаг 3. Визуализация в Grafana

Заходим в Grafana -> Data Sources -> Add Prometheus.
А теперь магия: не нужно рисовать графики вручную!

1. Идем в Dashboards -> Import.

2. Вводим ID готового дашборда: 1860 (или 11074).

3. Нажимаем Load.

Вуаля! У вас перед глазами полная картина: загрузка ядер, потребление RAM, IOPS дисков и сетевой трафик по каждой машине.


💡 Pro Tip для KVM: libvirt-exporter

Node Exporter показывает то, что видит сама виртуалка. Но иногда виртуалка "врет" или зависает так, что агент не отвечает.

Чтобы видеть ситуацию снаружи (со стороны гипервизора), поставьте на хост-машину libvirt-exporter.
Он берет метрики напрямую из KVM/QEMU. Вы увидите:

🩵Реальное потребление CPU (включая Overhead).
🩵Статус машин (Running/Paused/Shutdown).
🩵Проблемы с дисками на уровне хоста.

👉 Zabbix или Prometheus? Кто чем пользуется в проде и почему?

#sysadmin #monitoring #prometheus #grafana #devops #linux

📲 Мы в MAX

👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62
💻 Как жить без Телеграма и кому (и зачем) нужен собственный мессенджер вместо облачного?

С этим Pro HiTech и Труконф разобрались ещё год назад. Всё просто: не хотите попасть под «замедления» и пр. неприятности, ставьте и администрируйте ИТ-системы внутри своей компании самостоятельно.

Что для российских компаний предлагает Труконф:

⚡️бесплатный мессенджер с ВКС и набором полезных функций для удаленного взаимодействия на 300 абонентов;
⚡️ много привычных функций: каналы, папки, архив, избранное, пины и чат-боты для интеграции с др. сервисами;
⚡️ корпоративная адресная книга (никто не подделает учётку коллеги) со статусами доступности (В сети, Занят, В конференции, Офлайн и т.д.)
⚡️ много опций для защиты общения, модерация;
⚡️ передача больших файлов и папок более 2 Гб;
⚡️ запуск звонков и конференций напрямую из чатов;
⚡️ и многое другое.

💬 А каким файлообменником пользуетесь вы?

Реклама. ООО «Труконф». erid:2Vtzqv6xBeB
Please open Telegram to view this post
VIEW IN TELEGRAM
13🤮13👍6😁3🫡2👏1🥴1
This media is not supported in your browser
VIEW IN TELEGRAM
Relax-and-Recover

Решение для аварийного восстановления и миграции систем на новое железо под управлением Linux (ср. mksysb,
ignite)

Relax-and-Recover создает загрузочный образ. Этот образ может переразметить систему. После этого запускается восстановление из резервной копии. Возможно восстановление на другое оборудование. Поэтому Relax-and-Recover можно использовать и как инструмент миграции.

В настоящее время Relax-and-Recover поддерживает различные загрузочные носители (включая ISO, PXE, ленту OBDR, USB или eSATA), разнообразные сетевые протоколы (включая sftp, ftp, http, nfs, cifs), а также множество стратегий резервного копирования (включая IBM TSM, CommVault, Micro Focus Data Protector, Symantec NetBackup, Bareos, Bacula, rsync, Borg).

Решение Relax-and-Recover было разработано для простой настройки, не требует обслуживания и готово прийти на помощь в случае бедствия. Его характер "установил и забыл" устраняет любые оправдания для отсутствия решения по аварийному восстановлению.

http://relax-and-recover.org/

https://github.com/rear/rear

📲 Мы в MAX

👉 @sysadminof
👍4
Команда findmnt

Это простая утилита командной строки, используемая для отображения списка подключенных файловых систем или поиска файловой системы в /etc/fstab, /etc/mtab или /proc/self/ mountinfo.

Для отображения списка подключенных файловых систем, выполните в командной строке следующую команду.
По умолчанию команда findmnt отображает файловые системы в древовидном формате.
# findmnt

Чтобы отобразить информацию в виде обычного списка, используйте параметр -l, как показано ниже
# findmnt -l

Можно выбрать отображение файловых систем только определенного типа, используя параметр командной строки -t, за которым следует тип файловой системы, такой как XFS или EXT4.
# findmnt --fstab -t xfs или # findmnt --fstab -t ext4

Поиск файловой системы, используя точку монтирования.

Например, следующая команда отображает все файловые системы /etc/fstab, где каталогом точки монтирования является /mnt/external/disk2.
# findmnt --fstab /mnt/external/disk2 #this prints bind mounts where /mnt/external/disk2 is a source
или # findmnt --fstab --target /mnt/external/disk2

Выводим все файловые системы /etc/fstab и преобразовываем теги LABEL = и UUID = в реальные имена устройств, добавьте ключ – –evaluate
# findmnt --fstab --evaluate

Отобразить только точку монтирования, в которой смонтирована файловая система с меткой «/ boot» или «/», используйте следующую команду.
# findmnt -n --raw --evaluate --output=target LABEL=/boot или # findmnt -n --raw --evaluate --output=target LABEL=/

Findmnt также позволяет отслеживать действия по монтированию, размонтированию, перемонтированию и перемещению каталога, например, в /mnt/test.
# findmnt --poll --mountpoint /mnt/test

Если вы хотите больше информации в выводе, используйте ключ –verbose.
# findmnt --real --verbose

📲 Мы в MAX

👉 @sysadminof
👍4
Зайд Менк, студент из Зимбабве, потратил более 3 месяцев на создание масштабной модели Манхэттена из переработанных компьютерных деталей.

📲 Мы в MAX

👉 @sysadminof
🔥17👍2💩1🗿1