315

Системный администратор Linux1

К сожалению я не успел в очередную волну историй про собеседования, но всё же хочется поделиться своим опытом со стороны работадателей. Как часто бывает в больших организациях, собеседование проходит в несколько этапов. Однако самый первый и самый важный этап - техническое собеседование. Надо выяснить уровень знаний претендента, умение находить решения не типовых задач и провести первичную оценку адекватности, как бы смешно это не звучало. Так получилось, что результате реорганизации в моём отделе образовалось некоторое количество вакансий. И это именно системные администраторы. И именно Linux.


Для начала немного теории. Системный администратор, это человек, в зоне ответственности которого именно операционная система. Чаще всего это серверные версии операционок. Это и Windows, и Linux, и всякая экзотика типа Solaris, HP-UX или AIX. А вот заправка картриджей, решение вопросов «У меня Excel не работает» или «У меня почта отправляется» - это хелпдеск, а не администрирование системы. К сожалению, в маленьких фирмах эти две должности зачастую объединены в одну. Отсюда и стереотипы, что сисадмин это мастер на все руки. Он и утюг посмотрит, и ноут починит, и 1С на сервере обновит. А если из клавиатуры вытрясет все крошки - может решить мировую проблему голода.


Так же стоит сказать, что в больших организациях сисадмины специализируются зачастую только на одном направлении. Обычно таких направлений два. Это семейство ОС Windows и семейство ОС Linux/Unix. Внутри каждого направления бывает дополнительные разделения. Например это виртуализация на какой-либо из платформ, либо это высоконагруженные системы обработки данных, либо сервера под базы данных и т.д. Хороший администратор отлично знает своё направление и понимает принципы работы смежных.


Кандидаты бывают разные, но в 95% случаев резюме мало соответствует реальности. Чаще всего получается так:

- Я ставил на ноут Ubuntu и значит могу написать «Экспертные знание в области Linux».

- В наследство от предыдущего админа достался шлюз на FreeBSD - как минимум надо перечислить всё, что там стоит и что лично не настраивал.

- Написал Hello world на Python/Lua/etc - опыт программирования не меньше Middle в резюме.


И таких примеров масса. Где-то когда-то слышал или кто-то на работе использовал - значит надо указать в резюме.

Для оценки у меня есть список 40 вопросов разного уровня. Чем дальше по списку человек заходит - тем больше вероятность, что он будет у нас работать. Уровень от «как посмотреть версию ядра» или «как можно назначить ip адрес на интерфейс» до «принципы построения высоконадёжных кластеров виртуализации» и «преимущества Fibre Channel перед iSCSI». За пару лет я провёл больше сотни собеседований и на все вопросы никто ещё не ответил, но были люди, которые знали ответы на многие из них, а чего не знали - с подсказками понимали. Всего их было четверо и все в настоящий момент работают со мной.


В зависимости от уровня знаний и стремлений кандидата собеседование длится от 20 секунд до 3 часов. При этом мы не тираны и не маринуем 3 часа «без вынимачки». Мы и кофе напоим и печеньками угостим. Обычно две трети времени занимают наши вопросы и треть времени мы отвечаем на вопросы кандидата и рассказываем об организации.


Ну и на последок «успешные» примеры:


Успеть за 20 секунд.

- Как у Вас со знаниями Linux?

- Никак.

- До свидания.

Кандидат откликнулся на вакансию Старший системный администратор Linux.


Не интересно.

- У Вас в резюме опыт работы с Centos, Gentoo, FreeBSD. На сколько хорошо Вы с ними знакомы?

- Никак не знаком. Мне они не интересны.

- Зачем откликались на вакансию линукс-админа?

- …

- Всего доброго.

Зачем было тратить своё и чужое время - не понятно.


Уровень английского - made in velikobritania.

- Как исключить из обновления пакет?

- …

- Ну какой ключик надо использовать?

- …

