LINUX.ORG.RU

Сообщения shamus24

 

Создать раздел на диске в скрипте

Форум — Admin

Ребята, неужели нет решения для такой простой задачи? Нужно в скрипте, без участия пользователя, создать раздел заданного размера на диске, автоматически выбрав для него свободное место (если есть, конечно), тип (primary/logical), создать extended раздел при необходимости, и вернуть имя устройства для этого раздела (/dev/sda5 например). Пока вижу только один путь - вызывать parted, парсить его вывод и строить команды для него же. Может готовое что-то есть? И нужно, чтобы с gpt работало.

shamus24
()

nginx на Linux vs nginx на FreeBSD

Форум — Admin

Здравствуйте, дамы и господа.

Хочу поделиться следующим наблюдением, и спросить совета. Нужно поднять nginx в качестве реверсного прокси (фронтенд). Задача как-бы не сложная, но вот результаты какие-то странные. В процессе тестирования условия были сведены к абсолютному минимуму - на данный момент nginx отдает одну-единственную статическую страничку объемом 11 килобайт (которую изначально читает с бэкенд-веб сервера, но потом-то уже отдает из кэша) через чистый http, без ssl. И результат по FreeBSD примерно такой - более 500 хитов в секунду и около 60 Мбит/с трафика без дропов и тайм-аутов. На машинке пентиум-4 3,2 ГГц, правда, с серверной материнкой. Может, можно и больше, но канал в интернет 100 мегабит, и дальше уже не совсем понятно то ли машина не тянет, то ли провайдер. Под линуксом же наблюдается такое: при нагрузке более 60 хитов в секунду - начинаются отваливания и тайм-ауты, при этом трафик не превышает 6-7 мегабит. И это на более мощных машинах (пробовалось более одной), вплоть до Core i7 первого поколения. Конфигурация nginx, разумеется, одинаковая. Пробовал тюнить сеть на линуксе, и сам nginx по мотивам найденных в интернете статей, например этой, но всё это не дало никакого видимого результата. Я, конечно, знаю, что nginx изначально писался «with FreeBSD in mind», но, блин, не может же быть всё так фатально из-за этого? Вопрос, соответственно: что предпринять, чтобы приблизить результаты nginx/Linux к nginx/FreeBSD? Конфигурацию nginx скину ответом на это сообщение чуть позже, а настройки Linux даже и скидывать смысла нет, т.к. всё по-умолчанию давало те же результаты (Fedora 18 и Centos 6).

shamus24
()

Туннель между двумя компьютерами за двумя NAT-ами

Форум — Admin

Здрасьте все.

Пытаюсь построить такую вот загадочную штуку. Два компьютера, каждый за своим NAT-ом, через интернет. Нужен IP-туннель. К роутерам-натам доступ есть, их можно настраивать, пробрасывать порты и т.д. в пределах их возможностей (может быть мыльницей). Решение, в принципе есть, хочу ещё вариантов. Шифрование не только не нужно, но даже вредно, т.к. создает дополнительную нагрузку и задержки, в то время как передаваемая информация уже защищена на другом уровне.

Вариант 1 - OpenVPN. Со стороны сервера пробрасываем нужный порт UDP через NAT на сервер, остальное - дело техники. Не очень нравится тем, что оно исключительно user-space. Хотелось бы любых дополнительных задержек избежать по возможности. Опять же не очень понял можно ли его без шифрования запустить.

Вариант 2 - PPTP. Тоже решаемо пробросом портов на стороне сервера, и если роутеры достаточно умные, чтобы нормально пропустить GRE. При использовании accel-ppp оно даже ядерное. Но загвоздка в том, что pptp с любой стороны может понадобиться для других целей, поэтому занимать порт 1728 не желательно, а как его настроить на другой управляющий порт, я не нашёл. С шифрованием здесь хорошо - можно не использовать.

Хотелось бы ещё вариантов. Идеальным вариантом выглядел бы простой GRE-туннель без шифрования, но не соображу как его пробросить в такой схеме.

shamus24
()

Fedora 18 unicode console

Форум — Admin

Здрасьте. Извиняюсь, если вопрос дурацкий, но чего-то найти не могу. В Fedora 18 по-умолчанию не юникодная консоль (текстовая, исков нет вообще). Легко переводится в юникод и обратно посредством запуска unicode_start. Вопрос: как сделать, чтобы текстовые консоли стали юникодными изначально? Сейчас засунул этот unicode_start в bashrc. Жить можно, но надоедает, когда заходишь через ssh - оно каждый раз сообщает, что не будет выполнять эту команду для non-tty. Да и вообще - корявенько как-то.

