Category: it

Category was added automatically. Read all entries about "it".

nepal

Запустил OpenVZ на ARM (Gumstix Overo)

Вот на этой самой железяке я таки запустил OpenVZ. Все детали в блоге OpenVZ.

Спрашивают, на фига это нужно, на таком мелком железе запускать виртуализацию, контейнеры какие-то. Отвечаем.

Мне видится, что, во-первых, для мобильников и прочих PDA контейнер — хорошая среда для запуска untrusted application. Скачали вы чёрт знает что из Интернета — пускай работает внутри отдельного урезанного контейнера.

Дальше, в роутерах тоже подобное железо стоит, соответственно, можно использовать модель «один сетевой сервис на один контейнер» для пущей безопасности и лучшего контроля за ресурсами. Безопасность — потому что если сервис дырявый, то будет скомпрометирован только он один. Ресурсы — наши хвалёные бинкаунтеры и всё прочее групповое (CPU, I/O scheduling), которого в ванильном ядре [пока] не хватает.

Развивая идею appliances — можно ведь и для «маленького» железа делать это. Скачал готовый настроенный образ, запустил, и всё. Как выразился сегодня koct9i, идеально для тупого админа, который сам не может поставить и настроить систему. В общем-то, и не для тупого тоже это хорошо — это ещё и fast provisioning, быстрое разворачивание.

Для «маленького» железа именно контейнеры хороши, потому как оверхед накладные расходы маленькие, производительность практически не падает.

Что скажете?

Update: ну что за напасть — и к этой записи начал сыпаться спам! Ввиду этого комменты скринятся. Спам буду удалять, не спам — расскринивать.
nepal

Mouse Keys, или Если у вас не работает NumLock

Если у вас вдруг никак не работают циферки на дополнительной цифровой секции клавиатуры (которая справа), а вместо этого происходит что-то странное, то это Mouse Keys -- эмуляция мышки с помощью клавиатуры. Это удобно и практически незаменимо, когда вдруг мышка не работает -- но неудобно, если вдруг хочется циферки на этой клавиатуре понабирать.

Так вот, включение и выключение этой функциональности работает поShift+Alt+NumLock. Для того, чтобы задать начальное состояние после запуска, надо в настройках мыши включить или выключить опцию Mouse Keys.

Ссылки по теме: wikipedia: MouseKeys.
nepal

смерть оракла

Сегодня shams мучала инсталлятор Oracle. Вываливается с SIGSEGV и всё тут. Уже несколько дней они его пинают... Сегодня допинали!

Оказалось, что в файле /proc/swaps, которое инсталлятор читает с помощью /bin/cat (у нас /proc/swaps внутри контейнера в старом ядре нет, поэтому мы подложили наш /bin/cat), в первой строчке (где заголовки) поля разделены табами, а во второй строчке (где, собственно, своп-девайс и всякие его характеристики) -- пробелами! Вот так вот примерно выглядит /proc/swaps, чтобы вы представляли, о чём речь:

$ cat /proc/swaps 
Filename                                Type            Size    Used    Priority <-- тут табы
/dev/sda3                               partition       2031608 80      -1       <-- тут пробелы

Ну вот, а у нас во второй строчке были табы. Оракловый инсталлятор не смог этого перенести!

Вероятно, его писали ну очень малогабаритныебюджетные индусы.
nepal

akpm

В среду вечером встречались с Andrew Morton. Я уже был с ним знаком, но близко поговорить удалось впервые. Сначала заехали ненадолго к нам в офис, а потом ужинать в "Сыр".

Затронули разные темы -- от (конечно же) продвижения OpenVZ в мейнстрим до автомобилей (у него какой-то особенно мощный Pontiac, наверное, Firebird или GTO) и сравнительной характеристики жизни в Москве, в Silicon Valley и в Австралии. Эндрю сказал, что в Австралии лучше всего.

Если не считать работы, у меня было к Эндрю два вопроса, и на оба я получил ответ. Ответ на первый практически вылез сам из сравнительного обсуждения производительности файловых систем -- в Гугл используют ext2, потому что им всё равно, если какая-то машинка, содержащая (поисковый) индекс, остановится на полдня для fsck -- все данные, содержащиеся на ней, также есть и на других машинках в кластере. Собственно, это и был ответ, прозвучавший раньше вопроса, а вопрос был -- неработоспособность одной машины в кластере несущественна потому, что есть избыточность (redundancy), или потому, что на одной машинке слишком маленькая часть индекса, всё равно никто не заметит.

Второй вопрос был -- делает ли Эндрю что-нибудь именно для Гугла. Ответ -- ничего не делает, только участвует в митингах раз в два месяца. Сначала, когда только перешёл туда -- делал. Они переезжали с ядра 2.6.10 (кажется) на 2.6.18, поэтому надо было посмотреть все патчи, которые у них были для 2.6.10, и выкинуть уже ненужные.

А вот фотки, кому интересно

nepal

cvs to git

С конца 2000 года и практически по сей день я использую CVS -- то эпизодически, то очень часто и много. И всё это время мне она не нравится.

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

Так вот -- я дошёл до такого состояния, когда не могу больше пользоваться CVS, и мне проще сделать из него GIT репозиторий и в нём уже копаться.

Делается это буквально на раз-два. Вот пример для удалённого репозитория:

mkdir project
cd project
git-cvsimport -p x -v -d :ext:login@domain.com:/cvsroot project/dir


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

PS Вот говорят, что subversion есть достойная замена CVS. А вы видели хотя бы от subversion пристойный (да что там пристойный -- понятный хотя бы) веб-интерфейс? Вот и я не видел... разве что trac? Но там он как-то хитро вместе с wiki и ещё чёрт знает чем объединён.

PPS Про сабвершн, даркс, меркуриал можете мне не писать -- я более-менее в курсе. Про монотон и базаар слышал. Про остальное практически нет.

Update 2011.11.17: comments disabled because of spam
nepal

Linksys WRT-54GL как домашний роутер

Сегодня ночью не спалось (привет, Лос-Анджелес!), поэтому я решил разобраться с роутером Linksys WRT-54GL, который по случаю недавно закупил.

Разобраться я с ним решил в том смысле, чтобы переехать на него в качестве домашнего роутера. До сего дня у меня роутером работал старый десктоп от Compaq, имеющий 4-port Ethernet карточку и Wi-Fi от Atheros. Там стояла Gentoo, и всё работало себе и работало. Девайс выжил несколько переездов с квартиры на квартиру, несколько смен провайдеров и т.п. Соответственно, всё меня в нём устраивало, пока там не накрылся винт. Кстати, 10 лет проработал ровно.

Gentoo снова ставить долго, особенно на таком старинном железе, поэтому я решил туда что-то специализированное воткнуть, желательно мини-дистр, заточенный под роутер. Опробовал разнообразных с десяток, более всего мне понравился pfSense (он FreeBSD-based). Увы, ни один из них не подошёл, так как наш мега-провайдер МФТИ-телеком требует просто-таки чудовищный сетевой сетап: Ethernet, DHCP, десяток статических маршрутов (правда, они их выдают по DHCP, но половина dhcp-клиентов их не понимают), потом поверх этого PPTP в интересной конфигурации. Соответственно, и pptp, и LAN надо потом NATить.

Разочаровавшись в специализированных дистрибутивах, я поставил на роутер CentOS 5 (надёжность, знакомость) -- тоже долго мучился [1], [2], [3]), всё заработало, но, в общем, тоже счастья не настало. Конфигурация сети там какая-то убогая, нельзя сказать, что оно "заработало из коробки".

А теперь вот решил не выпендриваться и поставить LinkSys. Что бы вы думали? Он тоже не умеет PPTP "поверх". Точнее, умеет, но не "поверх". Ну и я туда влил DD-WRT. Он умеет. Но тоже как-то не совсем так. Чтобы всё получилось, пришлось редактировать файл /tmp/pptp_client/options.vpn -- убрать отттуда с десяток опций. Пока ещё не знаю, какая опция "виновата". Проблема в том, что там дебага никакого ни pptp, ни pppd не выводят, видимо, откромсали там всё это. Вторая проблема в том, что /tmp в ramfs, а остальная файловая система read-only, параметры все хранятся в nvram, оттуда их при старте черпают и нужные файлики создают. Таким образом, если в веб-морде нету таких настроек, то никак их не сделать persistent. Разве что образ dd-wrt пересобрать. Update: как я и предполагал, там есть кастомные команды, которыми можно всё поредактировать.

Буду думать, что делать дальше. Может, багу к ним зафайлю.
nepal

Ïåðåêîäèðîâêà

Если у вас есть некий текст на русском, но в виде вот таких вот кракозябр, как в теме этого поста, то вот как его можно "раскодировать" (Linux command line):

iconv -f utf-8 -t iso-8859-1 | iconv -f cp1251 -t utf-8

Например:
$ echo "Ïåðåêîäèðîâêà" | iconv -f utf-8 -t iso-8859-1 | iconv -f cp1251 -t utf-8
Перекодировка


В некоторых случаях, если вышеуказанная мантра не работает, вместо cp1251 можно попробовать koi8-r.

via bacek
nepal

ALTLinux, 1C, OpenVZ

О как! C ЛОРа:

В декабре 2007 года компанией ООО «НЕВОД» (http://www.nevod.ru) для ЗАО «Уралалмаз» (http://almaz.perm.ru) произвела установку и настройку системы 1С на серверах компании с использованием ALT Linux 4.0 Server.

Развёрнутая система обеспечивает одновременную работу до 50 пользователей в локальной сети предприятия и работу 10 пользователей на удаленных объектах, объединенных с центральным офисом низкоскоростными каналами связи.

ALT Linux 4.0 Server обеспечивает поддержку следующих сервисов для данного решения:
- сервер 1С 8.1;
- сервер базы данных PostgreSQL 8.2;
- сервер лицензий;
- терминальный сервер, обеспечивающий выполнение приложений 1С в рамках рабочей среды KDE по протоколу NX (nomachine, freeNX).

Для повышения надёжности и простоты миграции использовались технологии openVZ-контейнеров.

Успешное внедрение делает возможным в первом полугодии 2008 года заменить на клиентских местах, пользователей 1С:Предприятия, операционную систему Windows XP на ALT Linux 4.0 Desktop.
nepal

Networking scalability on high-performance servers

Статья на IBM developerWorks про то, как ускорить гигабитный эзернет в Линуксе. Две трети посвящены тому, что прерывание от сетевой карточки надо биндить на определённый CPU (с помощью /proc/irq/NNN/smp_affinity). Остальная треть про бондинг.

Я это к чему? В бытность мою лидером Virtuozzo QA (ох, давно это было) мы делали много всяких тестов производительности. Я тогда выяснил (впрочем, это не было откровением -- в Интернете написано, если хорошо поискать), что если забиндить прерывание от сетевой карточки на один CPU, то скорость Fast Ethernet возрастает примерно на 15%. Тогда всё было не то, что сейчас -- kernel 2.4 (а не 2.6 -- там TCP/IP стек сильно другой), Fast Ethernet (а не гигабитный), никакой тебе NUMA и в помине не было.

Забавно, что всё поменялось, а хинт всё ещё в силе.