- Хорошо, Вы набрали man yum, нажали слэш для поиска и что будете искать? Там же много всего. Какое слово?

- …

- У Вас указано уверенное владение английским. Есть слово include, включить. А как будет наоборот, исключить?

- Uninclude?

- [тихий мат про себя]

Самое страшное, что это не единичных случай. Дважды только за прошлую неделю.


Что-то где-то слышал…

- У Вас в резюме есть опыт работы с git. Как сделать коммит в текущую ветку?

- …

- Надо набрать git и что? Какое слово дальше?

- …

- Зачем писать то, чего не знаете?

- …

Копипаста чужих резюме - зло.


Провал памяти.

- У Вас указан опыт разработки на Python. Какие есть встроенные типы структур данных?

- …

- Есть list, список, есть dict, словарь. А третий тип?

- Я не помню названия.

- Хорошо, list это прямые скобки, dict - фигурные, последний тип tuple - кортеж. Какие у него скобки?

- …

- Что за проект Вы писали на Python?

- Не помню.

- Ну что он делал? Для чего?

- Это давно было. Не могу сказать.

Знание Python это плюс в резюме только если оно действительно есть.


Это то немногое, что вспомнилось только за последние пару недель. Часто человека пытаешься подвести к ответу, доходит чуть ли не до такого: каким таким top можно посмотреть какую такую нагрузку на какой такой процессор?

Ожидание: «Нагрузку на процессор можно посмотреть командой top».

Реальность: […белый шум в глазах…]


Данный текст побудило написать профессиональное подгорание.

P.S: Если ты понял почти всё из сказанного, тебя это повеселило, ты живешь в Ростове-на-Дону и хочешь работать по специальности из заголовка за ЗП выше средней по рынку - милости прошу в телеграмм. Логин такой-же, как и тут. Да простят меня модераторы и не сочтут рекламой.

GNU/Linux

1.2K поста15.6K подписчиков

Правила сообщества

Все дистрибутивы хороши.

Будьте людьми.

Вы смотрите срез комментариев. Показать все
1
Автор поста оценил этот комментарий

На все вопросы ответить невозможно т.к. для этого нужно полное пересечение областей.


> «как посмотреть версию ядра» 

uname -a

> «как можно назначить ip адрес на интерфейс»

Система какая? Debian-like и CentOS очень разно настраиваются, причём центовку без гугла можно запомнить только если фигачишь постоянно.


> «принципы построения высоконадёжных кластеров виртуализации»


Вот тут можно удариться в теорию и фантазию. Если нужно совершенно неубиваемое решение, то нужно помнить, что виртуалка в теории работает везде, следовательно критичны именно данные. Дальше от уровня паранойи - сперва RAID, потом дубль-сервер и дубль-датацентр, 2 и 3 можно совместить, если дубль-сервер будет в другом дата-центре. Но тут есть нюансы. Дубль-сервер вещь дорогая, поэтому резервные копии дисков лучше писать на СХД с которого в случае ЧП слить образ и перезапустить. ФС CephFS или GlusterFS - они работают как RAID, только между серверами. Не юзал, ничего сказать не могу.


Короче имеем 2 ЦОД в котором есть сервера виртуализации и СХД, развернутая CephFS или GlusterFS. Сервера виртуализируют, СХД хранят данные, если сервер сдох, то вводится на замену другой, данные реплецируются.


> «преимущества Fibre Channel перед iSCSI».

На уровне теории слышал про скорость работы и большей масштабируемости. ХЗ, в реале не сталкивался.



На выходные можно попробовать "собеседоваться" для личной проверки уровня?

раскрыть ветку (18)
Автор поста оценил этот комментарий

Это только 4 вопроса.

