Записки молодого девопсера – Telegram
Записки молодого девопсера
153 subscribers
94 photos
7 files
623 links
Здесь выкладываются различные команды и решения проблем, с которыми приходится сталкиваться, а также интересные статьи и видео из мира IT.
Download Telegram
Ошибку Error was encountered while opening journal files: Input/output error при запуске journarctl с разными параметрами можно решить удалением файлов с нулевым размером и запуском проверки файлов журналов:

sudo find /var/log/journal/ -size 0M -type f -exec rm -rf {} \;
sudo journalctl --verify
Рескан SCSI-шины без учетки рут, но с возможностью sudo
На Centos 6, RHEL 6 и OEL 6 может возникать ситуация, когда с виртуализации
подключают диск на включенную виртуальную машину и гостевая ОС не видит этот диск.
Для обнаружения этого диска/дисков делают рескан SCSI-шины:

for i in `ls /sys/class/scsi_host`; do echo "- - -" | sudo tee /sys/class/scsi_host/${i}/scan; done

После рескана нужный диск/диски появляются в гостевой ОС.
P.S. Либо можно просто перезагрузить гостевую ОС.
Есть такой volume manager для СУБД Oracle, который может собирать из дисков массив в своем формате либо использовать LVM и делать ещё всякие умные штуки, вроде обеспечения отказоустойчивости.
Называется он Oracle ASM (Automatic Storage Management). Дело в том, что средствами не всегда можно понять, что эти
диски (если они не в LVM) используются для хранения каких-то данных. Так как fdisk -l, lsblk, df -h показывает, что эти диски никуда не подключены.
Уже после прочтения гугла выяснилось, что можно это выяснить либо посредством команды blkid и искать диски с типом oracleasm, либо командой
ls -al /dev/oraasm/, в которой можно увидеть куда мапятся эти диски.
(c) Берегите свои данные
$ blkid | grep oracleasm
/dev/block/8:65: TYPE="oracleasm"
/dev/block/8:66: TYPE="oracleasm"
/dev/block/8:67: TYPE="oracleasm"
/dev/block/8:68: TYPE="oracleasm"
/dev/block/8:69: TYPE="oracleasm"
/dev/block/8:70: TYPE="oracleasm"
/dev/block/8:71: TYPE="oracleasm"
/dev/block/8:72: TYPE="oracleasm"
$ grep sd /proc/partitions
8 65 2147483648 sde
8 66 2147483648 sdf
8 67 2147483648 sdg
8 68 2147483648 sdh
8 69 2147483648 sdi
8 70 2147483648 sdj
8 71 2147483648 sdk
8 72 1048576000 sdl
Несколько раз встречались ситуации, когда людям, участвующим в соревнования по компьютерной безопасности CTF задавали вопрос, а как эти соревнования помогли им в жизни. Могу достоверно сказать, что в пятницу они мне и помогли. В Zookeper в base64 хранилась закодированная строка со старыми параметрами подключения к БД. По внешнему виду строки удалось понять, что это base64, потом раскодировать эту строку, в JSON поставить актуальные параметры подключения в базе, закодировать обратно и засунуть все это в Zookeper. Только после этого все завелось.
P.S. Как потом выяснилось, статья с портала поддержки вендора не работает, а все только ломает.
Siebel Application Response Measurement (SARM) - это фреймворк для тестирования производительности, разработанный компанией Oracle.
Позволяет определять места, где наблюдаются проблемы с производительностью Siebel Server.
Данная утилита есть как для Windows, так и *nix-систем.
Типовой сценарий использования:
Вы видите, что на вашем сервере процесс Siebel Server утилизирует по 5-6 ядер (500% нагрузка, обычно она на порядок меньше для одного процесса).
Используем PID этого процесса (например, 1337) и выполним следующие команды в утилите srvrmgr (Siebel Server Manager, утилита для управления Siebel-сервером):
list task for proc 1337
Этой командой мы определяем компоненту, к которой принадлежит процесс с PID 1337 (например, TestComponent).
Затем включаем SARM на этой компоненте, который запишет файлы дампов:
change param SARMLevel=2,SARMBufferSize=5000000,SARMFileSize=15000000,SARMMaxFiles=30 for comp TestComponent
Описание параметров здесь - https://docs.oracle.com/cd/E14004_01/books/PerformTun/PerformTunAboutSARM3.html
Затем используется SARM для анализа полученных файлов:
sarmquery -aggregate area -input ..\dump
Определяется область, где наблюдаются проблемы с производительностью (смотреть столбец ResponseTime)
sarmquery -select area=objmgr -aggregate subarea -input ..\dump
Определяется подобласть (обращаем внимание на тот же столбец, что и выше)
sarmquery -select subarea=slow_slow_element -aggregate instance -input ..\dump
Определяем элемент, который глючит и идем передавать привет разработчику
Базовый обзор Kubernetes и немного о контейнерах, благодаря которому и появилось это решение для оркестрации
https://www.magalix.com/blog/kubernetes-101-concepts-and-why-it-matters
True :) (с коллегой приносим еду только в контейнерах)
Resize LV-тома после увеличения размера диска:
for i in `ls /sys/class/scsi_host`; do echo "- - -" | sudo tee /sys/class/scsi_host/${i}/scan; done
sudo pvresize /dev/sdb
sudo lvresize /dev/test_vg/test_lv -r -l +100%FREE

Вывод из консоли:
https://pastebin.com/HMUURsmZ
Когда хотел открыть доступ к репозиторию NPM и открыл немного не тот ресурс https://npm.org/
Должен быть, https://npmjs.org/
Kickstart - способ автоматической установки ОС RHEL-based дистрибутивов (OEL, Fedora, Centos, etc). Для автоматической установки создается сценарий, в котором описывается, какие шаги нужны выполнить в ходе установки - разметка диска, раскладка клавиатуры, часовой пояс, список пакетов, настройка сетевых интерфейсов (бондинг, тиминг) и так далее.
После создания сценария при запуске установки с ISO образа нужно указать откуда грузить файл сценария (http/https, ftp и так далее).
Я обычно в самом конце параметров загрузки указываю следующее:
inst.ks=http://some_ip_or_hostname:port/ks.cfg inst.nosave=all

первая инструкция указывает путь, откуда забирать kickstart-конфиг, вторая - не сохранять на хостовой системе после установки логи установки и kickstart-файл.

Варианты установки:
1) У вас уже есть запущенная виртуалка и вы хотите развернуть вторую.
Любым способом поднимаете веб-сервер (я делаю это командой python -m SimpleHTTPServer [port])
Подсовываете новой виртуалке ISO, прописываете параметры руками и отдыхаете (ждете окончания установки)
2) Использовать Packer (https://www.packer.io/), который позволяет автоматизировать процесс запуска веб-сервера и прописывание параметров загрузки (он делает это сам, вам только остается написать правильный JSON и запустить сам Packer). Вот вариант для Vmware (https://www.packer.io/docs/builders/vmware-iso.html). В результате вы можете получить эталонный образ, с которого можете раскатывать новые виртуальные машины.