немного про Linux
Feb. 11th, 2007 12:36 amи пару слов про 'профессианальных патриотов'.
Для начала немного общих моментов.
Собственно у Linux как семейства ОС есть 2 огромных недостатка.
1) linux как такового НЕТУ. Его не существует. Есть семейство дистрибутивов Linux, во многом несовместимых между собой не только на уровне бинарного кода, но и на уровне функций - а значит, не факт, что даже после пересборки мы получим на выходе рабочий бинарник. У каждой ветки ОС есть свои версии - они тоже часто не совместимы. Потому каждый дистрибутив linux тащит за собой огромный хвост - гигабайты (уже и десятки гигов) ПО , собранного для него. А что делать, альтернатива только одна - статическая сборка. Многие разработчики коммерческого ПО под Linux платформу так и делают - для того, чтобы поддерживать 1 версией своего ПО несколько версий Linux. (впрочем, чтобы служба поддержки не сошла с ума, все равно обычно поддерживается 2-3 дистрибутива linux).
Посему пользователь часто сталкивается с тем, что нужное ему ПО есть... но его нету в бинарном виде под его дистрибутив. И начинается трах - сборки-пересборки. И хорошо, если код этого ПО совместим с компилятором в его системе.
2) Нестабильное монолитное ядро. Его монолитность - огромный недостаток, ( во-первых, Линусу так нравится, а во-вторых, это плата за сочетание быстрого развития и множество не связанных между собой разработчиков патчей - стабильное API в таких условиях почти утопия) но уж что имеем. Нестабильность напрямую происходит оттого, что ядро развивается очень стремительно - каждые 2-3 месяца к нему добавляется неск. мегабайт толком не проверенного кода, ошибки в котором справляются в след. версии - но там прибавилась свежая порция кода..
В силу монолитности ядра новые драйвера привязаны к новому ядру - и просто так это не разделяемо в текущей ветке (2.6) ядра. Поэтому пользователи вынуждены (в общем случае) ставить новые ядра, когда нужен всего лишь новый драйвер.
Стабилизацией занимаются производители дистрибутивов - причем толковых (при общем числе в сотни, и с десятком популярных) можно пересчитать по пальцам одной руки (загнув два-три). Собственно, серьезно Linux стали воспринимать после того, как были выпущены шапочный RHEL и Сусевый сервер, с 7 (3-активно) летними циклами поддержки. Серьезная поддержка в виде обновлений и документации - это немалые деньги.
Качество дистрибутива определяется качеством его поддержки.
Казалось бы, только идиот может в такой ситуации продолжать плодить дистрибутивы , умножая хаос. Но такие люди, сообщества и фирмы есть !
Маньяки-извращенцы создали Gentoo, африканский миллионер финансирует создание клонов (несовместимых!) debian. Про ирландских некрофилов мы промолчим.
В том числе они есть и в России. Одна фирмочка (asp) занимается пересборкой Федоры и RHEL, умудряясь при этом нарушить совместимость и добавляя мешок новых ошибок, но при этом даже серверные версии не имеют длительного цикла поддержки - платная поддержка от этой горе-конторы хуже бесплатной от СentOS team!. Зато они говорят про свой, российский дистрибутив Российского в нем, правда, почти ничего нет, но главное, как известно - вывеска. Также эти граждане замечены в привычке не публиковать исходный код своих пакетов, что они обязаны делать согласно GPL - и таким образом, данные граждане есть не только бракоделы и вредители, но и обыкновенное ворьё.
А вот другая фирмочка, Alt, таки делает свой дистрибутив. Но как она его делает... Взгляд на страницу с обновлениями - и диагноз ясен. Предыдущие версии их горе-дистрибутивов вообще не поддерживаются, а для последнего за 2007 год практически не выпущено ничего - обновлены из основных аж 3 пакета, и за 2-ю половину 2006 года ситуация не сильно лучше.
тем не менее, находятся люди, которые мало того, что это ставят - они еще и за такую поддержку платят! Более того - они платят за коробки с этим мусором! И называют это патриотизмом.. 'профессианальный патриот' - это тяжелое заболевание. В том числе и среди ИТ-специалистов.
Для начала немного общих моментов.
Собственно у Linux как семейства ОС есть 2 огромных недостатка.
1) linux как такового НЕТУ. Его не существует. Есть семейство дистрибутивов Linux, во многом несовместимых между собой не только на уровне бинарного кода, но и на уровне функций - а значит, не факт, что даже после пересборки мы получим на выходе рабочий бинарник. У каждой ветки ОС есть свои версии - они тоже часто не совместимы. Потому каждый дистрибутив linux тащит за собой огромный хвост - гигабайты (уже и десятки гигов) ПО , собранного для него. А что делать, альтернатива только одна - статическая сборка. Многие разработчики коммерческого ПО под Linux платформу так и делают - для того, чтобы поддерживать 1 версией своего ПО несколько версий Linux. (впрочем, чтобы служба поддержки не сошла с ума, все равно обычно поддерживается 2-3 дистрибутива linux).
Посему пользователь часто сталкивается с тем, что нужное ему ПО есть... но его нету в бинарном виде под его дистрибутив. И начинается трах - сборки-пересборки. И хорошо, если код этого ПО совместим с компилятором в его системе.
2) Нестабильное монолитное ядро. Его монолитность - огромный недостаток, ( во-первых, Линусу так нравится, а во-вторых, это плата за сочетание быстрого развития и множество не связанных между собой разработчиков патчей - стабильное API в таких условиях почти утопия) но уж что имеем. Нестабильность напрямую происходит оттого, что ядро развивается очень стремительно - каждые 2-3 месяца к нему добавляется неск. мегабайт толком не проверенного кода, ошибки в котором справляются в след. версии - но там прибавилась свежая порция кода..
В силу монолитности ядра новые драйвера привязаны к новому ядру - и просто так это не разделяемо в текущей ветке (2.6) ядра. Поэтому пользователи вынуждены (в общем случае) ставить новые ядра, когда нужен всего лишь новый драйвер.
Стабилизацией занимаются производители дистрибутивов - причем толковых (при общем числе в сотни, и с десятком популярных) можно пересчитать по пальцам одной руки (загнув два-три). Собственно, серьезно Linux стали воспринимать после того, как были выпущены шапочный RHEL и Сусевый сервер, с 7 (3-активно) летними циклами поддержки. Серьезная поддержка в виде обновлений и документации - это немалые деньги.
Качество дистрибутива определяется качеством его поддержки.
Казалось бы, только идиот может в такой ситуации продолжать плодить дистрибутивы , умножая хаос. Но такие люди, сообщества и фирмы есть !
Маньяки-извращенцы создали Gentoo, африканский миллионер финансирует создание клонов (несовместимых!) debian. Про ирландских некрофилов мы промолчим.
В том числе они есть и в России. Одна фирмочка (asp) занимается пересборкой Федоры и RHEL, умудряясь при этом нарушить совместимость и добавляя мешок новых ошибок, но при этом даже серверные версии не имеют длительного цикла поддержки - платная поддержка от этой горе-конторы хуже бесплатной от СentOS team!. Зато они говорят про свой, российский дистрибутив Российского в нем, правда, почти ничего нет, но главное, как известно - вывеска. Также эти граждане замечены в привычке не публиковать исходный код своих пакетов, что они обязаны делать согласно GPL - и таким образом, данные граждане есть не только бракоделы и вредители, но и обыкновенное ворьё.
А вот другая фирмочка, Alt, таки делает свой дистрибутив. Но как она его делает... Взгляд на страницу с обновлениями - и диагноз ясен. Предыдущие версии их горе-дистрибутивов вообще не поддерживаются, а для последнего за 2007 год практически не выпущено ничего - обновлены из основных аж 3 пакета, и за 2-ю половину 2006 года ситуация не сильно лучше.
тем не менее, находятся люди, которые мало того, что это ставят - они еще и за такую поддержку платят! Более того - они платят за коробки с этим мусором! И называют это патриотизмом.. 'профессианальный патриот' - это тяжелое заболевание. В том числе и среди ИТ-специалистов.
Re: linux: openvz+xfs
Date: 2007-03-10 06:29 pm (UTC)Надо будет как-нибудь и openVZ глянуть.
там есть возможность назначить min/max лимиты по потреблению ресурсов процессора ?
>> официально поддерживается со следующей версии
Это хорошо. Чем шире будут его использовать, тем больше багов отловят.
xfs на большой нагрузке (например, фтп, раздающий полгига-гиг сотням клиентов) показал себя хорошо (правда, у меня нет данных, как на такой нагрузке будет работать ext3 с последними патчами - там существенно улучшили производительность при множестве параллельных запросов; раньше xfs был явно лучше), в остальных случаях предпочитаю ext3 - все ж понадежнее, если не увлекаться свежими ванильными ядрами, а 2% потерь по емкости - неважно.
С Сановским ufs есть один момент - некоторые бсд-шники думают, что это почти то же, что и бсд-шный ufs(2), со всеми его прелестями в виде тормозов и костыля вместо журналирования. Но это 2 большие разницы, если включить logging (уже неск. лет ,кажется, с 2004-го, он по умолчанию включен в 9-ке, ну и в 10-ке, раньше в 9-ке - отд. опцией) - там нормальное журналирование + скорость.
Re: linux: openvz+xfs
Date: 2007-03-10 09:30 pm (UTC)Ну тут swsoft, вроде как пережившая доткомбум компания. Собственно, для меня были критичны:
- внятная документация;
- рекомендация нашего security officer;
- знакомство с Кириллом Колышкиным (на каком-то давнем LinuxFest).
> Надо будет как-нибудь и openVZ глянуть.
Обязательно гляньте, по всему, что читал про Solaris zones -- именно их двоих и стоит сравнивать.
> там есть возможность назначить min/max лимиты по потреблению ресурсов процессора?
min -- не знаю, приоритетные (units), и абсолютные (cpus) -- есть. Собсно у нас на конторе оно используется (http://wiki.ltsp.org/twiki/bin/view/Ltsp/LTSP-42-LocalDev-ALTLinux#Virtualization_tips) на одной железке со сборочницей и терминальным сервером.
Можете взять альфу (http://wiki.sisyphus.ru/beta/) альтовского инсталера (ETA -- апрель), вариант server ставит и ovz-ядро. Документация здесь (http://www.freesource.info/wiki/AltLinux/Dokumentacija/OpenVZ). На сейчас это, кажется, наиболее безболезненный способ поиграться в ovz.
> xfs на большой нагрузке
У меня -- на ftp с несколькими сотнями гиг и скорее десятками одновременных клиентов, но что угодно от дайлапа до FE, бишь seek contention. ext3 имени 2.4.x проваливалось в запредельные LA на ровном месте...
> у меня нет данных, как на такой нагрузке будет работать ext3 с последними патчами
Аналогично. Догадываюсь, что на чтение уже лучше, а вот на r/w -- скорее не сильно: в xfs есть delayed block allocation, года два назад знакомый ext3 hacker задумчиво высказывался в духе того, что пока совсем не пахнет.
Re: fs: ext3 xfs
Date: 2007-03-10 10:42 pm (UTC)ТАм как раз были включены ext3 block reservation (http://lwn.net/Articles/81357/) + Hash Tree Directories.
один из разработчиков выкладывал свои тесты , тут сравнение 2.4.29 и 2.6.11 с разными ФС -
http://www.bullopensource.org/ext4/kernbuild/2.4/
В 2.6.17 добавили Mapping multiple blocks at a once in ext3_get_blocks(), в 18-м судя по описанию дошлифовали. Вот как с ними - пока не сравнивал на большой нагрузке.
Судя по
http://linux.inet.hr/first_benchmarks_of_the_ext4_file_system.html
http://www.bullopensource.org/ext4/
http://www.bullopensource.org/ext4/kernbuild/index.php
-
неплохо, но с ext4 и новыми патчами будет ещё лучше.
Одна из самых тяжелых задач для ФС на рабочей станции - на осле/торренте выставить на раздачу файлы на канале в неск. Мбит + на закачку поставить, ну и праллельно работать. Нагрузка за счет случайного чтения и записи получается на уровне сильно загруженного фтп - p2p клиенты даже на небольшом канале одновременно читают и пишут сотни участков, такое кол-во мелких операций по записи на фтп получить трудно.
Re: fs: ext3 xfs
Date: 2007-03-10 11:02 pm (UTC)Я разницу ext3/xfs наблюдал в несколько схожем, хотя другом режиме: что-то пара десятков мегабит на выход (несколько DSL и несколько десятков модемов) и ~50Mbps -- на вход в тот же блин. ext3 (2.4.26) заткнулась в ~5Mpbs записи, не помню сколько чтения, LA>10 и никакую интерактивность, как только закончился кэш; xfs на таком же блине (соседнем) после перекидывания сделала вид, что ничего и не происходит.
Но при проблемах по питанию имеет обычай занулять то, что потенциально попало в чужие лапы -- для безопасности... при этом внешне файлик может выглядеть как живой, а внутри -- нолики.