вторник, 27 ноября 2007 г.

Про 1С и Fedora 8

Что-то забегался в последние дни. Никак не дойдут руки добить список с вопросами, тем более что там по сути осталось то максимум подхода на два.


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


Ах, да. Немного о личном. Эй, разработчики 1С - пейте йад!!! (сори, накипело)

четверг, 22 ноября 2007 г.

Про SVN, Google и тараканов

Для начала пара ссылок, которые мне показались стоящими для чтения:
1) Блог под говорящим названием "Linux-сообщество" (http://linuxpeople.ru). Из качеств обзоры открытого софта, новости Российского Linux движения.
2) Буквально на днях открыл для себя Google-ответы (http://otvety.google.ru/otvety/). Все на русском, есть ветка для вопросов касательно Linux.


А так же сегодня ответ на 9 вопрос (http://duki-log.blogspot.com/2007/11/google-os.html):



9) Как импортировать существующую ветку из CVS в SVN в определенный каталог репозитория?


Мой ответ:
Говоря честно, никогда с SVN не работал. Поэтому даю ссылки на тексты, прочитав которые я и сделал данный ответ - Материал из Wiki о SVN (http://ru.wikipedia.org/wiki/SVN), и электронный вариант книги "Управления версиями в Subversion" (http://svnbook.red-bean.com/) и в частности раздел по импорту в SVN (http://svnbook.red-bean.com/nightly/ru/svn.tour.other.html#svn.tour.other.import). В итоге:
Команда svn import это быстрый способ скопировать не версионированное дерево файлов в хранилище, Создавая при необходимости промежуточные директории.


$ svnadmin create /usr/local/svn/newrepos
$ svn import mytree http://www.myhosting.com/blog/project \
             -m "Initial import"
Adding         mytree/foo.c
Adding         mytree/bar.c
Adding         mytree/subdir
Adding         mytree/subdir/quux.h


Committed revision 1.


В предыдущем примере выполняется копирование содержимого директории mytree в директорию some/project хранилища:


$ svn list http://www.myhosting.com/blog/project
bar.c
foo.c
subdir/


Обратите внимание на то, что после завершения импорта, оригинальное дерево файлов не конвертируется в рабочую копию. Для того, чтобы начать работать вам необходимо создать новую рабочую копию (svn checkout) дерева файлов.


З.Ы.: Американцы всерьез готовятся к войне с помощью роботов. Новым этапом, покорившимся американским исследователям, стало создание миниатюрных нанороботов, вобравших в себя достижения на стыке энтомологии, изучения поведений и робототехники. Роботы, внедренные в стадо тараканов, не только участвуют в социальной жизни стада, но и уже умеют управлять им.  (http://www.linux.org.ru/view-message.jsp?msgid=2275891&lastmod=1195461316854) Будущее уже настало?


На этот раз все. КонецЪ Связи.

понедельник, 19 ноября 2007 г.

Про Unix-Market и Debian

Что то задерживается мой Debian, ой что-то сильно задерживается… даже начинают терзать смутные сомнения. А вроде как unix-Market солидный магазин. Ну ладно откатаю письмо в суппорт.
А пока:




16) Перед Вами встала задача пропгрейдить ядро и операционную систему на 10-ти одинаково настроенных серверах.
Как Вы будете решать эту задачу?



Хм… мне видится очень простой способ - сначала добиться успеха на одной системе, а потом элементарно растиражировать свой успех. Будь то образ системы, скрипт или еще что… основная фишка в том, что бы для начала проделать ВСЕ шаги на одной системе, что бы избежать угрозы непоправимых ошибок на всех системах - ибо времени на их устранение все займет в 10 раз больше.



12) Перед Вами встала задача завести пользователя на 50 серверах.
Как Вы решите эту задачу?


Cluster Shell Rulezzz =) Надо использовать какой либо кластерный шелл, что бы выполнять одну набранную команду на множестве машин. Например, DSH (http://www.netfort.gr.jp/~dancer/software/dsh.html).


Ну а более выгодный способ использовать LDAP что бы хранить учетные записи.


Ну а пока все – жду мой Linux дистр, потом буду пробовать все на практике. КонецЪ Связи.

суббота, 17 ноября 2007 г.

Полный список вопросов и Сцылки

Из интересного на ИТ тему:
Интересный блог про создание софта под мобильные платформы использующие Google OS. (http://www.gglphone.com/)
Старенькая статья но интересная статья о EVMS: http://www.computerra.ru/softerra/freeos/23072/
Вообще, судя по всему, EVMS это реально труЪ, ибо на офф сайте написано что это все GPL софт, т.е. денег не просит. С виду очень удобно и позволяет удобно рулить LVM? RAID и прочими storage фишками.


Интересный блог об ОС на Купьютерре: http://www.computerra.ru/blog/sys/


Буквально только что посетили такие вопросы:
Есть ли LVM под виндовс? Хороший блог клиент под Linux? - это на будущее, что бы поисковики помучать.

Итак, полный сборник вопросов, на которые мне мечтается ответить (а на некоторые я уже ответил):



1) На машине установлена операционная система FreeBSD, система занимает 10 ГБ. Диск 18 ГБ. Есть еще один диск размером 18 ГБ.
Можно ли на эту машину положить файл в 25 ГБ? И если можно, то как?
Ответ: http://duki-log.blogspot.com/2007/11/1.html


2) У Вас почта хранится на сервере в Cyrus IMAP. Объем данных 200 ГБ.
Как Вы будете решать задачу резервного копирования такого сервера?
Ответ: http://duki-log.blogspot.com/2007/11/2.html


3) Вам нужно, чтобы веб-приложение, которое работает на сервере Apache, могло использовать авторизацию в Windows-домене.
Возможно ли такое, если возможно, то как?
Ответ: http://duki-log.blogspot.com/2007/11/unix-market-ntlm.html


4) Вы работаете с СУБД MySQL. У Вас настроена репликация с одного сервера на другой. Мониторинг показывает, что репликация не работает уже несколько часов.
Как Вы будете чинить не работающую репликацию?
Ответ: http://duki-log.blogspot.com/2007/11/blog-post_14.html


5) В http.conf сервера Apache написаны следующие строчки:
RewriteCond %{HTTP:User-Agent} "(^Teleport Pro)|(^libwww)|Email"
RewriteRule .* - [F] Что они означают?
Ответ: http://duki-log.blogspot.com/2007/11/blog-post_15.html


6) Перед Вами встала задача установить операционную систему FreeBSD на 50 серверах за один день.
Как Вы решите эту задачу?
Ответ: http://duki-log.blogspot.com/2007/11/blog-post_15.html



7)Можно ли организовать на одной машине (в случае, если MTA sendmail) прием и различную обработку писем для нескольких разных доменов? И если можно, то как?


8) Перед Вами встала задача выбора антивирусной программы для почтового сервера.
Расскажите, какую программу Вы выберете и почему; как будете оценивать качество ее работы?


http://duki-log.blogspot.com/2008/01/blog-post.html


9) Как импортировать существующую ветку из CVS в SVN в определенный каталог репозитория?
Ответ: http://duki-log.blogspot.com/2007/11/svn-google.html


10)Что напечатает программа?
#!/usr/bin/perl


$a = "0";
if ($a) {
print "A";
} else {
print "B";
}


