?

Log in

вопросы сисадмину

- По какому принципу работает программа traceroute?
- Вам понадобилось выделить подсеть размером в 30 ip-адресов. Можете ли в уме посчитать, какой должна быть маска получившейся сети?2.
- Расскажите, что такое Path MTU.
- Расскажите, что такое TCP Window.
- Какой тип DNS-записи мы будем использовать при указании того, какой сервер отвечает за приём почты определённого домена?
- Как выглядит HTTP-запрос для проверки корректности работы настроек веб-сервера для отдачи сжатого контента при его поддержке клиентом (на примере /index.html)?
- Расскажите, в чём заключаются различия между симлинком и хардлинком.
- Каким образом в sh/bash можно обработать какой-либо сигнал? Например, по завершении скрипта необходимо удалить временные файлы, созданные в процессе работы, причём выполнить это необходимо даже том случае, если выполнение скрипта было прервано извне. Обработку каких сигналов мы не можем выполнить?
- Вам необходимо обеспечить максимальную доступность одного сервиса (программы). Расскажите, каким образом можно обеспечить автоматический запуск/перезапуск сервиса в случае его внештатного завершения.
- Для нового сервера, на котором будут работать базы данных, необходимо подготовить дисковую систему. Пожалуйста, расскажите, чем вы будете руководствоваться при настройке дисков, какие настройки raid будете применять, какой io scheduler?
- Как посмотреть, с какими параметрами запущено ядро linux?
- Приходилось ли вам сталкиваться с tun/tap устройствами? В чём заключается их различие?
- Допустимо ли полностью отключать своп на сервере? Почему?
- Каким образом можно просмотреть загруженность диска операциями ввода-вывода?
- На сервере настроены два интерфейса: eth0 и eth1. Используемый по умолчанию шлюз доступен через eth0. Запросы поступают на сервер через оба интерфейса. Каким образом можно настроить использование другого шлюза для отправки ответов на пришедшие через eth1 запросы? Предполагается, что запрос может придти с произвольного ip-адреса.
- Каким образом вы будете делать бэкап базы MySQL объёмом 10 Гб и использующей хранилище InnoDB? А если хранилище MyISAM?
- С какими трудностями/проблемами вам приходилось сталкиваться при поддержке репликации в MySQL, если есть такой опыт? Каким образом вы чинили развалившуюся репликацию?
- Предположим, у вас есть какой-то веб-сайт, работающий под LAMP. На этот сайт началась атака типа http-flood. Какие действия Вы бы предприняли для самостоятельной борьбы с этой атакой?
- Имеется некоторое большое (несколько десятков) количество одинаковых систем, настроенных под одну задачу (хостинг). Каким образом вы будете производить работы по установке нового ПО, обновлению; следить за актуальностью и однотипностью конфигурационных файлов?
- В каких ситуация целесообразно применять Jumbo Frames?
- Если вам была бы поставлена задача построить отказоустойчивый кластер для обеспечения работы веб-сайта на LAMP, какие технологии вы для этого использовали и почему?
- Необходимо запретить доступ к размещенным на сервере сайтам всем клиентам с User-Agent: MegaXakep. Как бы Вы это сделали?
- В чем отличие между KVM, XEN и OpenVZ. Какие преимущества и недостатки каждой из этих технологий вы знаете?
- Необходимо ограничить процессы пользователя uXXXX, чтобы они потребляли в сумме не более 512 мб памяти. Как это можно сделать?
- Какие режимы репликации изменений базы поддерживаются MySQL?
- В каких случаях на slave-ах может быть необходимо ведение binlog-а?

вопросы сисадмину

В ответах следует учитывать что под ОС Unix может пониматься как Linux так и Solaris/HP UX

1. У вас на сервере под управлением ОС Unix файловая система из нескольких разделов, смонтированных в несколько точек. Необходимо узнать в какую точку смонтирован каждый раздел и сколько места на каждом разделе свободно/занято (в кб, мб или гб).

2. У вас на сервере под управлением ОС Unix файловая система из нескольких разделов, смонтированных в несколько точек. Внезапно закончилось свободное место на одном из разделов. Вам необходимо определить, какие именно файлы исчерпали место на диске.

3. У вас на сервере под управлением ОС Unix имеется много (>>1000) файлов вида esb_ora_DDDDDD.trc, где DDDDDD - произвольный набор цифр. Необходимо найти все файлы такого вида, узнать их кол-во, размер и удалить все файлы кроме 10 самых новых.

4. Есть два сервера под управлением ОС Unix с ip 10.50.0.3 и 10.50.0.4. С вашей рабочей станции имеется доступ по ssh к обеим машинам. На 10.50.0.4 должен работать веб-сервер на порту 8080 к которому должен быть доступ с 10.50.0.3. Необходимо проверить, что веб-сервер на 10.50.0.4 действительно запущен, слушает правильный порт и с 10.50.0.3 к нему есть доступ.

5. Вам предоставлен доступ по ssh к серверу 10.50.0.3 с вашей рабочей станции и к серверу 10.50.0.4 с сервера 10.50.0.3. Напишите sh скрипт, после запуска которого, вы сможете зайти с 10.50.0.3 на 10.50.0.4 без ввода пароля.

6. На сервере 10.50.0.4 работает управляющая web-консоль сервера glassfish по адресуhttp://10.50.0.4:4848/. С вашей рабочей станции доступ к порту 4848 закрыт, имеется только доступ по ssh. Необходимо попасть в управляющую консоль.

7. ( by plumqqz ) На сервере 10.50.0.3 имеется структура файлов, часть из которых периодически модифицируется. На сервере 10.50.0.4, к которому есть доступ по ssh имеется копия этой структуры. Необходимо периодически (раз в сутки) обновлять файлы на 10.50.0.4 не пересоздавая всю структуру заново.

UPD:

8. При помощи команд ps, awk, gawk, grep определите суммарный размер памяти, используемой процессами oracle.

9. Поступает жалоба что одно из приложений на сервере приложений glassfish сильно тормозит. Необходимо произвести анализ из-за какого из системных ресурсов (процессор, память, диски и т.д.) приложение тормозит. Так же необходимо собрать статистику потребления системных ресурсов сервера за определенный интервал времени. Ваши действия.

10. Вам необходимо узнать какая из программ, запущенных на сервере сильнее всего нагружает 3-е ядро 4-х ядерного процессора. Как вы это сделаете?

11. Сервер внезапно начал тормозить, предварительный анализ показал, виртуальная и физическая память занята процессами sendmail и остальные приложения работают в swap. Каким образом вы измените приоритет выполнения процессов sendmail на сервере для освобождения памяти?

12. Внезапно происходит отказ одного из модулей памяти, производительность резко падает. В каком файле (файлах) логируются события  аппаратных отказов? Какие из ниже перечисленных системных демонов вы остановите для освобождения памяти:
Svc
httpd
nfs
syslogd
xinetd
crond
cupsd
ntpd
snmpd


13. Как вы узнаете процессор с какой арихитектурой используется в сервере.


14. Вы работаете на сервере, где установлен glassfish. БД ORACLE работает на другом физическом сервере. Как вы узнаете с какого сетевого интерфейса сервер, на котором вы работаете, взаимодействует с сервером oracle


15. Как вы можете посмотреть локальную таблицу маршрутизации сервера


16. Какая консольная команд позволяет посылать icmp – запросы на удаленные хосты с целью проверки их доступности.


17. cервер glassfish не может установить соединение с БД Oracle, расположенной на другом физическом сервере в другом сегменте сети. Каким образом вы убедитесь, что запросы с сервера glassfish маршрутизируются корректно и проблема с сервером БД Oracle


Предполагается использовать как домашнее задание впридачу к интервью для стажеров operations/support
Дополнение интересными вопросами (только *nix - без бд и программизма) разной сложности приветствуется;-)
1. Как узнать, кто из клиентов потребляет больше резидентной памяти в данный момент своими процессами (построить топ по потреблению). Вывод ps (не полный) выглядит так. Всего в ps процессов несколько сотен:
Исходник:
ps axu
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
u5867 32518 0.0 0.0 214036 12764? S 21:34 0:00 /usr/bin/php-cgi5.2
u425 32532 1.1 0.0 139736 24556? S 21:34 0:01 /usr/bin/php-cgi5.3
u6363 32535 1.1 0.0 183444 20240? S 21:34 0:01 /usr/bin/php-cgi5.2
u12124 32548 0.2 0.0 174432 28360? S 21:34 0:00 /usr/bin/php-cgi5.2

2. По какому принципу работает программа traceroute?
3. Вам понадобилось выделить подсеть размером в 30 ip-адресов. Можете ли в уме посчитать, какой должна быть маска получившейся сети?
4. Расскажите, что такое Path MTU.
5. Расскажите, что такое TCP Window.
6. Какой тип DNS-записи мы будем использовать при указании того, какой сервер отвечает за приём почты определённого домена?
7. Как выглядит HTTP-запрос для проверки корректности работы настроек веб-сервера для отдачи сжатого контента при его поддержке клиентом (на примере /index.html)?
8. Расскажите, в чём заключаются различия между симлинком и хардлинком.
9. Каким образом в sh/bash можно обработать какой-либо сигнал? Например, по завершении скрипта необходимо удалить временные файлы, созданные в процессе работы, причём выполнить это необходимо даже том случае, если выполнение скрипта было прервано извне. Обработку каких сигналов мы не можем выполнить?
10. Вам необходимо обеспечить максимальную доступность одного сервиса (программы). Расскажите, каким образом можно обеспечить автоматический запуск/перезапуск сервиса в случае его внештатного завершения.
11. Для нового сервера, на котором будут работать базы данных, необходимо подготовить дисковую систему. Пожалуйста, расскажите, чем вы будете руководствоваться при настройке дисков, какие настройки raid будете применять, какой io scheduler?
12. Как посмотреть, с какими параметрами запущено ядро linux?
13. Приходилось ли вам сталкиваться с tun/tap устройствами? В чём заключается их различие?
14. Допустимо ли полностью отключать своп на сервере? Почему?
15. Каким образом можно просмотреть загруженность диска операциями ввода-вывода?
16. На сервере настроены два интерфейса: eth0 и eth1. Используемый по умолчанию шлюз доступен через eth0. Запросы поступают на сервер через оба интерфейса. Каким образом можно настроить использование другого шлюза для отправки ответов на пришедшие через eth1 запросы? Предполагается, что запрос может придти с произвольного ip-адреса.
17. Каким образом вы будете делать бэкап базы MySQL объёмом 10 Гб и использующей хранилище InnoDB? А если хранилище MyISAM?
18. С какими трудностями/проблемами вам приходилось сталкиваться при поддержке репликации в MySQL, если есть такой опыт? Каким образом вы чинили развалившуюся репликацию?

19. Предположим, у вас есть какой-то веб-сайт, работающий под LAMP. На этот сайт началась атака типа http-flood. Какие действия Вы бы предприняли для самостоятельной борьбы с этой атакой?
20. Имеется некоторое большое (несколько десятков) количество одинаковых систем, настроенных под одну задачу (хостинг). Каким образом вы будете производить работы по установке нового ПО, обновлению; следить за актуальностью и однотипностью конфигурационных файлов?
21. В каких ситуация целесообразно применять Jumbo Frames?
22. Если вам была бы поставлена задача построить отказоустойчивый кластер для обеспечения работы веб-сайта на LAMP, какие технологии вы для этого использовали и почему?
23. Необходимо запретить доступ к размещенным на сервере сайтам всем клиентам с User-Agent: MegaXakep. Как бы Вы это сделали?
24. В чем отличие между KVM, XEN и OpenVZ. Какие преимущества и недостатки каждой из этих технологий вы знаете?
25. Необходимо ограничить процессы пользователя uXXXX, чтобы они потребляли в сумме не более 512 мб памяти. Как это можно сделать?
26. Какие режимы репликации изменений базы поддерживаются MySQL?
27. В каких случаях на slave-ах может быть необходимо ведение binlog-а?

root xfs partition resize online

resize without reboot or remount partition

[root@localhost ~]# df -h /dev/sdb1
/dev/sdb1             94M  5.0M   89M   6% /mnt

[root@localhost ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): d
Selected partition 1
Partition 1 is deleted
Command (m for help): n
Partition type:
 p   primary (0 primary, 0 extended, 4 free)
 e   extended
Select (default p):
Using default response p
Partition number (1-4, default 1):
First sector (2048-1562355711, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-1562355711, default 1562355711):
Using default value 1562355711
Partition 1 of type Linux and of size 745 GiB is set
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@localhost ~]# partx -u /dev/sdb
[root@localhost ~]# cat /proc/partitions  | grep sdb1
 8       17  781176832 sdb1
[root@localhost ~]# xfs_growfs -d /dev/sdb1
meta-data=/dev/sdb1              isize=256    agcount=4, agsize=6186 blks
       =                       sectsz=512   attr=2, projid32bit=1
       =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=24744, imaxpct=25
       =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=853, version=2
       =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 24744 to 195294208
[root@localhost ~]# df -h /dev/sdb1
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb1       745G  992M  745G   1% /mnt

RAID1 expand array size adaptec / arcconf

# ./arcconf MODIFY 1 FROM 1 TO 1500000 1 0 0 0 1
Controllers found: 1
Reconfiguration of a logical device is a long process.  Are you sure you want to continue?
Press y, then ENTER to continue or press ENTER to abort: y
Reconfiguring logical device: 1
Command completed successfully.
Оригинал взят у robbat2 в Linux MD RAID devices and moving spares to missing slots

Setting up the storage on my new machine, I just ran into something really interesting, what seems to be deliberate usable and useful, but completely undocumented functionality in the MD RAID layer.



It's possible to create RAID devices with the initial array having 'missing' slots, and then add the devices for those missing slots later. RAID1 lets you have one or more, RAID5 only one, RAID6 one or two, RAID10 up to half of the total. That functionality is documented in both the Documentation/md.txt of the kernel, as well as the manpage for mdadm.



What isn't documented is when you later add devices, how to get them to take up the 'missing' slots, rather than remain as spares. Nothing in md(7), mdadm(8), or Documentation/md.txt. Nothing I tried with mdadm could do it either, leaving only the sysfs interface for the RAID device.



Documentation/md.txt does describe the sysfs interface in detail, but seems to have some omissions and outdated material - the code has moved on, but the documentation hasn't caught up yet.



So, below the jump, I present my small HOWTO on creating a RAID10 with missing devices and how to later add them properly.



MD with missing devices HOWTOCollapse )
Below are a few good interview questions for networking or Linux related jobs. These will give a relatively good assessment if the candidate has good knowledge of some fundamentals. Alternatively, this makes a great study guide if you are applying for any networking or Linux related jobs. Wikipedia is the best guide and much better than any books out there on fundamentals. Reading up on articles on TCP/IP, SMTP, HTTP status codes and other topics on Wikipedia to better your skills is a great exercise to do.


Networking specific questions

What is the difference between TCP and UDP?

What are some example uses of UDP?

What is ICMP? What are some example ICMP responses and what do they mean?

more ...Collapse )

Tags: