37
Karma
0.1
Rating
Lev Goncharov @ultral

DevOps Engineer

Linux Quest. Поздравляем победителей и рассказываем про решения заданий

+7

вставлю свои 5 копеек. все задачи рещаются без включения сервера. запускаем, монтируем, чрутимся:


  1. все находится через bashhistory и/или поиском файлов которые не принадлежат пакетному мэнеджеру/были модифицированы
  2. часть ключей находим аналогично 1 пункту через rpm -Va. так же можно отфильтровать приватные и Localhost сети, но в целом особых вопросов нет.
  3. тут все интересно. у меня это вышле лютый квест:
    1. из /dev/sdc2 можно вытащить бэкап lvm dd if=/dev/sdc2 bs=512 count=255 |strings |less
    2. там вы видимо что
      • есть раздел DDuTdi-LRaP-U4k7-9HPF-srd9-v1kc-r7whQ7 который из md0 в 15гб
      • еще партиция bdBVau-FNcg-B5vL-Rf70-8yC4-1Ljr-c85wpg из /dev/sdb2
      • Значит sdb2&sdd2 Должны быть в raid0
    3. изучаем внитмальено диски.
      • на /dev/sdb2 на смещение 4мб лежит структура LVM(определяем по ключевыому слову LABELONE)
      • смещение подозрительно похоже на размер PE экстента который мы увидили в бэкапе LVM
      • mbr содержит ключевые AA55
      • напрашивается вывод что диски в массиве без суперблоков со смещением 8МБ
    4. сравнивая hex дисков, можно предположить размер страйпа 128кб — ошибочно, в доке 64кб для времен когда суперблоков не было. не катит
    5. помня про смещением создаем соотвествующу таблицу разделов в массиве со смещеним 8мб.
    6. пробуем собрать массив с разными параметрами 4кб-4мб с шагом 4кб mdadm -B --chunk $i --verbose /dev/md0 --assume-clean --level=0 --raid-devices=2 /dev/sda2 /dev/sdc2 (порядок дисков определяем по наличию LVM структур)
    7. изначально нашел размер 256к. получил мальца битую фс. проверяем.
    8. находим файл mysql и грепаем ключ оттуда.

HEX

sdd2


04dd000: 0000 0000 0000 0000 bb30 185b bb30 185b  .........0.[.0.[
04dd010: bb30 185b 0000 0000 0000 0000 0000 0000  .0.[............
04dd020: 0000 0000 0000 0000 0000 0000 0000 0000  ................
04dd030: 0000 0000 0000 0000 0000 0000 0000 0000  ................
04dd040: 0000 0000 0000 0000 0000 0000 0000 0000  ................
04dd050: 0000 0000 0000 0000 0000 0000 0000 0000  ................
04dd060: 0000 0000 0000 0000 0000 0000 0000 0000  ................
04dd070: 0000 0000 0000 0000 0000 0000 0000 0000  ................
04dd080: 0000 0000 0000 0000 0000 0000 0000 0000  ................
04dd090: 0000 0000 0000 0000 0000 0000 0000 0000  ................
04dd0a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
04dd0b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
04dd0c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
04dd0d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
04dd0e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
04dd0f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
04dd100: 6d41 0000 0010 0000 c99c 8e5c d99a 8e5c  mA.........\...\
04dd110: d99a 8e5c 0000 0000 0000 1600 0800 0000  ...\............
04dd120: 0000 0000 ab00 0000 1d20 0000 0000 0000  ......... ......
04dd130: 0000 0000 0000 0000 0000 0000 0000 0000  ................
04dd140: 0000 0000 0000 0000 0000 0000 0000 0000  ................
04dd150: 0000 0000 0000 0000 0000 0000 0000 0000  ................
04dd160: 0000 0000 0000 0000 0000 0000 0000 0000  ................
04dd170: 0000 0000 0000 0000 0000 0000 0000 0000  ................
04dd180: 1c00 0000 f44c e482 f44c e482 ec5e 6597  .....L...L...^e.
04dd190: bb30 185b 0000 0000 0000 0000 0000 02ea  .0.[............
04dd1a0: 0706 4400 0000 0000 1c00 0000 0000 0000  ..D.............
04dd1b0: 7365 6c69 6e75 7800 0000 0000 0000 0000  selinux.........

sdb2
04fffe0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
04ffff0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0500000: ed41 0000 0010 0000 d38e 8e5c d530 185b  .A.........\.0.[
0500010: d530 185b 0000 0000 0000 0400 0800 0000  .0.[............
0500020: 0000 0800 0300 0000 0af3 0100 0400 0000  ................
0500030: 0000 0000 0000 0000 0100 0000 3321 0000  ............3!..
0500040: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0500050: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0500060: 0000 0000 da4d bac3 0000 0000 0000 0000  .....M..........
0500070: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0500080: 1c00 0000 a4ad be5c a4ad be5c 0cfd 4314  .......\...\..C.
0500090: c530 185b a404 77ed 0000 0000 0000 02ea  .0.[..w.........
05000a0: 0706 4000 0000 0000 1e00 0000 0000 0000  ..@.............
05000b0: 7365 6c69 6e75 7800 0000 0000 0000 0000  selinux.........
05000c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
05000d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
05000e0: 7379 7374 656d 5f75 3a6f 626a 6563 745f  system_u:object_
05000f0: 723a 6c6f 6361 6c65 5f74 3a73 3000 0000  r:locale_t:s0...
0500100: ed41 0000 0010 0000 d38e 8e5c 7545 185b  .A.........\uE.[
0500110: 7545 185b 0000 0000 0000 0200 0800 0000  uE.[............
0500120: 0000 0800 4c00 0000 0af3 0100 0400 0000  ....L...........
0500130: 0000 0000 0000 0000 0100 0000 3421 0000  ............4!..

Обзор арифмометра Феликс М

Запускаем приложение в Openshift и сравниваем существующий инструментарий

0
снизить вероятность удачной отладки? или снизить вероятность самого процесса отладки?

Запускаем приложение в Openshift и сравниваем существующий инструментарий

0
добавить новый слой вложености и генерировать плэйбуки на лету?

Запускаем приложение в Openshift и сравниваем существующий инструментарий

0
да, именно про эту проблему и говорил в комментарии про плэйбуки, что логику по плэям размазываем.

Запускаем приложение в Openshift и сравниваем существующий инструментарий

Запускаем приложение в Openshift и сравниваем существующий инструментарий

0

в моем обзоре это "Scripts and template". с этим жить можно но попахивает велосипедами. без понятно на то необходимости, не стал бы тащить.


Зачем может такое понадобиться? ну предположим


  • мы хотим использовать мощь ООП, описать нашу инфраструктуру и потом перенести в реальный мир… ну ок… как потом поддерживать это не понятно… могут же и узнать домашний адрес после увольнения вашего. ^_^
  • более реальный случай, у нас есть некая СМДБ, с которой мы выгружаем нашу инфру(описание стэндов каких-нибудь?), генерим шаблон и катим…

можно. но зачем?

Запускаем приложение в Openshift и сравниваем существующий инструментарий

0
Жаль, что не рассмотрены альтернативные решения.
это какие? что упустил?

про сборку:


  • Ansible bender — замена ansible container, форсится как замена ansible container
  • source2image — грубо ci/cd из коробки из опешифта

про управление


  • operator — мб доберусь
  • Automation broker -мб доберусь
  • kustomize — вмерджен в kubectl, не актуально
  • helm — у нас опеншифт, извините

Запускаем приложение в Openshift и сравниваем существующий инструментарий

0
мы для этого используем «мета роли». Это специальный вид ролей, который инклюдает другие роли с параметрами. Мы в них собираем конфигурацию из кирпичиков.

Приведу пример. Пусть есть базовые роли
— install java
— install oracle
— install postgresql
— install wildfly
— install glassfish

Есть мета роль «install app 3.2.1.» установить наше приложение версии 3.2.1. поверх pg и установить такие-то пароли, она, условно инклюдает часть ролей передавая туда параметры при инклюде.

далее мета роль применяем на сервера и радуемся жизни. проблемы начинаются когда это надо множить на несколько серверов… это решается не очень удобно тем, что есть playbook установи приложение версии 1.2.3 и там размазана логика по плэям.

Запускаем приложение в Openshift и сравниваем существующий инструментарий

0
Но создание своего решения, далеко не факт что приведет вас к счастью. Если не секрет к чему склоняетесь?

Let's deploy to Openshift

Достать до звезд: Осваиваем операторы Ansible для управления приложениями в Kubernetes

Я застрял! Или как преодолеть эффект плато в изучении английского

0

Субъективно, для преодоления второго плато надо на порыве энтузиазма надо себя зацепить/замотивировать и выработалась привычку учиться/потребоять контент на английском.

Я застрял! Или как преодолеть эффект плато в изучении английского

How to learn English

How to learn English

How to learn English

How to learn English

0

I faced approximately the same issues. However, I chose an other ways:


  • I write articles & documentation, some times I publish articles. It helps to improve vocabulary, fluency & grammar.
  • I buy hours at preply for improving pronunciation.
  • I'm preparing ansible course for foreign colleagues & speech for meetup.

How to learn English

0
From my point of view, lingualeo is good enough for a1->b1. I bought lingualeo premium, because of sale. In general there is no major difference between tools.

How to learn English

How to learn English

+1
It's a sophisticated question. On one hand, you are right, but on the other hand, how to find an error(s)?

Arithmometer Felix M review

Arithmometer Felix M review

About monitoring

0
It makes sens. From my point of view, writing is pretty good way to convert your passive vocabulary(also idioms, phrases, etc) to active. Do you know any other useful ways to do it without speaking?

Arithmometer Felix M review

0

Well, it’s a sophisticated question… I did photos 6 years ago for the original post. The gadget is a part of decorations in my apartments. I have a task in a trello for reparing & cleaning the gadget… however, I have moved it from Chelyabinsk to Saint Petersburg only.

Мечтают ли YML программисты о тестировании ansible?

0

Не обязательно же весь переписывать. Вагрант хитро инклюдит из множнства мест. Кухня это фрэймворк с кучей ручек ддя настройки. И то что так можно настроить, не означает что так надо.


Может для конкретики обсудим более прикладную задачу?

Мечтают ли YML программисты о тестировании ansible?

0
спасибо, интересная ссылка. на кухне подобное делал подсовывая свой vagrantfile

Мечтают ли YML программисты о тестировании ansible?

0
кухне можно подсунуть свой vagrantfile, в котором несколько виртуалок. строго говоря там же тестируется не роль, а плэйбук. Что вы там напишите это же ваше дело.

Мечтают ли YML программисты о тестировании ansible?

0
в testkitchen такой подход как раз удобно реализовать, но дружить с ansible не очень удобно

Мечтают ли YML программисты о тестировании ansible?

0

Именно в такой формулировке не сталкивался. В packer это решали отдельным шагом. При тестирование своего линукс дистрибутива в эта логика была в обертке на баше которая выжидала поднятие сети по таймауту

Мечтают ли YML программисты о тестировании ansible?

0

Нескольких ролей на одном хосте — да. А если мне надо тестировать поэйбук который конфигурирует 3 сервера? Как молекула с таким справится?


Имхо никак. Это не ее цель

Hello world! Или англоязычный Хабр, v1.0

Мечтают ли YML программисты о тестировании ansible?

0
да все так примерно, кода тебе надо тестировать не отдельную роль, а множество связных ролей/северов/сервисов. В принципе же классическая пирамида тестирования получается.

Поэтому и пишу что кухня «сложная». Щас вектор мысли примерно такой:
1. по максимуму выносить «юнит тестирование», это как раз молекула.
2. на создание виртуалок забить из-за того что долго, делать ревью при мерджах.
3. модули ansible тестировать средствами языка

Test me if you can. Do YML developers Dream of testing ansible?

Hello world! Или англоязычный Хабр, v1.0

0

Ок, спаибо. А то у меня уже пяток-десяток статей лежит ждет.

Hello world! Или англоязычный Хабр, v1.0

+1
про обновление правил про кросс поты будет отдельный анонс или как?

Hello world! Or Habr in English, v1.0

Анонимный Дед Мороз 2018-2019: пост хвастовства новогодними подарками

Гайд по айтишному движу Петербурга

Гайд по айтишному движу Петербурга

+1

как-то стороной обошли множество сообществ


  • SpbLUG t.me/spblug — Linux Users Group, сбор каждую последнюю среду месяца
  • Hashicorp — стабильно собирается раз в месяц
  • AWS — с недавних пор регулярно собирается
  • Jenkins — стабильно раз в 2-3 месяца
  • kubernetes — раз месяца в 3, скоро ожидается новый митап, кстати.
  • Ruby — живое сообщество, периодически митапы, 2 раза в год проводят беслпатную конференцию
1 There