Ответ: http://duki-log.blogspot.com/2007/12/blog-post.html


11) В логе Вы увидели надпись:
/kernel: proc: table is full
Что она означает и что надо делать, чтобы она не возникала?


http://duki-log.blogspot.com/2008/01/kernel-proc-table-is-full.html


12) Перед Вами встала задача завести пользователя на 50 серверах.
Как Вы решите эту задачу?
Ответ: http://duki-log.blogspot.com/2007/11/unix-market-debian.html


13) Как можно посмотреть содержимое ip-пакетов, приходящих на хост test.yandex.ru?
Ответ: http://duki-log.blogspot.com/2007/11/blog-post_15.html


14) У вас на сервере установлена операционная система FreeBSD. Одна из программ периодически падает с сообщением "Segmentation Fault", но core файлов не оставляет.
Как получать core-файлы в директории /var/tmp/core?


15) Что напечатает программа?


#!/usr/bin/perl


$what = "bird";
$sentence = "Every good bird does fly.";
if ($sentence =~ /\b$what\b/) {
    print "The sentence contains the word $what!\n";
} else {
  print " The sentence not contains the word $what!\n";
}


Ответ: http://duki-log.blogspot.com/2007/12/blog-post.html


16) Перед Вами встала задача пропгрейдить ядро и операционную систему на 10-ти одинаково настроенных серверах.
Как Вы будете решать эту задачу?
Ответ: http://duki-log.blogspot.com/2007/11/unix-market-debian.html


17) На сервере под управлением Linux собран программный RAID5 на 10 SCSI-дисках. Один диск в этом массиве помечен как faulty.
Как узнать Host, Channel, ID и LUN этого диска?


18) Есть сервер с Linux, на котором 4 ГБ RAM и 2 ГБ swap.
Что нужно сделать, чтобы общий объем распределяемой памяти в системе стал равным 9 ГБ?
Ответ: http://duki-log.blogspot.com/2007/11/blog-post_15.html


19) Имеется web-сервер с очень маленьким временем ответа на запросы. Однако пользователи из некоторых, например, ADSL или домашних сетей жалуются, что долго загружаются страницы с этого сервера, иногда загрузка вообще "замирает". Ping при этом без потерь и больших задержек, с других web-узлов страницы загружаются хорошо.
Почему такое может происходить?
Ответ: http://duki-log.blogspot.com/2007/11/blog-post_15.html


20) Как будет выглядеть кусок конфигурационного файла Apache, который будет запрещать доступ к каталогу /var/www/restricted для клиентов, использующих браузер Browser всех версий, кроме версии 3.14? User-Agent для Browser выглядит как "Browser v$VERSION".
Ответ: http://duki-log.blogspot.com/2007/11/blog-post_15.html



21) При запуске MySQL в логе есть записи Found wrong password for user 'some_user'@'some_host'; ignoring user. Почему возникла такая ошибка и что нужно сделать, чтобы такие ошибки не возникали?


22) Чему равно $1 после выполнения?


#!/usr/bin/perl
$title = "Happy new 2007 year";
$title =~ m/^.*(\d+) year$/;


"Happy new"? "appy new 2007"? "Happy new 2007"? "2"? "7"? "2007"?


Ответ: http://duki-log.blogspot.com/2007/12/blog-post.html


На пока все. На выходных думается с трудом поэтому КонецЪ Связи.

четверг, 15 ноября 2007 г.

ОчиПяткИ и Блиц Ответов

Почитал только что свой блог – какой ужас(!) это надо же так оЧипяТывацЦО…
Все с этого момента пишу все свои записи изначально только в Word. Думаю должно помочь.
Итак, как и обещал сегодня небольшой блиц по вопросам Яндекса на которые я знаю ответы (или по крайней мере я так думаю, что знаю).



5) В http.conf сервера Apache написаны следующие строчки:
RewriteCond %{HTTP:User-Agent} "(^Teleport Pro)|(^libwww)|Email"
RewriteRule .* - [F] Что они означают?
Запрещает доступ для off-line браузеров. Анализируется заголовок HTTP User-Agentна предмет содержания в нем подстроки Teleport Pro, или libwww, и строки целиком Email. Доступ запрещается для всех запрошенных URL (.*) флагом -[F].


Однако стоит заметить, что если off-line браузер будет делать побсановку поля User-Agentна, то правило не сработает =(
Хороший хелп по mod_rewrite - Модуль Apache mod_rewrite (http://www.egoroff.spb.ru/portfolio/apache/mod_rewrite.html)
6) Перед Вами встала задача установить операционную систему FreeBSD на 50 серверах за один день.
Как Вы решите эту задачу?


Тут нужно как то автоматизировать установку ОС. Вообще для автоматической установки FreeBSD существует файл install.cfg т.е. при установке в sysinstall выбираем  "Load Config". Но если задача устнавливать именно на серверы (где могут отсутствовать floppy, DVD и прочите дисководы), то выход видится уставное по сети (сетевые должны поддерживать PXE boot). Есть хороший ман по установке по сети (http://slapsh.livejournal.com/140408.html).


Т.е. ставим северы в стойки, ставим загрузку с сети, настраиваем сервер-установки, при установке выбираем загружать конфиг и ставим, ставим, ставим...


З.Ы.: 50 серверов это вообще сурово конечно 0_о. Я максимум одновременно тока на 3 ставил =) Еще http://www.opennet.ru/base/sys/freebsd_remote_install.txt.html и http://www.opennet.ru/tips/info/140.shtml


13) Как можно посмотреть содержимое ip-пакетов, приходящих на хост test.yandex.ru?
Например для этого на маршрутизаторе или на самом хосте запустить программу TCPDump либо другой снифер.


???) Имеется web-сервер с очень маленьким временем ответа на запросы. Однако пользователи из некоторых, например, ADSL или домашних сетей жалуются, что долго загружаются страницы с этого сервера, иногда загрузка вообще «замирает». Ping при этом без потерь и больших задержек, с других web-узлов страницы загружаются хорошо.
Почему такое может происходить?


Причина тут в прокси севере за которым сидят пользователи у которых быстрый пинг, но медленно грузятся страницы (при том что сам веб-сервер отдает все очень быстро). Конкретно в чем там засада сказать сложно, но:
1) Установлен лимит ширины канала для юзеров.
2) Тормозит сам прокси - например из-за большой нагрузки
3) Тормозит какой то другой софт куда может направляться веб-трафик
И т.д.


Общий ответ такой - причина в производительности или в настройке какого-то промежуточного узла между веб-сервером и браузером.



???) Как будет выглядеть кусок конфигурационного файла Apache, который будет запрещать доступ к каталогу /var/www/restricted для клиентов, использующих браузер Browser всех версий, кроме версии 3.14? User-Agent для Browser выглядит как “Browser v$VERSION”.


Оу. это похоже вопрос зеркальный вопросу №5. Ну, собственно с использованием Mod_ReWrite надо будет написать вот такой вот кусок конфига:
RewriteCond %{HTTP:User-Agent} !"(^Browser v3\.14)"
RewriteRule .* - [F]


Жаль прямо сейчас нет возможности протестировать выражение - с ходу могу ошибаться в синтаксисе. Основная идея в том что бы с помощью префикса "!" и выражения !"(^Browser v3\.14)"
проверить версию браузера, а с помощью RewriteRule .* - [F] запретить доступ.


???) Есть сервер с Linux, на котором 4 ГБ RAM и 2 ГБ swap.
Что нужно сделать, чтобы общий объем распределяемой памяти в системе стал равным 9 ГБ?


Увеличить объем RAM (если поддерживается) или сделать больше своп. Своп можно увеличить например создав своп файл:


dd if=/dev/zero of=file.swp count=размер_файла_в_мегабайтах bs=1024K
mkswap file.swp
swapon file.swp
sync
В случае предлагаемом в вопросе размер_файла_в_мегабайтах = 3072. Ах, да это все если ОС Linux. В Windows Все делается путем: Св-ва Моего Компьютера -> Дополнительно -> Быстродействие -> Дополнительно -> Изменить


Вот. Есть еще вопрос про RAID 5, но я сейчас точно не помню, что там за пятый левел – вроде должна быть равномерная запись на диски и информацией о честности, так же разнесенный по разным дискам… вроде. Завтра почитаю Wiki и напишу ответ.


Ах, да. На будущее надо будет объеденить все списки с вопросами в один, иначе потом запутаюсь.


КонецЪ Связи.

среда, 14 ноября 2007 г.

Ответы на вопрос о репликации

Сегодня “асилил” 4 вопрос:



4) Вы работаете с СУБД MySQL. У Вас настроена репликация с одного сервера на другой. Мониторинг показывает, что репликация не работает уже несколько часов.
Как Вы будете чинить не работающую репликацию?


Я уже ранее выяснил каким вообще образом организовывается репликация и какие могут быть ее варианты + сегодня помимо всего я изучил довольно хорошую статью из PHP Inside “Продвинутая репликация”, где довольно подробно описана “круговая репликация” и освещеные некоторые теоретически возможные проблемы и методы их решения. Добавляя к вышеописаным источникам еще “Возможности репликации и известные проблемы” и “Поиск неисправностей репликации” получаем некий “концентрированный” ответ:


Как я буду чинить:



1) Найду (сильно постараюсь найти) причину.
2) Проверю сотояние серверов и лог файлы.


Одни из возможных причин прекращения репликации:
– Конфликт ключей AUTO_INREMENT. В MySQL 5.1 решается путем установки не конфликтынх переменных auto_increment_increment и auto_increment_offset.


– Конфлик двух идентичных Primary_key (при круговой репликации). Устраняется путем исключения дубликатов.


– Потеря связи между узлами. Т.к. в MySQL репликация аснхронна, то это гарантирует, что при возобновлении связи данные снова будут синхронизированы.


– Если проблема была в потери связи между нодами, то для восстановления репликации:
LOAD DATA FROM MASTER - синхронизации. Однако, такой подход требует блокировки чтения на главном сервере и работает только MySAM
(http://www.weblibrary.biz/mysql/sintaksis-oper/oper-replikacii/upr-podchin-serevr)


– использование старых версий MySQL


Вообще ответ получился довольно общий и расплывчатый - ведь причин отказа репликации может быть много + все возможные их кобинации… ну что ж расплывчатый вопрос расплывчатый и ответ.


Кстати о вопросах. Наткнулся еще на один список вопросов, но на этот раз для “сис. администратора Коммуникационных сервисов” – там набор вопросов совпадает некоторыми пунктами с моими прдыдущими спиками, но есть и несколько новых:



1) Перед вами встала задача использовать RAID1 на сервере с операционной системой Linux.
Какое решение Вы выберете? Обоснуйте свой выбор.


2)Вы работаете с базой данных MySQL. В какой-то момент Вы получаете ошибку:
ERROR 2008: MySQL client ran out of memory
Ваши действия?


3) Вы выложили из репозитария на сервер XML-файлы.
Как перед запуском приложения проверить соответствуют ли файлы правилам разметки XML?


4) Вы обновляете Debian-пакет.
Как посмотреть, какие файлы конфигурации сохранятся при обновлении?


Я вот еще что подумал – мне было бы круто для себя ответить скопом на те вопросы, на которые я УЖЕ сейчас знаю ответы (а есть и такие) – а то количество вопросов растет быстрее скорости их решения. Так что в следующий раз будет блиц из ответов. Ну а пока все.


КонецЪ Связи

вторник, 13 ноября 2007 г.

Звенья одной цепи?

Читаю сейчас я значит на хабре топик про то как “Русский YouTube открыт для талантов и партнёров” и приходит мне на ум такая вот логическая цепочка о том как гугл будет “захватывать мир”:


1) Создается Google OS Adroid как платформа для мобильных устройств. И не просто платформа а открытая для всех. Почти у всех, почти везде сейчас есть мобильный. Рынок огромен, а с учетом бесплатности Google OS Adroid’а будет быстро отхвачена большая доля.
2) Обяъвляется призовой фонд в 10kk для разрабочиков ПО (скорее всего, опять же выиграет, бесплатный софт). Огромный призовой фонд с большой вероятностью сделает свое дело – софта под Android будет много. Хорошего и разного.
3) Читать ТЕКСТ, особенно размера чуть больше 500 символов утомительно, поэтому мобильные устройства это рынок для медиа контента.
4) Большая часть видео контента аккумулируется на сервисах типа youtube или video.google.com + их локализованные версии.
5) Не про Россию, но все же – строится бесплатная wifi сеть на територии США для своего же софта и своего же контента.


Ну и немного фантазии: 2015 год. Олимпиада в Сочи. прямые трасляции по гугле-нету на все поддерживаемые гугле-оси. гугле-сервисы аккумулируют контент на гугле-аккаунтах. люди обмениваются гугле-видео и слушают гугле-касты, ищут друг друга по гугле-картам. Частичка гугла есть в каждом из нас. =) 


Ой и не надо мне гворить что я параноик – я и сам знаю.


КонецЪ Связи.

понедельник, 12 ноября 2007 г.

Директ м Новые вопросы.

Интересным способо нашел еще немного вопросов для саморазвития. Знаете как? Яндекс пользуется своим Директом что бы рекрутировть работников. Серьезно – пока искал что-то то ли про heartbeat, то ли про кластеры – увидел Директ в поиске о вакансии “Системный администратор в отделе Рекламных технологий”. Решил ради интереса посмотреть на предлагаемы вопросы по этой вакансии – повторяются они или нет. Оказывается нет. Так что вот новая порция вопросов на будущее:


 



1) Перед Вами встала задача пропгрейдить ядро и операционную систему на 10-ти одинаково настроенных серверах.
Как Вы будете решать эту задачу?


2) На сервере под управлением Linux собран программный RAID5 на 10 SCSI-дисках. Один диск в этом массиве помечен как faulty.
Как узнать Host, Channel, ID и LUN этого диска?


3) Есть сервер с Linux, на котором 4 ГБ RAM и 2 ГБ swap.
Что нужно сделать, чтобы общий объем распределяемой памяти в системе стал равным 9 ГБ?


4) Имеется web-сервер с очень маленьким временем ответа на запросы. Однако пользователи из некоторых, например, ADSL или домашних сетей жалуются, что долго загружаются страницы с этого сервера, иногда загрузка вообще «замирает». Ping при этом без потерь и больших задержек, с других web-узлов страницы загружаются хорошо.
Почему такое может происходить?

5) Как будет выглядеть кусок конфигурационного файла Apache, который будет запрещать доступ к каталогу /var/www/restricted для клиентов, использующих браузер Browser всех версий, кроме версии 3.14? User-Agent для Browser выглядит как “Browser v$VERSION”.


6) При запуске MySQL в логе есть записи Found wrong password for user 'some_user'@'some_host'; ignoring user. Почему возникла такая ошибка и что нужно сделать, чтобы такие ошибки не возникали?


7) Чему равно $1 после выполнения?


#!/usr/bin/perl
$title = "Happy new 2007 year";
$title =~ m/^.*(\d+) year$/;


“Happy new”? ”appy new 2007”? ”Happy new 2007”? ”2”? ”7”? ”2007”?


З.Ы.: интересный топик на хабре про как раз Яндекс.Директ, а точнее про его выплаты партнерам.

Биения средца и репликация.

Сегдня побовал докопаться до ответа на 4 вопрос:



4) Вы работаете с СУБД MySQL. У Вас настроена репликация с одного сервера на другой. Мониторинг показывает, что репликация не работает уже несколько часов.
Как Вы будете чинить не работающую репликацию?


Но так и несмог. Видимо слишком много информации нужно узнать за раз – поэтому и “ниасилил”. Зато узнал много нового и некоторую полезную теорию.


Например прочитал что такое master-master репликация и вообще что такое репликация.


Так вот репликация это поддержание актуальной копии данных в альтернативном хранилище. При репликации всегда присутсвуют два хоста – один “master” на котором поизвоядся изменения и “slave” на котором хранится актуальная копия данных “master” хоста. Такой подход помогает распределить нагрузку на извлечение данных между этимим двумя хостами, но в классическом варианте “master – slave” нагрузка по изменению данных ложится исключительно на master’а.


Для равномерно распределения используются техники кластеров высокой готовности – когда ставший недоступным хост (напрмер из-за черезмерной нагрузки, зависания, аппаратного сбоя и т.д.) заменяет резервный, который берет на себя роль master хоста. При активации ранее недоступного хоста он автоматически становится slave’ом для уже имеющегося master’а, сихронизирует с ним данные и в дальнейшем поддерживает их актуальную копию. Т.е. когда master и slave меняются ролями.


Вот Физическая диаграмма кластера высокой готовности (КВГ):


http://www.opennet.ru/docs/RUS/ha_cluster/misc/clusters/big/availability_01.gif


В этом тексте рассказывается о реализации КВГ на базе двух нод (копьютеров) с помошью DRBD и Heartbeat.


Так вот master-master репликация это и есть применение метода построения КВГ, когда при отказе master хоста им становится slave, а при возобновлении работы бышый master динамически меняет свою роль на slave.


Тут есть еще один более практический пример создания КВГ на основе двух нод – для построения биллинговой системы.


Кстати, я вскользь зацепил и тему биллингов, а именно бесплатных. Так что заметка для себя на будущее – пощупать эти две бесплатные биллиговые системы: SolidState и NeTAMS.


На этот раз все. КонецЪ Связи.

воскресенье, 11 ноября 2007 г.

Мне так, для себя... Чисто поржать

Поставил только что статистику от LiveInternet.ru. Хотя врядли там будут рекорды, но все интересно… тем более что все это “так – для себя, чисто поржать”(с).


Хы… посомтрим что через месяц будет =) на счетчике.

Петруха, UNIX-Market и NTLM модуль

Ура, сегодня я преодлел свою лень – сходил пополнил баланс на WM и заказал себе наконец-то Debian вот в этом замечательном магазине. За все про все получилось 370 рэ, что по моим представлениям копейки. Но тут ничего особенного – особенность в дргуом:


Все дело в том, что получатель WM это есть http://www.nixpcd.ru т.е. по сути эти два магазина –  зеркала друг друга(?). Итересно, для чего же все-таки делался именно UNIX-Market? Может быть для разных маркетинговых моделей? Судя по всему UNIX-Market делается как оффициальный дистрибьютер – я о нем узнал с офф сайта Debian, а Nixp как и раньше ориентирован на “неформальный” круг покупателей. Век живи – век учись. Идея прстоя и в то же время гениальная. Что и говрить, рекспект владельцу этих магазинов.


Что ж, маркетинговые решения это хорошо, но мне надо подготовится к получения заказанного софта. Для начала в плане железа. На днях я раздобы я для своих linux-экспериментов старенький комп (Clereon-1,1GHz, 386RAM, 40Gb HDD) и уже успел придумать для него подобающее имя – Петруха. Помните такого персонажа из “белого солца пустыни” =) Надо будет только для полного шоколада купить PS/2/VGF свичт что бы не гемороится с монитором и DVD-RW что бы читлись диски. Буду на на Петрухе проводить “администраторские практики”.


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


В продолжении темы NTLM модуля для Apache (авторизация в Win доменах). Так вот в рунете я ничего хорошего и внятного не нашел (может потому что терпения не хватило). Я поступил проще и гениальнее – читал доки на офф сайте (жаль что на аглицком я читаю сильно медлено), благо их там не так много.


Вот мой вольный перевод:



Модуль аунтефикации для Apache/Unix


Copyright (C) 2000 Andreas Gal (gal@users.sourceforge.net)
Посетите http://modntlm.sourceforge.net для получения обновлений.


NTLM это протокол аутнефикации используемый Microsoft Internet Informations Server(tm) и Microsoft Internet Explorer(tm). Пока он не очень надежен, он предлагает фоновую аутнефикацию (the workstation logon credentials of users are passed through to the web server для web-серевра используются логин и пароль под которым пользователь вошел в систему). Этото фунционал широко испольуется а локальный сетях построенных на продуктах компании Microsoft.


Этот модуль есть средство NTLM аунтефикации для Apache на платформе Unix. Он распространяется бесплатно под лицензией BSD.


Обновлено в апреле 2007 Майклом Белтексом (Michael Baltak).


Существуют два варианта для NTLM аунтефикации для Apache без использования Windows (Если вы используете Windows, mod_auth_sspi это то, что вам нужно).


Первый вариант это этот модуль Apache, mod_ntlm, исходные коды для  для Apache версии 1.x и 2.x. Исходные коды содержатся в Subversion, поэтому пробуйте svn co https://modntlm.svn.sourceforge.net/svnroot/modntlm/trunk что бы получить их. Они включают такие удобства  http://modntlm.jamiekerwick.co.uk/ такие как патчи для поддержки reverse proxy mode. Этот модуль не имеет никаких дополнительных зависимостей, но  не поддерживает группы и NTLMv2, которые используется по умолчанию в Windows Vista (но этот параметр можно менять).


Второй вариант это mod_auth_ntlm_winbind, которому необходим работаюций winbindd (узнать больше о winbindd). Выгода от настройки winbind это поддержка групп и NTLMv2. Прочесть об этом подробнее http://adldap.sourceforge.net/mod_auth_ntlm_winbind.php.


Загрузка.


Исходный код mod_ntlm доступен для скачивания  с Sourceforge.


Установка.


Вы должны иметь права root для успешной компиляции и установки mod_ntlm.c. Вы должны иметь готовый к запуску дистрибутив Apache. перейдите в папку с исходными кодами mod_ntlm.c и наберите:


make install && make restart


Make файл использует приложения для коипиляции и установит mod_ntlm. Certain versions of apxs are known to fail unter certain versions of SuSE Linux (сломал мозг пока переводил) Проблемы могут возникать при конкретных версиях приложений и верисии SuSE Linux. Модуль хорошо работает на SuSE Linux 6.3 and Solaris 2.6, на других платформах не тестировался.


Дерективы в http.conf


Эти дерективы могут быть помещены в virtual директорю для конфигурации mod_ntlm:
NTLMAuth on/off Разрешает/запрещает NTLM аунтефикацию
NTLMAuthoritative on/off  Разрешает пользователям, которые не смогли пройти NTLM аунтефикацию, быть перенаправленными на другие модули аутнефикации.
NTLMDomain domain_name  Имя домена, пользователи которого должны проходить аунтфикацию
NTLMServer server_name or ip_addr  Имя или адрес контроллера домена (Windows NT или Samba)
NTLMBackup server_name or ip_addr  Имя или адрес резервного контролдлера домена, на нем будет производиться аунтефикация если основной контроллер не доступен.
Require valid-user  Любой пользователь домена имеет доступ к ресурсам.
Require user user_name  Только выбранные пользователи имеют доступ к ресурсам (Списко разделенный пробелами).


Пример конфигурации httpd.conf:


     AuthType NTLM
     NTLMAuth on
     NTLMAuthoritative on
     NTLMDomain UWSPDOM
     NTLMServer dc1
     NTLMBackup dc2
     Require user agal


Коментарии и ограничения.


* Базовая аунтефикация напрямую SMB сервера не поддерживается. Существуют другие модули которые ее осущствляют и Вам необходим https для того, что бы сделать ее безопасной.
* Internet Explorer 3.0 (broken keepalive) не поддреживается, время обновить браузер. Такие пользователи выкинуть их компьютеры что бы использовать год от года устаревающее ПО.
* Вы можете столкнутсья с проблемой частой перезагрузки страницы.


[…]


Из меня плохой переводчик, так что вот оригинал:



NTLM auth module for Apache/Unix


Copyright (C) 2000 Andreas Gal (gal@users.sourceforge.net)
Visit http://modntlm.sourceforge.net for code updates.


NTLM is an authentication protocol used by Microsoft Internet Informations Server(tm) and Microsoft Internet Explorer(tm). While it is not really secure, it offers background authentication (the workstation logon credentials of users are passed through to the web server). This feature is widely used in intranets based on these Microsoft products.


This module is implementing NTLM authentication for Apache on Unix platforms. It is available free of charges under the BSD License.


Update April 2007 by Michael Baltaks


There are two options for NTLM authentication in Apache without using Windows (If you're using Windows, mod_auth_sspi is what you need).


The first option is this apache module, mod_ntlm, source code for apache 1.x and apache 2.x. The source code is kept in Subversion, so try


svn co https://modntlm.svn.sourceforge.net/svnroot/modntlm/trunk


to get it. This includes the improvements from http://modntlm.jamiekerwick.co.uk/ as well as a patch to support reverse proxy mode. This module has no other dependancies, but doesn't support groups or NTLMv2, which is by default the only NTLM allowed in Windows Vista (you can change that setting).


The second option is mod_auth_ntlm_winbind, which requires a working winbindd (get some help with winbind). The benefits of bothering to configure winbind are group support and NTLMv2 support. Read about it at http://adldap.sourceforge.net/mod_auth_ntlm_winbind.php.
Download
The source code of mod_ntlm is available for download through the Sourceforge project page.
Install


You have to be root to compile and install mod_ntlm.c successfully. You need a ready-to-run apache distribution installed. Go to the source distribution directory of mod_ntlm and enter:


make install && make restart


The Makefile is using apxs to compile and install mod_ntlm. Certain versions of apxs are known to fail unter certain versions of SuSE Linux.
It works fine for me with SuSE Linux 6.3 and Solaris 2.6, no other platforms have been tested yet.
Directives in http.conf


This directives can be placed into a virtual directory to configure mod_ntlm:
NTLMAuth on/off  enable/disable NTLM authentication
NTLMAuthoritative on/off  allow users who couldn't be authenticated to be handled by other authentication modules
NTLMDomain domain_name  Domain users should be authenticated against
NTLMServer server_name or ip_addr  Primary SMB server to authenticate users (Windows NT or Samba)
NTLMBackup server_name or ip_addr  Backup SMB server to authenticate users if primary is down
Require valid-user  Every user that is accepted by the SMB server can access this resource
Require user user_name  Only this specific user(s) are allowed. Specify one or multiple users separated by spaces


Example configuration for httpd.conf:


     AuthType NTLM
     NTLMAuth on
     NTLMAuthoritative on
     NTLMDomain UWSPDOM
     NTLMServer dc1
     NTLMBackup dc2
     Require user agal


Comments, Limitations


    * Basic authentication against SMB server is not supported. There are enough modules that do this and you need https to make it safe.
    * Internet Explorer 3.0 (broken keepalive) is not supported, it's about time to get a new browsers. Those users should have taken their computers away for using year old software.
    * You can produce a problem by pressing reload fast and often. The connection is forced into reset each time, and sometimes Internet Explorer is sending a msg3 to an apache process that didn't send the msg1 yet. I'm not sure weather this is an apache or Linux or IE problem. It could be resolved by caching credentials, which is unsafe and involves neat things like file locking and mmap().


Bugs, missing features


    * not enough tested
    * association of per-connection based information to r-connection is wrong this way, but not better supported in Apache 1.3.9. Let's look at 2.0, maybe there is a per-connection config?
    * autoconf has to be done
    * test on more platforms
    * figure out how to fetch user groups from the DC (well, wait untill SAMBA_TNG is able to do that and then borrow the code)


Feedback
Any kind of feedback is appreciated. I'm interessted in bug reports but also success stories.


Так что рецепт для решения вопроса №3 таков:


В зависимости от того на какой платформе базируется веб сервер Apache надо выбрать один из вариантов – mod_auth_sspi для Windows и для Unxi либо mod_auth_ntlm_winbind (Для NTLM, без групп), либо mod_ntlm (для NTLMv2 c группами) в зависимоти от конкретной реализации протокала аунтефикации.


В этот раз все. КонецЪ Связи.

пятница, 9 ноября 2007 г.

Про собеседования и Яндекс.

Накнулся на уже довльный старый топик о том как человек проходил собеседование в Яндексе претендуя на должность праммиста. Из него хорошо видно, что требования в Яндексе жесточайшие (хотя оно и понятно).


Есть и ответ Яндекса на данный топик из которого сразу видно что и как у них на корпоративной кухне. С одной стороны меня немного разочаровал такой подход к претендентам на вакантые должности, но… кто говрил что будет легко?


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


Ну и еще пара интересных новостей:


Google Hacks – сфотина позволяющая визуально создавать сложные (с использованием модификаторов) поисковые запросы для гугла. Еще порадовал этот (про поиск аналога Ask Metafilter) текст –  часто читал, что люди делают блоги для коммерческой выгоды и что со временм их становится нечего писать. А тут пожалуйства – идея как гаратировано наоплнить свой блог интересной инфой.


Пока все. КонецЪ Связи.

Малазийские блоггеры и третий вопрос.

Сегодня более детально прорабатывал свой текщий “вопрос Яндекса” про авторизацию web-based приложения в домене под управлением Windows. Собсвенно полной информации я пока не обладаю, но уже нащел путь по которому надо идти.


Так вот, как говорит Wiki, аунтефикация в доменах Windows проиходит по протоколам NTLM или Kerberos. Пока еще не выяснил как же именно сейчас обстоит дело и какой из них используется в данный момент. Но копать стоит именно туда.


К тому же, я знаю что для apache есть модуль (см его никогда не пользовал) с названием NTLM, т.е. копать похоже нужно туда.


Еще из приобртенных сегодня познаний – первая часть из серии “Основы построения операционных систем промышленного назначения”. В общем то там описана история развития ОС и дается определние сетевой операционной системы, ну и конечно описаны текущие на даный момент классы ОС. Особо радует черех чур развернутое описание AIX – IBM сразу дает понять, что ее ОСь далле по тексту будет “самой самой”.


Ну и из приятного. Сегодня Вдохновленный тормоз выложил пост с шаблонами для блоггера – очень симпатично некоторые выглядят (хотя меня пока и этот стандартный устраивает). Надо будет самому попробовать свое что нибудь придумать – хотя из меня еще тот дизайнер.


Но не в шаблонах дело. Там же в посте есть ссылка (как я понял) на популярность поискового запроса “blogger template, blogger templates”. Так вот оказывается в основном шаблон на блоггере хотят сменить люди из стран Океании (Индонезии, Малайзии, Филипин). Задаюсь таким же нелепым вопросом что и Торомз – к чему бы это?


З.Ы.: Google Trends однозначно в мемориз.


КонецЪ Связи.

четверг, 8 ноября 2007 г.

Самопальные кластеры на Linux

Тока что появился интересный хабратопик “Кластер "своими руками”. Надо бы не забыть почитать кометарии гуру по этому поводу. К тому же уже есть много интересных сслок для изучания. Например:


OpenAFS (распредленная ФС с возможностью репликации, как я понял), heartbeat (софтина позволяющая дуюлирующему серверу заменить только что умершего собрата), haproxy (софт для распределения нагрузки). И все это Open Sourse и доступно для Linux – радует.


UPD:


Вот еще интересная картинка для того что бы подумать на заданную тему:


http://aver.kiev.ua/wp-content/uploads/2007/11/cluster.jpg

Про жадность и Windows домены

Сегодня читал новый Бабруйский гороскоп. Вот такую вот интерпритацию моего психотипа они предлагают – а именно, КАКАЯ я сволочь:



Ограниченная Сволочь. Безразличие Тельца + эгоизм Льва + его личная, неповторимая тупость. Ещё жадность - в качестве приправы.
Отмазки: “Так вышло”.


Так вот, они нисколько не правду пишут. Вернее праду отчасти – я действительно считаю, что раз уж я родился, то ни в чем не виноват, просто “так вышло” (с). Но с другой стороны, я нигде не жадный – может я меркантильный и может даже алчный, но не жадный нисколько… не вижу я проявлений жадности в жажде денег. Ведь жадность в том как тратят денюжки, а не в том как сильно их желают…


Ладно, хватит уже этих гороскопов. Скажу пару слов о моих продвижения в изучении Linux. Так вот пока все ограничивается теорией – ибо пока я жду Debian, не хочется тормозить свой интерес. Паралельно с проработкой вопросов Яндекса, я на завтро запланировал начать читать серию статей “Основы построения операционных систем промышленного назначения”, т.к. на сайте написано что для изучения этих текстов “не требует никаких обязательных предварительных навыков”. Думаю будет интересно.


Кстати в тему вопросов Яндекса. Сейчас на рассмотрении вопос №3:



3) Вам нужно, чтобы веб-приложение, которое работает на сервере Apache, могло использовать авторизацию в Windows-домене.
Возможно ли такое, если возможно, то как?


Довльно интересный именно для меня как web-разработчика вопрос. Раншье мне как-то не приходилось сталкиваться с необходиомстью авторизации моих приложений в доменах Windows. Ну что ж, тем ценее будет полученное решение.


КонецЪ Связи.

среда, 7 ноября 2007 г.

Ответы на вопросы Яндекса: №2

Продолжаем тему размылений над вопросами Яндекса. Сегодня у меня такой:



2) У Вас почта хранится на сервере в Cyrus IMAP. Объем данных 200 ГБ.
Как Вы будете решать задачу резервного копирования такого сервера?


По этому поводу у меня зовникают такие мысли:




  1. Для начала объем данных – он не такой уж и большой (Сокорее всего это корпоративный mail сервер). Так вот исходя из того, что сейчас жесткие диски объемом в 500Гб стоят копейки – пару дней назад закупал на работу по цене около 4k за штуку. Это значит, что можно хранить базу объемом в 200 Гб два с половиной раза –  т.е. запас на будщее есть. Возникает вариант №1 – делать по расписанию дамп базы, например ночью.


  2. Кстати говря, я довольно много прочел о Cyrus – и сиходя из того, что данные сервер хранит в файловой системе т.е. простыми db файлами и исходя из предпосылок пункта 1 -взникает решение №2 – делать “зеркало” диска с настроеной системой и сервером на другой физический диск (дабы частично уберечь себя от поломки оборудования). Позволит при серьезных проблемах быстро откатывать всю систему в рабоче состояние


  3. Если позволяет возможноть, то идельным был бы вариант с возможностью хранения старых копий базы сервера. Т.е. рассматривая дополнительный жесткий на 500Гб (либо вообще хранение резевных копий во внешнем хранилище) получаем возможность хранить две копии – например пошлую – вчерашнюю и позавчерашнюю (как вариант делать дополнительную копию раз в неделю, так получим копию недельной давности). Это позволит избежать ситуации, когда “позачера удалили письмо, а сегодня оказыается оно очень нужно”. Т.е. позволит восстанавливать позавчерашние “случайно” удаленные письма.

А вообще, конечно, надо исходить из ситуации. Например, если есть централизованная система резервного копирования, то надо встраивать туда этот mail север.


Но это теория – абстракиция. Думаю тут стоит упоменуть и средсва которыми будет поизводиться резервное копирование. Учитывая, что Cyrus это unix сервер, то будет оптиальным на мой взгяд осуществлять резервное копирование системными средствами. Такими как Cron, dd, tar и т.д. Опять же если используются сторонние средсва для централизованного копирования, то стоит использовать именно их, что не нарушать политики резервных копий.


Интересно, на какой ответ расчитывают в Яндексе? Вопрос ОЧЕНЬ не однозначный. Дан минимальный набор сведений? Или там ждут ответ из множества вариантов?

понедельник, 5 ноября 2007 г.

Чудеса поиска в Яндексе.

В предыдущем посте я писал про то, что искал Яндексом ответы на его собсвенные вопросы =). И вот какое чудо – только то обновляю страницу с выдачей про LVM и “опаньки (c) (tm)” – в выдаче появляется линк на этот чудесный текст о том, почему же Linux лучше чем FreeBSD для серверного (и не только) использования.


Вот небольшая выдержки именно по теме LVM:






2. В *BSD нет нормально LVM. http://www.vinumvm.org -- можете радостно закричать Вы, и будете совершенно неправы, потому что я сказал "HОРМАЛЬHОГО" (не говоря уж про то, что vinum работает только во FreeBSD). Hормальный LVM должен уметь не просто объединять несколько физических томов в один логический, он еще должен поддерживать массу других полезных операций, как, например, изменение размеров логического тома в on-line, или поддержание volume snapshot. Кроме того, для того, чтобы LVM был эффективен, в системе должен быть еще и файловая система, которую можно было бы хотя бы расширять на лету. Вы, конечно, можете сказать, что это все суета сует, и для настоящего интернет-сервера, которым рулит настоящий чебурашка, это все не нужно. Hо, уж поверьте моему опыту -- нужно, очень нужно. Пример номер раз: на разделе например /var заканчивается место. Hапример, из-за того, что клиенты прочухали радость электронной почты и теперь шлют сверстанную для полиграфии книжку (с картинками -- метров так на шестьсот) по электронной почте. Реальный случай, кстати. Предположим, что админ хоть и настоящий чебурашка, но такого не мог представить даже в страшном сне, и теперь место на разделе заканчивается, хотя вообще на винте места хоть дупой ешь. Что сделает пингвиноид на своем задрипанном пингвиниксе? Правильно -- если у него нет комплекса на слово "популярность", то /var у него живет где-нибудь на /dev/vg00/lv04, причем стоит на нем reiserfs. Так что он спокойно говорит lvextend -L+1G /dev/vg00/lv04 (свободное место на винте он, скорее всего, оставил, потому что при наличии нормального LVM нет смысла разбивать диск так, чтобы он был сразу занят весь), после чего говорит resize_reiserfs /dev/vg00/lv04, говорит df -k, убеждается, что с местом теперь все в порядке, и идет заниматься своими делами дальше. Причем, прошу отметить, делает он все это на лету, ничего не размонтируя, не выключая и т.п. Очень, знаете ли, удобно. Тем более, что в линуксе есть аж три файловые системы, которые можно расширять на лету -- ReiserFS, XFS и JFS. И даже одна, которую можно сжимать -- ReiserFS. Мне как-то приходилось перераспределять на лету место между разделами -- когда я на домашней тачке компилировал OpenOffice, с деревом компиляции в 3G. Компиляцию я, само собой, не прерывал. Было бы любопытно услышать, как бы Вы выкрутились из такой ситуации не приостанавливая обслуживания. Впрочем, есть и пример номер два, из которого Вы выкрутиться в любом случае не сможете -- за отсутствием необходимой фичи. Представьте себе базу данных гигов в 20 (маленькая, на самом деле, базейка). Hапример, на оракле. Представьте, что в сутки изменений в эту базу капает аж на полгига архивных журналов. Что, в свою очередь, приводит к неприятному следствию -- делать полный бэкап этой базы очень затруднительно, поскольку, заморозив файлы данных (командой alter tablespace blabla begin backup), Вы просто не успеваете перелить их куда-нибудь до того, как база данных начнет орать, что ей некуда класть данные. Ужасно, правда? Hа самом деле, решается элементарно -- если файлы данных лежат на логическом томе. Пингвиноид может просто создать т.н. snapshot volume, зарезервировать например полгига места под изменения (уж за сутки-то данные сольются), после чего сказать begin backup, засинхронизировать снэпшот тома и тут же сказать end backup. Все, задачка решена -- на снэпшоте теперь лежит эта файловая система в момент синхронизации (по сути, это COW-копия базового тома -- если в базовом какие-то блоки меняются, копии старых переносятся на снэпшот). Как только файлы данных будут скопированы, снэпшот можно удалить. Кстати, в линуксе есть целых два LVM, которые умеют это делать: штатный от систины и EVMS от IBM. Последний сделан плагинами, и понимает разделы не только штатного LVM, но еще и AIX и OS/2 LVM. И он, кстати, будет в 2.5.


Так что правда нет реализации LVM для *BSD систем? =(

Ответы на вопросы Яндекса: №1

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



На машине установлена операционная система FreeBSD, система занимает 10 ГБ. Диск 18 ГБ. Есть еще один диск размером 18 ГБ.
Можно ли на эту машину положить файл в 25 ГБ? И если можно, то как?


Собсвенно Яндексом и стал искать ответы. Сперва накнулся на тред в форуме, где была подсказочка, что нужно искать что-то про LVM аналог под FreeBSD.


Вот что удалось узнать о LVM



LVM (Материал из Википедии — свободной энциклопедии)


Менеджер логических томов (англ. Logical Volume Manager) — менеджер логических томов операционной системы GNU/Linux. На 18 сентября 2006 года существовало две версии: первая, стабильная и испытанная? используется преимущественно для ядра 2.4 и LVM2 для ядра 2.6 (её также можно использовать для ядра 2.4, но с патчем). LVM предоставляет собой дополнительный уровень абстракции между физическими/логическими дисками (привычними разделами, с которыми работает fdisk и аналогичные программы) и файловой системой. Это достигается путём разбивки изначальных разделов на небольшие блоки (экстенты, обычно 4-32 МБайт) и объединения их в единый виртуальный том, точнее группу томов (volume group), которая далее разбивается на логические тома (logical volume). Для файловой системы логический том представлен как обычное блочное устройство, хотя отдельные экстенты тома могут находиться на разных физических устройствах (и даже сам экстент может быть распределён подобно RAID).


LVM увеличивает гибкость файловой системы, однако, являясь просто промежуточным слоем, не отменяет ограничения и использование других слоёв и усложняет работу. То есть по прежнему нужно создавать и изменять разделы, форматировать, изменение размера должно поддерживаться также и самой файловой системой (так, для JFS и XFS невозможно уменьшить раздел).


Т.е. в Linux у нас должно быть вообще все шоколадно (особенно порадовал этот текст), но задача однако ставится именно по FreeBSD. Есть ли аналог LVM под эту ОС? Кстати попути нашел интересный блог в тему Open Source, да и вообще жизенный.


Заметка для себя:



Логический том с данным (Расслоенное" (striped) отображение) отображением не может быть расширен за пределы физических томов, на которых он изначально и создавался


Так вот оказывается под FreeBSD аналогичноя LVM технология называется Vinum (узнал отсюда). Даже нашел ман по установке (правда написан был этот ман похоже в состоянии глубокого алкогольного опьянения).


В итоге. Положительный ответ на поставленый вопрос. Можно, на эту машину положить файл в 25 ГБ, используя при этом vinum для FreeBSD и LVM для Linux. Хм… интересно я нигде не протупил? Все правльно понял? Надо будет где-то поробовать проделать похожую на вопрос операцию.


З.Ы.: но меня мучают смутные сомения – а разве нет LVM для FreeBSD. Что-то мне подсказывает что должен быть или патч на ядро, или просто модуль дополнительный… что-то точно должно быть. Но это я узнаю в следующий раз.


З.Ы.Ы: теперь я знаю о LVM и представляю что с его помшью можно сделать. Я стал умнее [lol]

воскресенье, 4 ноября 2007 г.

Реальные примеры.

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


Вот нашел несколько таких примеров на странице вакансий Яндекса – это набор вопросов с описание конкретной ситуации. Надо будет позже проработать каждый вопрос отдельно (буду после этого считать себя умным).



1) На машине установлена операционная система FreeBSD, система занимает 10 ГБ. Диск 18 ГБ. Есть еще один диск размером 18 ГБ.
Можно ли на эту машину положить файл в 25 ГБ? И если можно, то как?


2) У Вас почта хранится на сервере в Cyrus IMAP. Объем данных 200 ГБ.
Как Вы будете решать задачу резервного копирования такого сервера?


3) Вам нужно, чтобы веб-приложение, которое работает на сервере Apache, могло использовать авторизацию в Windows-домене.
Возможно ли такое, если возможно, то как?


4) Вы работаете с СУБД MySQL. У Вас настроена репликация с одного сервера на другой. Мониторинг показывает, что репликация не работает уже несколько часов.
Как Вы будете чинить не работающую репликацию?


5) В http.conf сервера Apache написаны следующие строчки:
RewriteCond %{HTTP:User-Agent} "(^Teleport Pro)|(^libwww)|Email"
RewriteRule .* - [F] Что они означают?


6) Перед Вами встала задача установить операционную систему FreeBSD на 50 серверах за один день.
Как Вы решите эту задачу?
Можно ли организовать на одной машине (в случае, если MTA sendmail) прием и различную обработку писем для нескольких разных доменов? И если можно, то как?


7) Перед Вами встала задача выбора антивирусной программы для почтового сервера.
Расскажите, какую программу Вы выберете и почему; как будете оценивать качество ее работы?


8) Как импортировать существующую ветку из CVS в SVN в определенный каталог репозитория?


9)Что напечатает программа?
#!/usr/bin/perl


$a = "0";
if ($a) {
print "A";
} else {
print "B";
}


10) В логе Вы увидели надпись:
/kernel: proc: table is full
Что она означает и что надо делать, чтобы она не возникала?


11) Перед Вами встала задача завести пользователя на 50 серверах.
Как Вы решите эту задачу?


12) Как можно посмотреть содержимое ip-пакетов, приходящих на хост test.yandex.ru?


13) У вас на сервере установлена операционная система FreeBSD. Одна из программ периодически падает с сообщением "Segmentation Fault", но core файлов не оставляет.
Как получать core-файлы в директории /var/tmp/core?


14) Что напечатает программа?


#!/usr/bin/perl


$what = "bird";
$sentence = "Every good bird does fly.";
if ($sentence =~ /\b$what\b/) {
    print "The sentence contains the word $what!\n";
} else {
  print " The sentence not contains the word $what!\n";
}


Вот все вопрсы, что я для себя выбрал. Еще заинтересовали требования к системным архитекторам, которые предъявляет Яндекс для сосикателей работы:




Расскажите про проект, который вы спроектировали исходя из условий, что он должен работать по схеме 24x7x365? Каково его назначение, какое количество серверов было?


Кратко опишите, каким образом обеспечивалась отказоустойчивость проекта. Например, в ситуации физического выхода одного сервера из строя (как в этом случае сохранялись данные, и обеспечивалась бесперебойная работа)?
Расскажите, как вы внедряли новые версии программного обеспечения на проект?


Перед вами встала задача, отдавать статический контент (по схеме 24x7x365) достаточно быстро (< 0,05 сек на страницу). При этом на сервисе ежедневно бывает примерно 20 млн хитов. Кратко расскажите, как вы будете решать эту задачу. Обоснуйте решение.


Перед Вами встала задача спроектировать хранилище писем для проекта Яндекс.Почта. Объем хранилища может достигать нескольких терабайт. Кратко расскажите, какое решение вы предложите и почему.


Перед Вами встала задача бэкапить, работающую по схеме 24х7х365 СУБД MySQL. Объем базы данных измеряется десятками гигабайт. Кратко расскажите, какое решение вы предложите и почему.


Расскажите о Вашем опыте системного программирования. Например, что и в каком драйвере вы пропатчили или какой драйвер вы написали. Опишите достигнутые результаты.


Всегда было интересно зать какие требования предоставляют такие большие ИТ компании как, в данном примере, Яндекс.

суббота, 3 ноября 2007 г.

Оу, выходные :)

Сегодня радостно обнаружил что Баш уже два дня  работает и RSS тож работает, но вдруг понял что сильно погрузиться в Баш не полуится ибо, за время пока какие-то мудаки негодняи устраивали DDoS, я успепел конкетно подсесть на Хабр. Особенно там порадовал блог Linux для всех.


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


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

пятница, 2 ноября 2007 г.

Ради фана.

Надо будет почитать на работе. Фан отлинчый, хотя и не для всех. Рекомендую системным администрорам, программистам и просто “продвинутым юзерам” – humour.sysadminday.com.ru.


буквально сейчас прочел текст “Настоящие мужчины сидят под Windows” – обеспечил себя зарядом позитива на весь вечер наверное

Охренеть дайте три

Так. Опять не укладываюсь в прошлое домашнее задание. Статьи я конечно дочитал – благо написаны они интересно и понятно для новичка. Узнал для себя довольно много интересного и нового. Но вот денежку на веб маню так и не положил, но еще весь вечер впереди – значи так, пишу пост и иду поплнять баланс.


Кстати наблюдательные люди по моему первому посту уже поняли, что я собираюсь изучить Linux на уровне системного администратора. Ну и в данный момент я ищу подходящий дистрибутив – вернее уже не ищу.


Вчера я почему то думал, что Fedora это самое оно, но(!) заметил, что многие статьи о Linux пишутся изходя из того, что автор все описывает относительно Debian. К тому же прочитал на сайте IBM, что этот дистр ПОЛНОСТЬЮ бесплатный без всяких исключений и довольно стабильный. Т.е. на нем мне будет лучше всего начать узнавать мир администрирования Linux или мне так показалось, не знаю.


Еще нашел на том же IBM.com список статей посвященных безопасности в Linux – ведь существует такое мнение, что *nix-like платформы ко всему прочему отличаются и высокой безопасностью. Хотя мне такое еще наверное рано читать. Пока ограничусь серией общих сведений об этом классе ОС.


Закночить мысли в Linux на сегодня думаю следует попыткой понять как можно продавать лиценизии на абсолютное беслатное ПО. Нашел на LinuxCenter.ru какие-то платные лицензии на использование некого Linux-дистрибудтива… так и не понял что к чему, ну да ладно – еще будет время разобраться.


А вообще, впереди аж (охренеть дайте три) ТРИ выходных. И надо думать, не о всяких там Опен Сорс, а о предстаящем пазитиве.


Всем удачный выходных. До скорого.

четверг, 1 ноября 2007 г.

Первый пост.

Ну что сказать. Я начинаю этот блог и, наверное, как и мное пока смутно представляю для чего я это делаю и к чему это приведет…


Что-то рассказывать о себе в подробностях сейчас нет никакого желания, да и тема это довольно большая. Думаю в следющих постах что-то про мою персону проснится. Хотя…


Я вот подумал, а читает ли кто-нибуть первыей посты… т.е. человек начал блог, но первая его запись, скорее всего так и не будет никем никогда прочитана (может кроме самого близкого круга лиц). Хм.. стало даже интересно найти и почитать первые записи известных мне блоггеров.


Ну и пара заметок (из серии не забыть) для себя:


Не забыть дочитать статьи из списка, остановился на 6–ом пункте. Вообще, оказывается у IBM очень полезный и информативный ресурс, а глвное все написано дольно доходичво и с примерами. Радует.


Не забыть положить денежку на WebMoney. А то счет в 92.90wmr и 3.91wmz вообще никак не радует. Да к тому же надо заказать дистрибутив Linux Fedora (250 руб всего) для практики OpenSource философии.