Про адреса - вариантов как минимум два изначально. Надо адрес постоянно или временно? временно на debian/rhel-based командами ip или ifconfig. Постоянно в конфигах /etc/sysconfig/network-scripts/ifcfg-... или /etc/network/interfaces. Или через network manager - nmtui, nmcli. А вот в солярке только постоянно можно назначить и только командой ipadm, только до этого надо интерфейс приготовить командой dladm. Это в 11 (актуальной) версии. В 10 солярке - ifconfig.

Отказоустойчивость реализовывать на ceph - так себе решение. Гипервизор kvm? High availability как там работает? На сколько знаю - из коробки никак) Логичнее midrange san использовать и нормальную кластеризацию, например esxi. Ну или hyper-v, если вм будут на windows.


FC vs iSCSI - вопрос скорее теоретический. Надо просто понимать как они работают и тогда не будет вопросов "почему scsi работающий гарантированно лучше scsi завёрнутого в негарантированный сетевой стек?".


Итого: знания есть, но 100% верный ответ только на 1 вопрос из 4) Но и этого достаточно на собеседовании для начала дискуссии.

раскрыть ветку (16)
3
Автор поста оценил этот комментарий
Постоянно в конфигах /etc/sysconfig/network-scripts/ifcfg-... или /etc/network/interfaces.

а в /etc/netplan не хотите? И то что там конфиг уже в yaml со своим синтаксисом и доебывании до отступов/пробелов в лучших традициях питона. А раз уж там дальше про FC и iSCSI разговор пошел - то явно админ с уклоном в телематику(железо). Так что в вопросе про интерфейс может не комп подразумеваться а какая-нить циска, микрот или упаси господь ждун


Xenserver пойдет? в нем работает из коробки. Но вообще вопрос такой, размытый про принципы построения. Для кого-то высоконадежность это бэкап на винчестере лежащем в сейфе. А если вкратце то 2N+1


FC vs iSCSI. Слишком специфично и многие админы администрирующие приклад и божественно оптимизирующие БД вообще таких слов не знают.

Я вот вас спрошу как брейкается QSFP+/QSFP28 и на всех ли портах это можно сделать - без гугла ответите? А я вот знаю в любое время дня и ночи потому что близко сталкиваюсь

1
Автор поста оценил этот комментарий

Ну начнём с того, что iSCSI таки в TCP, а оно условно гарантируемое. К тому же существуют такие интересные штуки как FCIP и iFCP.

раскрыть ветку (5)
0
Автор поста оценил этот комментарий

Окно вырастет из-за глюка, сегмент просядет

раскрыть ветку (4)
0
Автор поста оценил этот комментарий

Да понятно, что лучше быть здоровым, но богатым, чем бедным, но больным. iSCSI хорош лишь тем, что позволяет на небольших системах обойтись всего лишь сетевыми подключениями на 10G и сэкономить кучу денег, которые можно потратить на шлюх и кокаинум. А вот дальше нужно сильно думать, что будет выгоднее в перспективе.

раскрыть ветку (3)
0
Автор поста оценил этот комментарий

И есть ли эта перспектива... :)))

раскрыть ветку (2)
0
Автор поста оценил этот комментарий

Ну если нет так и думать нечего.

Иллюстрация к комментарию
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

На Киевском шоссе - страшные, на Бетонке получше. Подруга всегда подкалывает, чтобы взял и подвёз.

1
Автор поста оценил этот комментарий

Солярку не админил, так что по ней ничего не скажу. А вот по настройке сети это был уточняющий вопрос, а не ответ. И в вашем ответе как минимум не учтены 2 нюанса:

1. Если надо получить адрес по DHCP, то к командам добавляется dhclient

2. В ряде случаев (например, если доступ к ssh ограничен и нужно переехать в другую сеть) если физического доступа к железу нет, то адрес меняется только bash-скриптом.


По остальным технологиям спорить не буду, ЦОДы не админил, все знания в данной области со статей хабра, где холивара больше, чем реальной информации.

0
Автор поста оценил этот комментарий

KVM давно умеет в Live Migration и с corosync прекрасно организуется HA кластер. А если не хочется сильно заморачиваться - можно Proxmox юзать, там вам и ВМ, и контейнеры и бэкапы, и распределенные/централизованные ФС.
Есть еще бесплатный (насколько я помню) XenServer - и там все прелести XEN-а (включая паравиртуализацию) и удобная управлялка.

А ващпе - в кубер всё (желательно прямыми руками))

Опенсорс рулит))

0
Автор поста оценил этот комментарий

Вот это мне в линях и не нравится. Здесь так, там вот так. Эхххх.


Мимоадмин из виндус мира.

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

раскрыть ветку (6)
2
Автор поста оценил этот комментарий

Да, знать и уметь в Linux нужно гораздо больше, но и возможностей больше.


По смене размера - https://habr.com/post/450444/


Только нужно понимать, что "на горячую" это всегда плохо.

раскрыть ветку (4)
1
Автор поста оценил этот комментарий

"Да, знать и уметь в Linux нужно гораздо больше" - распространённое заблуждение у тех кто не занимался серьёзным администрированием масштабных виндовых сетей.

раскрыть ветку (3)
0
Автор поста оценил этот комментарий

Ха-ха 3 раза...


Обычно Linux используют "атомарно" т.е. на каждый сервер возлагают одну-две задачи или на 100500 серверов возлагается примерно одна задача, что админится почти в автоматическом режиме. Но если нужен "болт с обратной резьбой" в плане администрирования, то винда идёт сразу нахуй т.к. ряда инструментов в ней просто нет и не может быть, что уже сразу делает её проще в администрировании, а во вторых там такое мозгоёбство и укуривание мануалами, что ваши "масштабные сети" становятся детскими задачами.


Банальные примеры:

1. Запуск и работа ОС в оперативной памяти без терминального сервера. Initramfs в Windows не завезли.


2. Монтирование каталогов логов на СХД. Это когда все логи идут на сервер напрямую, без софта, который их туда копирует.


3. ReMaster-Slave (хз как научно называется) - это когда master-сервак упал, slave на его место встал, а сеть этого даже не поняла и FQDN ресурсов не поменялись.


4. Мультисервисные шлюзы - когда на одном сервере через транк заведена пачка вланов и в каждый влан отдаётся трафик по "своим" сервисам, а заодно проброшены каналы чтобы отдельные сервисы друг друга видели, а другие - нет.


5. Взаимоисключающий софт - это, например, когда в 2-х программах жестко прописан порт или нужно запустить 2 экземпляра одной и той же сетевой программы (сервиса) на одном адресе.


Поскольку админю и то и другое скажу так:


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


Так вот - Linux имеет во много раз больше инструментов, они довольно редкие, крайне малоизвестные, но они есть и кто-то где-то их использует.


По дефолту Linux неплохо настроен. Но если подойти к нему "с любовью", то на сервер уходят месяцы работы.

раскрыть ветку (2)
0
Автор поста оценил этот комментарий

Моё замечание никоим образом не касалось небанальных возможностей операционной системы, а лишь объёма знаний и умений. Особенно кстати с учётом того, что некоторые вещи, которые в линухе решаются пятиминутным курением манов, в винде требуют небанальных подходов и прокачанных скиллов.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

И это тоже имеет место быть. По практике 16-летнего админства Windows и 9 летнего Linux могу подвести итог такой, что на рабочем месте у меня и тот и тот сервер стоит. Что проще на Вин, то на нём, что проще на Лин - то на нём. Вот так я 3 года назад решил данный спор.

1
Автор поста оценил этот комментарий

только увеличить или уменьшить?

https://access.redhat.com/solutions/199573
"уменьшать" проще снапшотами https://dustymabe.com/2012/03/04/automatically-extend-lvm-sn... (сделали снапшот до наполнения данными, потом удалили его вместе с ненужными новыми данными) или миграцией данных(да, тупо скопировать - когда сеть хранилища быстрая, это не так печально)

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества