Рай или забвение

15 Апрель, 03:15, by Rus Метки: , ,

Как говорил один чудак — «с нашей планетой все в порядке, за X миллиардов лет она многое пережила, а вот человечеству — пожалуй, пиз#ец»

http://www.paradiseoroblivion.ru/watch.htm

«В конечном итоге, избранный нами путь выявит, существует ли на самом
деле разумная жизнь на Земле»

Jacque Fresco

Революция в мире баз данных

Как-то занимаясь разработкой ТЗ для одного заказчика столкнулся в очередной раз с проблемой хранения/выборки данных в кластере — как уже надоело препарировать проекты под NoSQL базы ! И тут как будто кто решил разом прекратить все эти мучения и уткнул меня носом прямо в NuoDB. «Это что-то !», как любят говорить герои в буржуйских фильмах. NuoDB — это новое слово в технологиях баз данных от самого Джима Старки ! Да, того самого Старки, который в свое время придумал многоверсионные базы и тип BLOB, создал Interbase, участвовал в разработке FireBird и MySQL. В 2008 году он перешел из MySQL в стартап Nimbus чтобы плотно заняться разработками в области облачных баз данных. Проект NuoDB (переименованный из NimbusDB) - это без сомнения то, чего уже много лет ждали многие разработчики, пользователи и просто бизнесмены. И теперь с уверенностью можно сказать что они таки-да, дождались ;) Менеджмент компании NuoDB любезно разрешил мне перевести и опубликовать документ «Introduction to NuoDB» с целью поближе познакомить русскоязычное комьюнити с этим необыкновенным продуктом. Как говорят — «совершенная технология неотличима от магии», чего же больше в NuoDB первого или второго, ее будущим пользователям вскоре предстоит узнать самим.
Итак, встречайте — NuoDB !


NuoDB, обзор продукта

Масштабируемость, ACID Транзакции, SQL

NuoDB это первая в мире облачная база данных, которая поддерживает транзакции. Частные и общедоступные облака — это новый, захватывающий способ предоставления компьютерных услуг с наблюдаемой тенденцией вполне определенной экономической неизбежности их распространения. Но на этом поприще существует и большая техническая проблема: управление транзакционными данными обычно не масштабируется более чем на один сервер или небольшой кластер, который ведет себя как однин сервер. До сегодняшнего дня в мире баз данных не существовало решений, которые бы могли одновременно предоставить масштабируемость, транзакции и SQL. NuoDB изменила этот мир. Представьте себе, что вы сможете динамически расширять свои транзакционные базы данных путем простого удаления или добавления узлов в живую, работающую систему. Представьте, что есть возможность перемещения работающей базы данных из датацентра в Нью-Йорке на сервера в Токио без простоя ваших приложений. Представьте что вы можете указать вашей базе данных задействовать несколько запасных серверов в Лондоне и получить эту дополнительную мощность всего через несколько секунд. Или что вы можете иметь сколь угодно много работающих копий ваших баз данных одновременно с минимальным влиянием на общую производительность. Представьте, что часть вашей базы данных может работать на серверах вашего частного датацентра, а часть на общественном облаке или что в моменты пиковой нагрузки вы можете мгновенно увеличить мощность базы поключив какие либо другие, внешние вычислительные ресурсы. Представьте, что вы в состоянии на лету решать, какие базы данных и на каких серверах или облаках должны быть размещены. Что вам никогда больше не нужно будет вручную оптимизировать вашу базу, и при всем этом она будет иметь производительность, которая значительно превосходит традиционные клиент-серверные и клиент-кластерные решения.
Эти и другие новейшие достижения возможны благодаря радикально новой архитектуре баз данных основанной на P2P технологиях. NuoDB снаружи выглядит и ведет себя точно так же как и традиционные SQL базы данных, но внутри вкорне от них отличается. Это новый класс решений для нового класса центров обработки данных. Когда промышленность перешла от мэйнфреймов к клиент-серверным архитектурам, возникла необходимость в базах данных нового образца и появились базы данных архитектуры клиент/сервер. Так и в настоящее время, когда все двигаются по направлению к публичным и частным облакам возникла необходимость в базе данных изначально созданной для работы в облаках. NuoDB иногда даже называют «Святым Граалем» облачных вычислений. Ведь любой другой подход использования облачных баз данных заставит вас отказаться от всех ваших успешных наработок, инструментов и навыков, забыть про SQL и ACID транзакции. Неужели это все должно быть принесено в жертву только для того чтобы перенести БД в облачный датацентр будущего ? К счастью запатентованная технология NuoDB навсегда избавляет от этих проблем так как блестяще сочетает возможности масштабирования, ACID и SQL. Эта статья ставит своей целью познакомить читателя с возможностями продукта NuoDB.

NuoDB изначально создана для работы в облаках.

NuoDB это:

1. SQL
2. Транзакции
3. Масштабируемость (Elastic)
4. Multi-tenant
5. Не требует администрирования (Zero admin)
6. Гео-распределенность
7. Non-Stop
8. Расширяемость в реальном режиме времени
9. Высокая производительность

NuoDB основана на реляционной модели данных, с всеми современными расширениями. Поддерживается стандартный язык запросов SQL и API стандарт JDBC. Ее внешняя модель данных — те же строки и таблицы. С точки зрения клиента базы данных NuoDB, она ничем не отличается от обычных клиент-серверных баз данных, которые в настоящее время используются почти в каждом бизнесе на планете. Весь доступ к данным осуществляется через ACID транзакции: атомарные, согласованные, изолированные и долговечные. Все транзакции NuoDB или удачны или нет, т.е. выполняется принцип атомарности. Управление конкурентным доступом с помощью многоверсионности (MVCC) дает возможность каждой NuoDB транзакции иметь согласованное представление о данных — принцип согласованности. Ни одна транзакция не увидит незавершенные действия другой транзакции — принцип изолированности. И наконец соблюдение принципа долговечности достигается благодаря тому что в NuoDB данные распределяются в виде обьектов между всеми ее серверами в облаке, которые специально предназначены для хранения информации. NuoDB работает на динамически изменяемой группе машин, которая называется »Хор». Хор включает в себя два типа узлов: узлы транзакций и узлы архивирования, которые соответственно обрабатывают транзакции и выполняют операции записи и чтения с диска. Любое количество транзакционных и архивных узлов могут быть добавлено или удалено в любой момент, но минимальный хор должен обязательно содержать один транзакционный и один архивный узел. Добавление транзакционного узла не требует какой либо настройки для БД — вы просто указываете базе имя нового сервера и учетные данные для доступа к нему. Добавление транзакцонных узлов увеличивает общую пропускную способность БД, удаление соответственно уменьшает. Добавление архивых узлов увеличивает обьем и избыточность хранения данных в базе вместе с увеличением ее пропускной способности. Узлы в хоре NuoDB могут быть гетерогенными, состоять их произвольного набора различных серверов, аппаратных средств и операционных систем с совершенно разной производительностью. Любое количество экземпляров NuoDB может работать на любом наборе NuoDB узлов. Любой узел может быть выделен для отдельной БД или использоваться несколькими базами данных в любой конфигурации. Другими словами хоры могут иметь выделенные узлы, могут частично перекрываться узлами с другими хорами или могут даже полностью с ними совпадать. Традиционно SAAS поставщики предоставляют multi-tenant сервисы для приложений своих клиентов, разместив данные нескольких клиентов в одной клиент-сервер/клиент-кластер базе данных. Конечно, это решение будет работать и в NuoDB, но это более не является необходимым. Несколько баз данных NuoDB может запросто сосуществовать на общей серверной ферме. Это позволяет датацентрам применять решения, которые максимально используют их серверные и сетевые ресурсы. Т.е. персонал публичного облака, которое имеет более чем 10000 баз данных своих клиентов сам сможет решить, какие базы данных, в каком количестве и на каких машинах будут размещены, и все это можно проделать в режиме реального времени. Инсталляция NuoDB очень проста. В отличие от традиционных баз данных, которые могут потребовать несколько дней на конфигурацию прежде чем их можно будет использовать, NuoDB является простой системой, которая может быть запущена на любом узле в течение нескольких минут. Ценное время DBA должно быть потрачено на проектирование баз данных, а не конфигурацию компьютера.

Настройка традиционной базы данных занимает 10-15% всего времени администраторов баз данных.

NuoDB не требует тюнинга. Данные автоматически распространяются через хор, по необходимости. NuoDB не нуждается в partitioning, sharding или striping. На производительность NuoDB существенно не влияет ни размер дискового блока ни любые другие связанные с диском параметры. Отсутствие процедуры тюнинга БД как такового значительно сокращает обьем работы DBA. Балансировка нагрузки в хоре NuoDB происходит автоматически и не требует никаких усилий от DBA. NuoDB гарантирует, что все узлы под управлением данной базы данных в равной степени буду заняты и использованы. Таже не существует какого-либо отдельного механизма балансировки нагрузки. Более отзывчивые узлы в хоре просто получат больше работы. В сочетании с multi-tenant способностью использование облака может быть оптимизировано очень небольшими административными усилиями.

Репликация и High Availability (HA) составляют более 10% времени администрирования обычных БД.

NuoDB автоматически обеспечивает репликацию обьектов, которые находятся как в памяти так и и на диске. Все усилия администрирования сводятся к подключению по мере необходимости дополнительных узлов архива. Высокая доступность (HA) не является чем-то особенным для NuoDB — она является основой ее архитектуры. Эта база данных устойчива к отказам узлов, части облаков, датацентров или сетевой инфраструктуры. Архивные узлы в NuoDB содержат полноценные резервные копии данных — это значит, что больше не нужно заниматься бэкапами в традиционном их понимании. Естественно NuoDB позволяет это делать если по каким-то причинам это необходимо. Имея несколько архивных узлов вы можете просто перевести один в автономный режим и поместить его в хранилище. Или можете его отключить, сделать бэкап файловой системы и включить вновь. В подавляющем большинстве случаев вы можете смело забыть про необхоимость бэкапа вашей базы — намного проще и дешевле просто добавить еще один архивный узел для повышения избыточности ваших данных. Также удаленные или внешние архивные узлы смогут обеспечить актуальный бэкап даже в случае полного отказа вашего датацентра. Резервное копирование это просто еще одна DBA задача которая полностью автоматизирована в NuoDB. Апгрейд оборудования и/или операционных систем не влияет на работу NuoDB и может быть сделан постепенно прямо на живой системе. Машины можно отключать, обновлять и подключать вновь к работающему хору, без никакого влияния на приложения, работающие с данной базой данных. Машины могут быть заменены на совершенно другие с различной архитектурой, конфигурацией памяти, операционной системой и производительностью. В хоре более быстрые машины будут просто выполнять больше работы, чем более медленные. Также само программное обеспечение NuoDB можно обновлять постепенно — узел за узлом. В NuoDB при смене ПО базы данных на более новую версию нет необходимости в остановке обслуживания. Сравните ситуацию с обыкновенной реляционной базой: время перехода на новую версию БД может легко парализовать IT инфраструктуру на несколько дней. NuoDB может быть размещена одновременно в нескольких географически разнесенных центрах обработки данных, при этом будет обеспечиваться распределение нагрузки, отказоустойчивость и независимость такого разделения. Для таких инсталляций рекомендуется, чтобы каждый датацентр имел не менее двух транзакционных и двух архивных узлов. Дополнительные узлы могут быть добавлены и удалены по желанию. При этом если один из датацентров откажет или потеряет связь с другим — база данных останется полностью доступна для всех клиентов, которые все еще могут подключится к оставшейся части. Архивные узлы NuoDB могут быть размещены на удаленных серверах, например с целью резервирования. Живая копия базы может находится где-то в подземном бункере или на серверах любых компаний, которые предоставляют услуги хранения данных. СУБД облако NuoDB с двумя или более архивными узлами не имеет критических точек отказа — любой узел может выйти из строя или может быть удален, а оставшиеся узлы продолжат работу. Пока хотя бы один транзакционный и один архивный узлы продолжают работать, база данных остается доступной. NuoDB не нуждается в незагруженных или бездействующих серверах для обеспечения бесперебойности в ее работе. Целые сервера, в том числе и архивные узлы могут быть отключены для ремонта или апгрейда, после включения они сами синхронизируются и встанут в строй. Таким образом можно внутри облака постепенно обновлять и само ПО NuoDB особо не влияя на ее работу. Когда последний сервер будет обновлен, облако прозрачно переходит на новую версию БД. NuoDB не имеет ограничений по масштабируемости, следовательно производительность является простой функцией от количества машин, которые обслуживают базу. Помимо своей масштабируемости ядро системы по самой своей природе является чрезвычайно производительной базой данных. NuoDB можно рассматривать «базу данных-в памяти», в то же время не требующей, чтобы все данные хранились в памяти. Большинство высоконагруженных операций выполняется исключительно в памяти, по этой причине NuoDB быстрее на том же железе чем традиционные базы данных типичных клиент-сервер / киент-кластер архитектур.

Резюме

NuoDB является ключевым решением для облачных вычислений. Датацентры будущего будут основаны на масштабируемых, multi-tenant облаках из недорогих и взаимозаменямых машин. Существует все, необходимое для использования этой новой архитектуры центров обработки данных, как аппаратные средства, так и системное и прикладное программное обеспечение. А с NuoDB у нас теперь есть и решение последней оставшейся ключевой проблемы облаков :

NuoDB однозначно обеспечивает безгранично масштабируемые транзакции !

Copyright NUODB, Inc. All rigts reserved


P.S. Стал доступен общий технический обзор NuoDB, в частности есть сравнения по масштабируемости и производительности — http://vimeo.com/33785505

Перепечатка и/или копирование данной статьи без письменного разрешения правообладателей запрещена.

Asus EEE Pad Transformer

12 Август, 05:48, by Rus Метки: , , , , ,

Идеальный аппарат для develop’инга так как есть SBK (rev < B70) — можно ставить от бубунты до любых ондроедов. Чудес изображения у IPS матрицы не заметил, а вот неравномерную подсветку (отчетливо видную на черном фоне) — это да. GPS чувствительность похуже чем у N900 (в помещении глухо как в танке, в то время как рядом лежащая нокия четко ловит 3-4 спутника). Слот micro-SD нежный — при неосторожном обращении с картой можно сломать и то и другое. Разьем наушников можно было бы сделать гарнитурным (с внешним микрофоном), так как внутренний на записи издает какой-то довольно громкий высокочастотный шум и расположен он почему-то сбоку. Жаль что нет USB входа, носить уродливый гаджет-переходник, а тем более док-станцию как-то совсем не хочется. Пачкается экран от пальцев — наверное это общая проблема планшетов, а может свойство данного покрытия. В комплекте могли бы положить простенький чехол, так как дешевый пластик сзади может скоро превратиться в безобразие.

Из софта как всегда отличилась Adobe — флеш встроенные камеры в упор не видит — судя по всему адоб вообще тупо забил на всех Linux пользователей. Ну с первым выходом webrtc-enabled хрома (и/или oper’ы/firefox) весь Linux-мир окончательно забьет на адоб, ждать, судя по всему, осталось пару месяцев максимум. Неприятно поразил идущий в комплекте текстовый редактор — как можно не учесть в таком ПО работу под Android ? Если вас отвлекли и вы не сохранили документ и по прошествии какого-то времени OS вытеснила редактор из списка активных задач, то вы потеряете все изменения в редактируемом файле ! Так же непонятно почему нельзя разные обои на разные столы прицепить — я-то думал это уже пройденный этап. Заявленый FM приемник (и передатчик ?) «искаропки» — наглая ложь. Приемник удалось запустить чисто хакерскими способами (через broadcom bluetooth модуль, залитую левую утилитку и правленый alsamixer), но чувствительность не валом. Про передатчик вообще ничего не скажу. Вобщем если все хорошо обпилить грубым напильником — то как-то еще пользоваться этим девайсом можно.

Ну и напоследок — цена его никак не может превышать $300, но то ли у нас не ту страну назвали Гондурасом, то ли еще чего  …

HDD в 3TB и сражение длиной в weekend

09 Апрель, 09:08, by Rus Метки: , , , , , ,

В процессе апгрейда с 500GB WD на 3TB Hitachi IBM оказалось, что Linux прекрасно себя чуствует — разбивает, видит, перносится (обычным ‘cp -a’ копированием) и грузится (LILO (!) пашет как часы, несмотря на отсутствие официальной поддержки динамических дисков) с GPT разделов на обыкновенном (Award) BIOS, что не скажешь за 7 ведро. Разбивка, форматирование, перенос EXT4, установка загрузчика LILO и получение полностью работоспособного Linux заняло 15 минут, с ведром я промучался два дня, и как понял зря. Короткий совет — не теряйте время — сносите и переставляйте ведро сразу — это займет от силы 1 час, но не многие часы утомительной и бесполезной битвы как это, в частности произошло со мной. Бестолковая венда (причем это последняя 64-bit SP1 семерка) до сих пор не умеет грузится с GPT на не EFI BIOS’ах. Сами диски, то она еще с грехом пополам видит — но глюки просто дикие — например разбитый в Linux GPT NTFS раздел она увидела как «шифрованный EFI диск», Linux’овому EXT4 разделу она вообще назначила букву E: и прямо заявила что дескать у нее есть программы, которые этот диск будут использовать (свят-свят-свят !), ну а вход в меню «Форматировать» активен, видимо, по принципу соответствия размера раздела и цвета колец Сатурна … жесть ! И не дай Бог при стандартной процедуре восстановления через оригинальный установочный диск ведро увидит в системе просто стоящий рядом GPT диск — тут же с ходу получите сообщение, что система дескать не поддерживается какой-то там «конфигурацией восстановления» и вообще типа — «чего пристали ?». Хотя восстанавливать я собирался обыкновенный MBR диск, так же установленный в системе. Ясен пень — перенести 7 ведро с одного MBR диска на другой (видать это какая-то спец-шаманская ботва в мире мокрософт) у меня так и не получилось, хотя XP в былые времена переносилось с лету. Были испробованы ряд средств — копирование системы в Linux, перенос с помощью Norton Ghost, перенос диска с помощью Acronis TrueImage и перенос раздела с помощью Acronis Home Director — ошибка всегда одна и таже — не могу дескать найти тут посреди себя свой диск и гайки — грузитесь, мол, с установочного диска и процедура восстановления вас однозначно спасет ! Вестись на этот дешевый рекламный трюк нет смысла — ежику понятно что мир спасет не установочный диск от m$, а красота и массовые расстрелы там же. Все произошло в точности по стандартному сценарию их очередного поделия — хваленая процедура восстановления бойко проделала первую операцию по корректировке размещения раздела в системе — перезагрузились, та же задница. Во второй раз ведро уже более печально просканировало все файлы инсталляции — естественно так и не найдя проблем, после перезагрузки аналогичный результат. И наконец в третий раз оно тупо выдало сообшение о своей полной и окончательной импотенции. Чтобы это бестолковое, уже седьмое как-бы по счету, ведро смогло выполнить свою единственную функцию — пришлось его полностью переставить, так как новый 2GB Radeon HD 6970 и Crysis2 уже давно ждут своего часа …

Дефективный провайдер тенет

31 Март, 06:41, by Rus Метки: , , , ,

Ну ладно их глючный SIP телефон (попробуйте установить переадресацию с MTC), ладно их дебильный автоответчик, или tech-sup телефон, который никто не берет по полчаса, а если и удастся дозвониться, то этот типа круглосуточный support team только и может промычать что-то типа «завтра днем будем разбираться», ладно их цены выше крыши —  но неспособность перевести меня из одного пакета в другой — это я думаю уже климакс. Платил им за WiFI (10 Гбайт) и за SIP телефон, хотел платить больше — [180 грн.] (2Mbit unlimited) + [35 грн.] за SIP — но судя по беседе с их «нас#рать на всех» менеджером это никому кроме меня не нужно. Были конечно подозрения что есть такие дефективные компании в природе, но теперь я точно знаю где они находятся ;)  Отключился от них нафиг — пусть для начала научаться  уважать рядового клиента и выполнять хоть как-то  свою работу. Про честность и порядочность там речь точно не идет — биллинг у ихней SIP телефонии считает звонки по городу набранные через 048X как междугородние ;) Попадется им товарищ, которому не лень будет побегать по судам — просто выставит их на деньги. В общем говорить тут больше не о чем,  как мудро отмечают восточные  люди — «в засохшее дерево камней не кидают».

Fatal: Setup length exceeds 31 maximum; kernel setup will overwrite boot loader

26 Март, 11:02, by Rus

Бедное LILO, проект затерялся во времени, только debian его хоть как-то еще поддерживает. Трабл в том что arch/x86/boot/tools/build.c file определяет SETUP_SECT_MAX как число 64, но в lilo define равен 31, что и приводит к данной ошибке в случае последних ядер, собранных например gcc-4.6.0 (толстоват выходит код) или упакованных xz. Установка значения в 63 значительно облегчает жизнь.

/dev/md0 вдруг стал /dev/md127

26 Март, 10:58, by Rus

После upgrad’а mdadm случилась такая фигня, лечится :

mdadm —stop /dev/md127

mdadm —assemble /dev/md0 /dev/sdX1 /dev/sdX2 … /dev/sdXn

SpyGroup Asterisk application

22 Январь, 12:12, by Rus Метки: , , , ,

SpyGroup application runs in Asterisk and MySQL environment and used for spying on predefined groups of VoIP users. The spying operation is protected by unique password that used to select which group will be spyed on. All the data (group numbers, extensions list, passwords) are stored in MySQL database. The setspygroupd daemon checks all active calls for database extension match, if exact match found — the extension will be added to predefined group number.

http://code.google.com/p/spygroup

Linux hardware fingerprint

26 Октябрь, 22:48, by Rus Метки: , ,

Simple Linux fingerprint utility:

[Dao]:rus:~/Projects/elf-protect/si # ./si

——————————- PCI Fingerprint ——————————-

1: 0000:00:00.0, class — 0×060000, vendor — 0×1022, device — 0×9601, sub_vendor — 0×1022, sub_device — 0×9601, revision — 0×00

2: 0000:00:01.0, class — 0×060400, vendor — 0×1022, device — 0×9602, sub_vendor — 0×1022, sub_device — 0×9602, revision — 0×00

3: 0000:00:0a.0, class — 0×060400, vendor — 0×1022, device — 0×9609, sub_vendor — 0×1022, sub_device — 0×9601, revision — 0×00

4: 0000:00:11.0, class — 0×010601, vendor — 0×1002, device — 0×4390, sub_vendor — 0×1002, sub_device — 0×4390, revision — 0×40

5: 0000:00:12.0, class — 0x0c0310, vendor — 0×1002, device — 0×4397, sub_vendor — 0×1002, sub_device — 0×4397, revision — 0×00

6: 0000:00:12.2, class — 0x0c0320, vendor — 0×1002, device — 0×4396, sub_vendor — 0×1002, sub_device — 0×4396, revision — 0×00

7: 0000:00:13.0, class — 0x0c0310, vendor — 0×1002, device — 0×4397, sub_vendor — 0×1002, sub_device — 0×4397, revision — 0×00

8: 0000:00:13.2, class — 0x0c0320, vendor — 0×1002, device — 0×4396, sub_vendor — 0×1002, sub_device — 0×4396, revision — 0×00

9: 0000:00:14.0, class — 0x0c0500, vendor — 0×1002, device — 0×4385, sub_vendor — 0×0000, sub_device — 0×0000, revision — 0×41

10: 0000:00:14.1, class — 0x01018a, vendor — 0×1002, device — 0x439c, sub_vendor — 0×1002, sub_device — 0x439c, revision — 0×40

11: 0000:00:14.2, class — 0×040300, vendor — 0×1002, device — 0×4383, sub_vendor — 0×1043, sub_device — 0×8410, revision — 0×40

12: 0000:00:14.3, class — 0×060100, vendor — 0×1002, device — 0x439d, sub_vendor — 0×1002, sub_device — 0x439d, revision — 0×40

13: 0000:00:14.4, class — 0×060401, vendor — 0×1002, device — 0×4384, sub_vendor — 0×0000, sub_device — 0×0000, revision — 0×40

14: 0000:00:14.5, class — 0x0c0310, vendor — 0×1002, device — 0×4399, sub_vendor — 0×1002, sub_device — 0×4399, revision — 0×00

15: 0000:00:15.0, class — 0×060400, vendor — 0×1002, device — 0x43a0, sub_vendor — 0×1002, sub_device — 0×0000, revision — 0×00

16: 0000:00:16.0, class — 0x0c0310, vendor — 0×1002, device — 0×4397, sub_vendor — 0×1002, sub_device — 0×4397, revision — 0×00

17: 0000:00:16.2, class — 0x0c0320, vendor — 0×1002, device — 0×4396, sub_vendor — 0×1002, sub_device — 0×4396, revision — 0×00

18: 0000:00:18.0, class — 0×060000, vendor — 0×1022, device — 0×1200, sub_vendor — 0×0000, sub_device — 0×0000, revision — 0×00

19: 0000:00:18.1, class — 0×060000, vendor — 0×1022, device — 0×1201, sub_vendor — 0×0000, sub_device — 0×0000, revision — 0×00

20: 0000:00:18.2, class — 0×060000, vendor — 0×1022, device — 0×1202, sub_vendor — 0×0000, sub_device — 0×0000, revision — 0×00

21: 0000:00:18.3, class — 0×060000, vendor — 0×1022, device — 0×1203, sub_vendor — 0×0000, sub_device — 0×0000, revision — 0×00

22: 0000:00:18.4, class — 0×060000, vendor — 0×1022, device — 0×1204, sub_vendor — 0×0000, sub_device — 0×0000, revision — 0×00

23: 0000:01:05.0, class — 0×030000, vendor — 0×1002, device — 0×9714, sub_vendor — 0×1043, sub_device — 0×8454, revision — 0×00

24: 0000:01:05.1, class — 0×040300, vendor — 0×1002, device — 0x970f, sub_vendor — 0×1002, sub_device — 0x970f, revision — 0×00

25: 0000:02:00.0, class — 0×010601, vendor — 0x197b, device — 0×2361, sub_vendor — 0×1043, sub_device — 0x824f, revision — 0×02

26: 0000:02:00.1, class — 0×010185, vendor — 0x197b, device — 0×2361, sub_vendor — 0×1043, sub_device — 0x824f, revision — 0×02

27: 0000:03:05.0, class — 0×078000, vendor — 0×9710, device — 0×9835, sub_vendor — 0×1000, sub_device — 0×0012, revision — 0×01

28: 0000:03:06.0, class — 0×040100, vendor — 0×1102, device — 0×0004, sub_vendor — 0×1102, sub_device — 0×1002, revision — 0×04

29: 0000:03:06.1, class — 0×098000, vendor — 0×1102, device — 0×7003, sub_vendor — 0×1102, sub_device — 0×0060, revision — 0×04

30: 0000:03:06.2, class — 0x0c0010, vendor — 0×1102, device — 0×4001, sub_vendor — 0×1102, sub_device — 0×0010, revision — 0×04

31: 0000:03:07.0, class — 0x0c0010, vendor — 0×1106, device — 0×3044, sub_vendor — 0×1043, sub_device — 0x81fe, revision — 0xc0

32: 0000:04:00.0, class — 0×020000, vendor — 0x10ec, device — 0×8168, sub_vendor — 0×1043, sub_device — 0×8432, revision — 0×06

———————————— Network ————————————

eth0: PCI place [ 0000:04:00.0 ], class — 0×020000, vendor — 0x10ec, device — 0×8168, sub_vendor — 0×1043, sub_device — 0×8432, rev — 0×06, ipv6 addr [ fe80::4a5b:39ff:fe02:3924/64, Scope: Link ], ipv4 addr [ 10.1.0.100 ], MAC XX:XX:XX:XX:XX:XX, NETMASK 255.255.255.0, BROADCAST 10.1.0.255

eth0 csum — \x9a\x96\xdb\x13\x37\x3e\x53\xd1\x32\xe7\x5c\x0f\x7e\x50\x51\x90\xa4\xb1\xe2\xfd\x3f\xbc\x6c\xf4\x71\xce\x91\x8e\x06\x34\xeb\x3e\x8f\x69\xa6\xd0\xf2\xcc\x85\xb2\xa6\x2b\xf4\x5b\x53\x91\xce\x21\x66\x64\x8e\x43\x25\x57\xfc\xb9\x96\x44\x88\x53\x07\x62\x59\x02

————————————- CPU ————————————-

Vendor: AuthenticAMD

CPU Family: 16

Model: 4

Model Name: AMD Phenom(tm) II X2 555 Processor

Stepping: 3

Cache Size: 512 KB

Cpuid Level: 5

Configured: 2

Online: 2

———————————— Memory ————————————

Total Memory: 1807320kB

Total Swap: 6434028kB

————————————- HDD ————————————-

Drive: sda

Removable: 0

Size: 488386584 kB

Vendor: ATA

Model: HDS725050KLA360

Revision: K2AO

Model: HDS725050KLA360

Serial Number: KRVPXXXXXXXXXX

FW revision: K2XXXXX

Drive: sdc

Removable: 0

Size: 976762584 kB

Vendor: ATA

Model: WDCWD1000FYPS-0

Revision: 02.0

Model: WDC WD1000FYPS-01ZKB0

Serial Number: WD-XXXXXXXXXXXX

FW revision: 02.XXXXX

Drive: sdd

Removable: 0

Size: 976762584 kB

Vendor: ATA

Model: WDCWD1000FYPS-0

Revision: 02.0

Model: WDC WD1000FYPS-01ZKB0

Serial Number: WD-XXXXXXXXXXXX

FW revision: 02.XXXXX

Drive: sde

Removable: 0

Size: 488386584 kB

Vendor: ATA

Model: WDCWD5000YS-01M

Revision: 07.0

Model: WDC WD5000YS-01MPB0

Serial Number: WD-XXXXXXXXXXXX

FW revision: 07.XXXXX

Drive: sdb

Removable: 0

Size: 976762584 kB

Vendor: ATA

Model: WDCWD1000FYPS-0

Revision: 02.0

Model: WDC WD1000FYPS-01ZKB0

Serial Number: WD-XXXXXXXXXXXX

FW revision: 02.XXXXX

Drive: sdf

Removable: 1

Size: 28315648 kB

Vendor: Nokia

Model: N900

Revision: 031

———————————- USB Drive ———————————-

Drive: sdf

Removable: 1

Size: 28315648 kB

Vendor: Nokia

Model: N900

Revision: 031

USB Vendor ID: 0421

USB Product ID: 01c7

USB Manufacturer: Nokia

USB product: N900 (Storage Mode)

USB serial: XXXXXXXXXXXX

USB device version: 2.00

———————————- Partitions ———————————-

8 0 488386584 sda

8 1 488384001 sda1

8 32 976762584 sdc

8 33 976760001 sdc1

8 48 976762584 sdd

8 49 976760001 sdd1

8 64 488386584 sde

8 65 240974968 sde1

8 66 240975000 sde2

8 67 6434032 sde3

8 16 976762584 sdb

8 17 976760001 sdb1

9 0 1953519872 md0

8 80 28315648 sdf

———————————— Uname ————————————

System: Linux version 2.6.36 (root@Dao) (gcc version 4.5.1 (GCC) ) #16 SMP PREEMPT Fri Oct 22 09:47:29 EEST 2010

HostName: Dao

DomainName: (none)

UserName1: root, uid — 0, gid — 0

UserName2: root, uid — 0, gid — 0

/ is mounted on /dev/sde1

Time1: [ 1288125265 ] Tue Oct 26 23:34:25 2010

Current Device: /dev/sde1

Current Mount Point: /

Current Working Directory: /root

————————————- DMI ————————————-

EFI not found, trying memory scan

SMBIOS 2.6 present.

BIOS Information

Vendor: American Megatrends Inc.

Version: 1606

Release Date: 08/24/2010

ROM Size: 2048 kB

BIOS Revision: 8.15

System Information

Manufacturer: System manufacturer

Product Name: System Product Name

Version: System Version

Serial Number: System Serial Number

UUID: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

SKU Number: To Be Filled By O.E.M.

Family: To Be Filled By O.E.M.

Base Board Information

Manufacturer: ASUSTeK Computer INC.

Product Name: M4A89GTD-PRO

Version: Rev 1.xx

Serial Number: XXXXXXXXXXXXXXX

Asset Tag: To Be Filled By O.E.M.

Location In Chassis: To Be Filled By O.E.M.

Chassis Handle: 0×0003

Type: Motherboard

Contained Object Handles: 0

Chassis Information

Manufacturer: Chassis Manufacture

Type: Desktop

Lock: Not Present

Version: Chassis Version

Serial Number: Chassis Serial Number

Asset Tag: Asset-1234567890

Boot-up State: Safe

Power Supply State: Safe

Thermal State: Safe

Security Status: None

OEM Information: 0×00000001

Height: Unspecified

Number Of Power Cords: 1

Contained Elements: 0

Processor Information

Socket Designation: AM3

Type: Central Processor

Family: Phenom II

Manufacturer: AMD

ID: 43 0F XX XX XX XX XX XX

Version: AMD Phenom(tm) II X2 555 Processor

Voltage: 1.5 V

External Clock: 200 MHz

Max Speed: 3200 MHz

Current Speed: 3724 MHz

Status: Populated, Enabled

Serial Number: To Be Filled By O.E.M.

Asset Tag: To Be Filled By O.E.M.

Part Number: To Be Filled By O.E.M.

Core Count: 2

Core Enabled: 2

Characteristics:

64-bit capable

———————— End of System Fingerprint Data ————————

eth0 SI_NET_PCI_ETHERNET_DEVICE csum — \x85\x79\x19\x5f\x37\x0d\x96\xe7\x26\x03\xc6\x61\x50\x18\xf0\x12\x86\xfe\x7e\xa9\xb5\xbe\xf8\x1e\x98\x0e\x84\xa6\x90\xc0\x1b\x52\xb6\xc3\xf2\xf3\xea\x27\xef\xff\x82\xa9\x72\x9b\xd7\x91\xbc\xa4\x8c\x40\x29\x78\xab\x56\x29\xa9\x8d\xa6\x9b\x9a\xc1\x4a\x7c\x64

eth0 SI_NET_IP_DEVICE csum — \x4c\xa5\x25\xb4\x64\x3c\x67\x97\xc6\x4e\x76\x32\x1a\x85\xc0\x11\x58\x41\x79\x71\x25\x5d\xb6\x55\x34\xea\xef\x1a\x08\xd5\x0e\x3e\xc2\x28\x04\x55\x9c\x0a\xf7\x7e\xa0\xd1\xd8\x13\xda\x45\x86\xc1\x63\xb7\x89\xbe\x4a\x29\x44\x60\x72\xc4\xb5\xdc\x97\x68\xd5\xc8

eth0 SI_NET_ALL_DEVICE csum — \x9a\x96\xdb\x13\x37\x3e\x53\xd1\x32\xe7\x5c\x0f\x7e\x50\x51\x90\xa4\xb1\xe2\xfd\x3f\xbc\x6c\xf4\x71\xce\x91\x8e\x06\x34\xeb\x3e\x8f\x69\xa6\xd0\xf2\xcc\x85\xb2\xa6\x2b\xf4\x5b\x53\x91\xce\x21\x66\x64\x8e\x43\x25\x57\xfc\xb9\x96\x44\x88\x53\x07\x62\x59\x02

Если интересует XML вариант, то welcome to http:/sfinxsoft.com/products

P.S. Прикольная бага в glibc-2.12 — любое статическое приложение, использующее getpw* функции с незапущеным ncsd (кто ж его пущает ?!) получит что-то типа  «../sysdeps/unix/sysv/linux/getpagesize.c:32: __getpagesize: Assertion `_rtld_global_ro._dl_pagesize != 0′ failed.»

Подробнее см. http://sourceware.org/bugzilla/show_bug.cgi?id=11929

Все новое — это хорошо забитое на старое

26 Сентябрь, 05:41, by Rus Метки: , , ,

По причине скропостижного ухода старого винта на ноуте, был приобретен новый WD на 750GB (хотел терабайт, но в Одессу его обещали везти не менее недели). WD винты — это середнячки в плане механики/электроники и совершенно глючная и недопетая песня в плане firmware. For example — кэш на запись у них включен всегда (!) и не запоминается его выключение через power off/power on cycle, так как на флаг keep_features_over_reset фирма WD просто забила (проверено через hdparm и их дефективный саппорт). В Linux’е это как-то не страшно, а вот в венде юзверя постоянно теряют файлы при неожиданном пропадании питания. Также у WD уникально (в любимом стиле brain-dead) реализована защита винта паролем — не дай Бог host пошлет link reset — винт опять заблокируется ;) То, что link reset это нормальная операция по ходу работы SATA, в WD видимо не в курсе. В Linux на этапе загрузки достаточно задать ядру что-то типа libata.force=1:nohrst libahci.skip_host_reset=1, в венде, ясен пень, получим синий экран смерти с невнятным толкованием самой сути ошибки. И напоследок довольно грустная история о том, что WD втихаря перешла на 4K сектора, но никому об этом не сказала — винт предательски рапортует что у него они по 512 байт (видать из-за соображений совместимости со старыми BIOS) и соответственно все программы разбиения и создания файловых систем работают с неверным выравниваем.  Цена такой ошибки может приводить  к падению производительности в 5.5 раз (http://thread.gmane.org/gmane.linux.utilities.util-linux-ng/2955) ! В общем Hitachi-IBM наш ответ Чемберлену — может WD и научатся писать firmware со временем, но пусть это будет их время.

Раз пошла такая история с винтами, решил — дай думаю, btrfs потестю — как она там бедная ? А то все ее пилят, дотачивают — мож уже в production пора ? Тупой тест распаковки на закэшированом несжатом tar файле (900M) с исходниками Linux показал, что ext4 справляется с этой незатейливой операцией за 12.5 секунд, а btrfs за 26.5. Хуже всего с удалением всего того, что было распаковано, ext4 — 2.7 секунды, а btrfs — 14.5 секунд. Ядро 2.6.35.5, последние btrfs-tools, железо — старенький Acer Ferrari 1100 (2 AMD ядра 2.3 GHz, SB600 чипсет, 4GB RAM, SATA WD Scorpio 750GB). Вобщем btrfs пока нельзя рассматривать как достойную замену существующим FS, разве что очень нужны snapshot’ы.