shamus24
()

«запустить» crash dump

Форум — Admin

Всем привет. Есть такая команда «crash», предназначенная для анализа дампов. А можно ли (с её помощью, или по-другому) как-то «запустить» этот дамп? То есть восстановить состояние компьютера на тот момент, когда этот дамп был снят. Понятно, что в обычном случае это означало бы, что компьютер зависнет с кернел паником на экране, поскольку обычный дамп именно в этот момент сливается. Но у меня ситуация другая.

Я этот фокус хочу проделать с виртуалкой KVM. В libvirt есть команда virsh dump, которая делает crash dump для указанной виртуалки, при этом виртуалка вполне может быть в этот момент живая и работающая. Вот хотелось бы этот dump иметь возможность запустить. Кстати, поскольку это виртуалка, подойдёт и способ «залить» в нее этот файл «снаружи», то есть с хоста. По крайней мере «залить» память из этого дампа вполне можно, но этого явно не достаточно, нужно что-то ещё.

Я знаю, что в virsh есть команды virsh save и virsh restore специально для этих целей. Но есть отличие: virsh save после завершения процесса виртуалку убивает. А мне нужно, чтобы она продолжала работать. Можно, конечно, тут же сделать virsh restore из полученного файла, и это действительно работает, но суммарное время операций save/restore становится слишком большим, а это всё - downtime. Как мне показалось, virsh dump и сам по себе быстрее работает, и не нужно потом на восстановление время тратить.

Не спрашивайте, зачем мне это нужно - это отдельная история.

shamus24
()

Fedora 18: Опять не получается зашифровать root

Форум — Admin

Всем привет.

У меня стандартная конфигурация - зашифрованный раздел для / (root), ключ к которому находится на внешнем устройстве, вместе с /boot. Таким образом, я загружаюсь с внешнего устройства (USB или сеть), и пароль не ввожу при старте.

У меня есть уже целая коллекция как добиться этого в разных дистрибутивах. В основном приходилось править скрипты в initramfs, чтобы вместо ввода пароля вызывался cryptsetup с ключевым файлом. Fedora прежних версий была единственным дистрибутивом, в котором не нужно было править скрипты, а можно было по-человечески указать путь к ключевому файлу в соответствующей строчке файла /etc/crypttab (в initramfs, естественно).

Теперь же его пофиксили кардинально. В /etc/crypttab можно писать что угодно, а можно вообще его удалить, похоже его никто не читает. И пароль запрашивается, соответственно, всегда. Только теперь там вместо скриптов бинарный systemd, в котором я даже понять не могу в каком месте его можно подправить, чтобы получить желаемый эффект.

Кстати, прежний скрипт cryptroot-ask по-прежнему лежит в /sbin, только он никем не исполняется.

Никто, случаем, не подскажет?

shamus24
()

corosync & iscsi (не target)

Форум — Admin

Привет всем. Что-то у меня с этим high-availability скоро крыша съедет. Хочется: подключиться к iscsi-хранилищу, смонтировать файловую систему и запустить какой-нибудь апач. Всё это в кластере. Для подключения к iscsi использую агента ocf:heartbeat:iscsi, вот с ним какая-то дурацкая проблема. Вернее, проблема с ним совершенно понятная, только непонятно почему в этом коросинке нихрена с этой проблемой сделать не удается.

В общем, настроен ресурс, из параметров только portal и target. Когда всё запущено и работает нормально, этот ресурс тоже запускается и работает. Но если вдруг в момент запуска этого ресурса target оказывается не доступен - всё, жопа.

corosync воспринимает это как полный капут, и убирает ресурс с узла кластера вообще. В логах появляется следующее:

pengine: info: get_failcount: iscsivol2 has failed INFINITY times on node2 pengine: warning: common_apply_stickiness: Forcing iscsivol2 away from node2 after 1000000 failures (max=1000000)

Просто отпадные заявления по поводу одной-единственной ошибки. А главное - вернуть его не удается, вообще. Пока кластер не перезапустишь, никакие танцы не помогают - unmanage/manage, stop/start - всё пофиг.

Вопрос: как ему сказать, что если iscsi target отвалился, то надо всего лишь попробовать запустить этот ресурс позже. Или, хотя бы, как его вручную пнуть, чтоб заработал?

pacemaker 1.1.8, corosync 2.2.0, fedora 18.

shamus24
()

Помогите прочитать .dbf с мемо-полем .dbt

Форум — Development

Здравствуйте.

А ткните, пожалуйста, носом, если есть где нормальная библиотека для работы с dbf-файлами (лучше PHP, но можно и какой-нибудь python с перлом). Суть в том, что всё, что я нахожу, или не умеет вообще работать с memo-полями, или работает с каким-то определенным видом memo-полей, чаще всего от FoxPro. Мне же нужно разобрать «классический» dbf-файл в формате DBase IV с мемо-полем, которое в файле .dbt

Если такого нет в природе, то какую бы вы порекомендовали библиотечку для допиливания вручную на предмет этих полей? Там структуры не сильно сложные, можно и самому осилить, но только я не спец в этих скриптовых языках, и если там в коде лапша - не потяну.

shamus24
()

Увидеть разделы на loop device

Форум — Admin

Здравствуйте.

Подскажите, как получить в системе блочное устройство, представляющее раздел (partition) на loop0? Например, на loop0 цепляем файл, представляющий полный дамп жесткого диска, естественно, с таблицей разделов. А хочется смонтировать первый-второй-третий раздел с этого дампа. parted /dev/loop0 разделы видит без проблем.

shamus24
()

Как запретить arp discover?

Форум — Admin

Подскажите, как можно сконфигурировать интерфейс, чтобы машина не отсылала ARP-запросы для выяснения мак-адресов? Предполагается, что все нужные соответствия MAC-IP будут внесены статически. При этом нужно, чтобы эта машина сама нормально отвечала на ARP-запросы по поводу её собственного IP-адреса.

Если сделать ifconfig <if> -arp , то машина перестает отвечать на ARP-запросы.

Есть способ, кроме iptabes/ipfw (мне на FreeBSD надо вообще-то, но не принципиально).

shamus24
()

Intel Smart Response, ASUS SSD Caching

Форум — Admin

Вопрос простой - что из сабжей, или их аналогов, доступно для пользователей Linux?

Аппаратный RAID контроллер с функцией кеширования на SSD-диске не предлагать.

shamus24
()

Ещё вопрос про email parsing

Форум — Development

Подскажите, есть ли нечто очень высокоуровневое, чтобы выполнить такую задачу: взять e-mail сообщение, например, из файла или stdin целиком, и на выходе получить текст письма, в единой кодировке UTF-8, например.

Под текстом имеется ввиду именно тот текст, который мы бы видели, просмотрев это письмо в почтовом клиенте. В готовом виде, то есть, при необходимости, извлеченный из multipart mime, перекодированный из base64/QP/UUE, выдернутый из html-а, сконвертированный из KOI8-R и т.д.

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

Я раньше делал нечто подобное, но под виндой. Там я использовал Delphi и набор компонентов Indy. Сейчас я попробовал то же самое сделать под Free Pascal/Lazarus - Indy туда портировали, но под Linux оно не работает. Что-то там накосячили при работе с кодировками, кое-что мне удалось исправить, но теперь я добрался до функции перекодирования Multibyte character set, там оно через IFDEF под виндами вызывает MultiByteToWideChar и работает нормально, а под юниксом вызывает iconv и не работает. Быстро найти почему не работает не представляется возможным - опыта маловато, да и не факт, что это последняя грабля окажется. Поэтому надеюсь найти какое-нибудь другое решение.

shamus24
()

Очень высокие значения interrupt rate и context switches

Форум — Admin

Привет всем.

Имеется хост на Intel Core i7-960. На нём

Linux 3.2.3-1.el6.elrepo.x86_64 #1 SMP Fri Feb 3 18:57:15 EST 2012 x86_64 x86_64 x86_64 GNU/Linux
. Используется в качестве хоста для виртуалок KVM. Виртуалок шесть, но нагрузка очень небольшая. Имеем: dstat показывает очень высокие значения int и csw. Конкретно: int - 45k, csw - 55k. Думаю, что второе - следствие первого. Прерывания, как показывает /proc/interrupts, в основном идут по графе Resheduling Interrupts, и от сетевой карты Intel Gigabit ET Dual-port server adapter (82576). Вроде как крутая карта, с функциями разгрузки центрального процессора и т.п. В общем-то никаких неприятностей в связи с такой высокой загрузкой int/csw не наблюдается, хочется просто понять, это вообще нормально/не нормально, что можно сделать, и стоит ли дёргаться. Сеть во все виртуалки проброшена через бридж br0, который поверх одного из портов этой сетевой карты. Второй порт не используется. Также не используется виртуальная сеть kvm, которая virbr0. Точно такая же машина стоит пока что под VMWare Server, и linux старее. На ней виртуалок больше, нагрузка больше, но при этом int - 10к, csw - 20k, а понятия Rescheduling Interrupts вообще нет :-)

shamus24
()

umount device is busy - пока перегружается сервер

Форум — Admin

Здравствуйте. Вот, как всегда весь интернет в ответах не в тему. Итого, ситуация: umount <path> говорит «device is busy». lsof и fuser молчат - ну нету открытых файлов. Тем не менее device is busy. Вопрос, что делать? umount -f ничего не даёт. Последнее средство: umount -l. Конечно, устройство как-бы отмонтировалось, но, тем не менее, осталось busy.

Вопрос, собственно, в том, как всё-таки сделать нормальный force unmount, то есть не выявить и закрыть всё, что мешает, а потом нормально отмонтировать, или сделать вид, что отмонтировали, с последующим освобождением всего остального когда-нибудь. А именно отмонтировать здесь и сейчас, невзирая на все открытые файлы. Возможно?

shamus24
()

KVM и многопроцессорные гостевые машины

Форум — Admin

Добрый вечер!

Давно играюсь с виртуализацией, в т.ч. и на боевых серверах. Сейчас обнаружил, что описанное ниже проявляется и в KVM тоже (до сих пор считал, что нет). А именно, если выполняются следующие условия: 1) количество виртуальных процессоров во всех гостевых системах больше, чем физических процессорных ядер; и 2) какая-либо из виртуальных машин сконфигурирована более чем с одним процессором/ядром — то в этой машине, да и в системе в целом, наблюдаются жуткие тормоза и неадекватная загрузка процессора (-ов). Впервые столкнулся с таким в WMWare Workstation, затем в VMWare Server, и считал это багом или особенностью VMWare, а сейчас увидел это и на KVM. Немного погуглив, нашёл следующее:

Virtualized CPUs are overcommitted best when each virtualized guest only has a single VCPU. The Linux scheduler is very efficient with this type of load. KVM should safely support guests with loads under 100% at a ratio of five VCPUs.

Что, собственно, и наблюдается - на машине с одним двухъядерным процессором может висеть полтора десятка слабо нагруженных виртуалок, и работать нормально, но только если каждая из них - однопроцессорная.

Assigning guests VCPUs up to the number of physical cores is appropriate and works as expected. For example, running virtualized guests with four VCPUs on a quad core host. Guests with less than 100% loads should function effectively in this setup.

А вот здесь не очень понятно. То, что не надо делать виртуалку с числом процессоров больше, чем их физически есть, это понятно. Но означает ли эта фраза, что физических процессоров/ядер должно хватать на _все_ запущенные виртуалки? Мне как-то казалось, что это было бы не очень логично, но на практике получается, что это так и есть. К примеру, одна двухпроцессорная виртуалка на двухъядерном процессоре работала нормально, пока не добавилась ещё одна двухпроцессорная виртуалка. После этого - перманентные тормоза и 100% загрузка процессора. Примерно то же наблюдалось, когда к куче нормально работающих однопроцессорных виртуалок (в количестве, намного превышающем количество физических ядер) добавилась одна двухпроцессорная.

Вопрос состоит в следующем: это дело принципиально можно как-то победить в линуксе? Если это принципиально непобедимо в KVM, может какой-то другой гипервизор справится? Как с этим обстоит в VirtualBox, к примеру?

Я знаю один гипервизор, который такую ситуацию пережёвывает хорошо. Это VMWare ESXi. Но это не совсем линукс, к сожалению. А хочется именно его.

Спасибо.

shamus24
()

Centos LiveCD запрашивает пароль на зашифрованный раздел

Форум — Admin

Абзац

Пытаюсь загрузить машину с Centos 6 LiveCD (просто первое, что попалось под руку). На одном диске есть раздел, зашифрованный LUKS-ом. Эта зараза при старте требует от меня на него пароль! Я, блин, не помню тот пароль, и, скорее всего, там что-то было зашифровано с ключевым файлом. Мне он нафиг не сдался, я вообще тот диск отформатировать хочу, и перелить на него кое-что. Но не могу загрузить систему - вот введите ей пароль и всё.

Что делать?

shamus24
()

Какую файловую систему выбрать

Форум — Admin

О, великие гуру!

Сами мы не местные... ой...

В общем, есть задача - поднять сервер виртуалок на основе VMWare Server. Причём виртуальные диски виртуальных машин хочется задействовать в режиме «Thin provisioning», т.е. когда файл с образом этого диска изначально создается маленьким, но по мере его заполнения вырастает до больших размеров (десятки-сотни гигабайт).

Вопрос: какая файловая система на хосте наиболее хорошо будет чувствовать себя в таких условиях? В общем и целом конечно. Понятно, что никакой рекордной производительности при таких исходных данных не добиться, но это и не нужно. Хочется, при прочих равных, получить наиболее оптимальное решение.

Хост ОС - Centos 5.6 (возможно, Centos 6.0, если удастся поставить VMWare на него).

Всяческие другие пути повышения производительности (не использовать thin provisioning, выделить каждой виртуалке физический раздел, поставить ESX, убиться об стену и т.д.) - не предлагать.

shamus24
()

kcryptd он же dm-crypt - как ускорить?

Форум — Admin

Господа!

Подскажите, что можно сделать с производительностью kcryptd? В данный момент провожу почти «чистый» эксперимент. Машина - Intel Core i7-960, память DDR3-1600. Копирую большой файл с зашифрованного тома на этот же том. Midnight commander показывает скорость копирования 58МБайт/сек. То есть суммарный трансфер - 116МБайт/сек. Топ даёт по загрузке CPU для kcryptd величину 98%. То есть одно ядро процессора шифрование «съело». Диск может работать быстрее, потому что это аппаратный RAID с кэшем.

Хочется большего.

В конце-концов даже на более слабом процессоре и памяти, но том же RAID и дисках я получал до 250МБайт/сек. На зашифрованном томе. Но под Windows, с шифрованием с помощью DiskCryptor. При этом загрузка процессора не была такой печальной - там уже в скорость диска упиралось. Хочу примерно сравнимого эффекта под Linux (Centos 5.6 если что). Может какой-нибудь другой алгоритм шифрования указать? Я ничего не указывал при создании тома - всё по-умолчанию, ибо не знаю, что будет лучше, а что хуже.

При наличии программного RAID советуют шифрование делать на каждом диске в отдельности, а уж поверх собирать RAID - тогда шифрование распараллеливается на несколько ядер. Но у меня аппаратный массив на хорошем контроллере, и я не хочу это менять, кроме того, загрузить весь процессор шифрованием - это, конечно, забавно, но он ведь должен ещё и полезную работу выполнять, которой тоже будет немало. В общем, хочу менее процессорожрущую конфигурацию.

shamus24
()

Что особенного в образе initrd-диска для установки через PXE

Форум — Admin

Здравствуйте, о великие гуру!

Нужна небольшая помощь. Экспериментирую с сетевой загрузкой, немного необычной. Столкнулся с некоторыми непонятками, после исследования в сухом остатке обнаружилось следующее:

На установочном компакт-диске Centos 5.6 имеется файл images/pxeboot/initrd.img

Это, понятное дело, образ initrd-диска для PXE-загрузки установщика centos. Он через PXE загружается и ядро с установщиком запускается.

Если же вместо него в конфигурации PXE указать другой образ initrd-диска, например, самый обычный, скопированный из /boot/initrd-2.6.18-238.el5.img, то этот initrd-диск вообще не видится. На загружаемой машине грузится ядро, после чего сообщение «Could not find ram disk image: initrd-2.6.18-238.el5.img

Вопрос: что такого особенного в образе с из каталога pxeboot компакт-диска, что он видится при загрузке, а стандартный не видится? Что нужно сделать с образом, чтобы он увиделся при загрузке через PXE? Я хочу свой initrd-образ грузить, но он тоже, понятное дело, не грузится, хотя через grub всё нормально. Обратил внимание, что образ с компакт-диска большой - в два раза больше обычного, но по формату - он тоже запакованный gzip-ом, размер, очевидно, из-за напиханного в него всего для установки.

Сказать, что для PXE - загрузки используется какое-то специальное ядро, которое только правильный образ видит - нет. Этот установочный образ видится и обычным ядром из того же /boot, а обычный образ не видится ни ядром из pxeboot, ни стандартным ядром.

shamus24
()

Как продиагностировать Samba printing

Форум — Admin

Очередной добрый вечер, если он, конечно, добрый. Подскажите, куда можно копнуть по такой проблеме: имеется рабочее место под Ubuntu, на нём Samba, чтобы на принтер, подключенный к этому месту, можно было печатать из соседнего windows-а. Примерно раз в день сетевая печать отъезжает. То есть задание «печатается» в никуда, принтер молчит. В логах smbd и cups ничего интересного не вижу, но и не всё понимаю, что там написано. Локальная печать при этом работает.

Лечится перезапуском smbd, но хотелось бы понять причину. Принтер HP LJ 1020, USB. Драйвер - какой убунта предложила. CUPS.

Поднять уровень логов в samba - попробую, как доберусь туда. Вопрос - куда ещё можно посмотреть? Если вопрос глупый, извините, никогда с печатью под линуксом не сталкивался.

shamus24
()

RSS подписка на новые темы