Pull to refresh
  • by relevance
  • by date
  • by rating

Борьба с sysprep, или как облегчить себе жизнь с Windows Vista

Lumber room
Я до этого механизма доходил месяца два – с криками, матом, ворчанием в адрес разработчиков ПО Microsoft. Некоторые нюансы все еще остались для меня загадкой. Но основная часть решена.

Среди задач, поставленных передо мной, были следующие:

— установить Windows Vista Home Basic
— заставить работать на нем некое специфическое ПО
— установить на втором разделе FreeDOS и внедрить его в загрузчик Vista
— научиться делать запаковку

Часть первая. Многоликий Sysprep

Когда слышишь любую фразу, связанную с названием операционной системы от Microsoft, в которой есть слово Home, на ум приходит в первую очередь непомерно урезанная версия для домохозяек – невозможность редактирования локальных политик и групп пользователей, урезанный до удаленного помощника RDP, отсутствие некоторых важных утилит администрирования… Но со всем этим приходится бороться, ибо задача есть и нужно ее решить при отсутствии альтернативы.

Читать дальше →
Total votes 13: ↑11 and ↓2 +9
Views 6.3K
Comments 8

Расширение полномочий диспетчера задач

Lumber room
Если запустить менеджер задач Windows XP с правами учетной записи Local System, то станет возможным выгружать из памяти компьютера любые процессы, даже те, попытка завершения которых обычно сопровождается фразой «Операция не может быть завершена. Отказано в доступе». Для запуска диспетчера с широкими полномочиями нужно
сделать следующее
Total votes 21: ↑18 and ↓3 +15
Views 432
Comments 6

Экстренная реанимация epmd

Erlang/OTP *
(Проблема, по всей видимости, чрезвычайно экзотическая, но в плане «как оно внутри устроено» достаточно познавательная.)

Вот, допустим, работает у вас приложение, написанное на Эрланге (ну, скажем, тот же ejabberd). Давно работает, хорошо работает, но в один прекрасный день вы пытаетесь запустить управляющий скрипт (ejabberdctl, соответственно), а он вам выдает «nodedown» или еще что-нибудь страшное в этом духе, мол, не отзывается никто. При этом само приложение прекрасно отзывается на все клиентские запросы и слыхом не слыхивало о том, что оно down. По внезапному наитию вы запускаете epmd -names и — о, ужас! — получаете пустой список.

Программы на Эрланге используют для связи между собой нотацию node@host, физически же каждый узел (читай — системный процесс) открывает для этого случайный высокий порт. Задача сервиса epmd — связать между собой логическую адресацию по имени и физическую адресацию по номеру порта. Своего рода аналог DNS, с той разницей, что без реестра epmd кластер на Эрланге разваливается на кучку отдельных глухонемых узлов — что у нас только что по какой-то загадочной причине и произошло. Можно, конечно, начать искать виновных, но сначала все-таки неплохо бы поднять систему на место.

Что в такой ситуации делать? Можно, конечно, просто насильно перезапустить приложение, но, с одной стороны, клиенты отвалятся, с другой, такой красивый uptime жалко… Вот если б можно было как-нибудь восстановить реестр на живой системе, а?..

Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Views 7.1K
Comments 12

Предупреждение о взломах Debian-систем

Lumber room
Вероятно, взломали не только меня. Кто администрирует Debian-like системы, обратите внимание.

Все началось с писем с того, что у меня на сервере кончилось место. Все 1.5Тб. Пока я пытался понять, что такое у меня произошло и что именно наполнило мои файлы mail.log & etc таким количеством записей на телефон стали приходить сообщения от моего MTA, что стало невозможно принимать входящую почту. Затем пришло письмо о том, что мой сервер участвует в спам рассылке. Поскольку я находился вообще в магазине, и у меня в руках был только телефон, то все, что я успел сделать это было:

Установить старину Джона:

aptitude install john

Натравить простой перебор паролей:
john /etc/shadow

О ужас! Он выдал, что у меня есть пользователь spam с паролем sp4m

понятно, что далее я сделал
passwd -l spam
grep SASL /var/log/mail.log
Jun 12 16:26:15 gw postfix/smtpd[26608]: warning: unknown[41.138.185.5]: SASL LOGIN authentication failed: authentication failure

Вытащил оттуда адрес: 41.138.185.5и заблокировал его при помощи iptables

Потом я обновил aptitude update; aptitude full-upgrade до squeeze.

А вот теперь я сижу и думаю, кто мне подсадил эту заразу? Это ведь был полный root-доступ, чтобы добавить пользователя. Причем, судя по-дате файла /etc/passwd это было 8 июня 2010 года, то есть почти за неделю до рассылки спама. Никаких уведомлений о remote-root-vulnerablilty я не получал, загадка, да и только.
Total votes 48: ↑33 and ↓15 +18
Views 1.3K
Comments 55

Настройка виндового веб-сервера без RDP

PowerShell *
Совсем недавно понадобилось настроить очередной веб-сервер. Как раз в это время у меня было весеннее обострение PowerShell. В общем, в качестве небольшой разминки, я решил настроить веб-сервер без RDP.
Читать дальше →
Total votes 81: ↑61 and ↓20 +41
Views 4.6K
Comments 56

Удобный справочник по политикам Windows

System administration *
Бороздя инеты я как-то неожиданно (искал совершенно другое) наткнулся на страницу полезную для подрастающих сисадминов по политикам Windows. Матёрые сисадмины вероятно все эти политики знают и без таких справочников, но не все рождаются с патч-кордом в зубах.

Справочник организован в простом виде, разбитым на секции и разделы, где указаны ключи реестра плюс подробное описание того, чем они управляют. Так, например, при помощи политик из справочника можно запретить удаление или запуск системных программ (тот же regedit к примеру), отключить доступ ко многим настройкам windows, тонко настроить сервисы и сеть, офисный пакет и прочее, прочее. Так же предоставляется информация к каким версиям windows настройки применимы. Ну и главное — это из рук самой Microsoft.
Читать дальше →
Total votes 49: ↑40 and ↓9 +31
Views 1.9K
Comments 19

Настройка Database Mail в MS SQL Server 2005 и старше

Microsoft SQL Server *
Все описанное в этом посте будет актуально для Microsoft SQL Server 2005 и старших версий (2008, 2008 R2, Denali). Так же, в рамках этого поста, словосочетание «SQL Server» будет обозначать только Microsoft SQL Server, исключая MySQL, PostgreSQL, FireBird и прочие СУБД, которые, теоретически, можно назвать SQL Server.

Что это за штука такая, Database Mail?


Database Mail появился в SQL Server 2005, заменив собой компонент SQLMail. Database Mail (как ранее SQLMail) используется для отправки сообщений электронной почты самим SQL Server'ом (точнее, его компонентом Database Engine). Коренным отличием Database Mail от SQLMail является то, что последний, для отправки сообщений, использовал стороний клиент (Microsoft Outlook), который должен был быть установлен на машине с SQL Server'ом, а Database Mail сам общается с почтовым сервером по протоколу SMTP.

Для чего это надо?

Читать дальше →
Total votes 23: ↑16 and ↓7 +9
Views 65K
Comments 7

Help, my database is corrupt. Now what?

Microsoft SQL Server *
Translation
Поврежденная база данных — это, наверное, один из худших ночных кошмаров большинства администраторов баз данных. Результатом повреждения являются простои, вопли менеджеров и всякие другие неприятные штуки.
В этой статье я объясню что нельзя делать с поврежденной базой данных и опишу кое-что из того, что должно быть сделано, некоторые виды повреждений и как их можно исправить.

Как обнаружить, что база данных повреждена


Обычно повреждения превосходно обнаруживаются при попытке доступа к поврежденной странице. Запросы, бэкапы или процедуры реиндексации завершаются ошибками с высокими уровнями серьезности.
Вот пара примеров системных сообщений при обнаружении повреждения БД:
SQL Server detected a logical consistency-based I/O error: incorrect checksum (expected: 0xfdff74c9; actual: 0xfdff74cb). It occurred during a read of page (1:69965) in database ID 13 at offset 0x0000002229a000 in file 'D:\Develop\Databases\Broken1.mdf'.
Attempt to fetch logical page 1:69965 in database 13 failed. It belongs to allocation unit 72057594049069056 not to 281474980642816.
Основная проблема заключается в том, что если проверки целостности базы данных не производятся на постоянной основе, то повреждение может быть обнаружено спустя часы, дни и даже месяцы, после того, как оно образовалось, в тот момент, когда уже сложно будет что-то исправить.
Читать дальше →
Total votes 39: ↑36 and ↓3 +33
Views 34K
Comments 12

Восстановление отдельных страниц в базе данных

Microsoft SQL Server *
Предисловие

Статья Gail Shaw «Help, my database is corrupt. Now what?», перевод которой я запостил на прошлой неделе, вызвала, вроде бы, определенный интерес, но она, увы, не содержала «практики». Да, там написано как можно спасти данные, но нет никаких примеров.
Изначально я хотел сделать еще один перевод все того же автора, но, подумав, решил написать пост «от себя», как бы «по мотивам». Причины, побудившие меня поступить так, я опишу в конце поста, в примечаниях.

Восстановление баз данных в SQL Server


Как уже было сказано в предыдущей статье, в том случае, если повреждены страницы кластерного индекса или кучи, то данные, содержащиеся на этих страницах, потеряны и единственным вариантом для их восстановления является непосредственно восстановление базы данных.
Читать дальше →
Total votes 25: ↑19 and ↓6 +13
Views 26K
Comments 1

Балансировщик соотношения входящего/исходящего трафика linux-сервера на PHP

System administration *
Sandbox
Как я некоторое время назад выяснил на собственном опыте, ещё остались провайдеры, для получения безлимитного тарифа от которых требуется выдерживать определённое соотношение входящего и исходящего трафиков.
В моём случае, при размещении сервера на colocation в одном московском датацентре, исходящего должно было быть не менее чем в 4 раза больше чем входящего (уж извините за такой оборот). Соотношение рассчитывается как за сутки, так и общее за месяц. Нарушение любого из них — штраф.

Само по себе соотношение не выдерживалось из-за переодических объёмных заливок бэкапов на сервер. Вручную (гиг заслал, 4 гига скачал) — надоело.

Читать дальше →
Total votes 18: ↑16 and ↓2 +14
Views 2.5K
Comments 6

Резервное копирование файлов и баз данных

Website development *PHP *
Sandbox
Возможности скрипта:
— бэкапить директории и базы данных
— загрузка архивов в локальную папку или на фтп
— информирование по email о удачном/не удачном завершении
Читать дальше →
Total votes 25: ↑15 and ↓10 +5
Views 7.3K
Comments 60

InterSystems Database Mirroring. Создание и тестирование зеркала. Часть 1

InterSystems corporate blog

О технологии


Caché Database Mirroring появилась в продуктах InterSystems Caché и Ensemble в 2010 году.
Технология позволяет снабдить информационные системы(ИС), построенные на Caché и Ensemble, опцией FAILOVER — возможностью преодоления некоторых неисправных состояний СУБД, операционной системы или аппаратного обеспечения.
Для чего информационной системе необходим failover — вопрос давно изученный, но в двух словах failover позволяет минимизировать время простоя пользователей в случае неисправностей, приводящих к отказу обслуживания сервера с информационной системой.
Читать дальше →
Total votes 2: ↑2 and ↓0 +2
Views 3.3K
Comments 0

Недокументированные возможности Microsoft SQL Server: STATISTICS_ONLY, DBCC AUTOPILOT и SET AUTOPILOT

Microsoft SQL Server *
Translation
Как известно, оптимизатор запросов SQL Server, для построения оптимального плана выполнения запроса, использует оценку стоимости. SQL Server строит и оценивает множество планов и выбирает среди них план с минимальной стоимостью.

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

Собственно, вопрос заключается в том как создать «гипотетический» индекс? Просто для того, чтобы проверить действительно ли такой индекс будет полезен при выполнении запроса.
Читать дальше →
Total votes 18: ↑17 and ↓1 +16
Views 10K
Comments 6

Простенький пользовательский агрегат

PostgreSQL *
Translation
Tutorial
Пользовательские агрегаты (custom aggregates) являются одной из тех уникальных особенностей PostgreSQL, понять которую кажется не под силу никому. Однако как только создать хотя бы один по-настоящему работающий пример, тучи разверзнутся, и вы будете удивляться, как же раньше жили без такого матёрого функционала. Так давайте создадим такой простенький агрегат. Он будет возвращать состояние, то есть наиболее часто встречающееся значение, для логического (булевого) поля.

Кто и зачем может захотеть странного? Ну, представьте, что вы денно и нощно мониторите несколько ваших веб-серверов, и хотите иметь почасовую картину аптайма (uptime). Допустим каждые 30 секунд состояние сервера заносится в таблицу: TRUE — сервер работает, FALSE — сервер лежит. Тогда если большую часть времени сервер работал мы хотим вернуть TRUE, а ежели по большей части сервер стоял, то соответственно FALSE. А если и сама система мониторинга лежит и, следовательно, нет никаких данных, будем возвращать NULL.
Читать дальше →
Total votes 10: ↑7 and ↓3 +4
Views 7.6K
Comments 2

Как мы разворачивали Huawei MicroDC

SAN *
Sandbox
Не так давно компания Huawei решила, что ей стало тесно в нишевом рынке операторов телекоммуникационных услуг. Результатом этого стало создание отдельного подразделения IT в их дивизионе Enterprise. При этом китайцы подошли к этому вопросу масштабно.

Когда Huawei говорят про IT, то они подразумевают действительно все продуктовые линейки, которые охватывают IT-инфраструктуру предприятия, причем от SOHO/ROBO до Enterprise уровня.
Понятно, что при наличии такого портфолио компания может предложить своим клиентам действительно сквозные решения, закрывающее все нужды клиента. Сегодня я хочу рассказать вам об одном из них: Huawei MicroDC.



Читать дальше →
Total votes 13: ↑9 and ↓4 +5
Views 16K
Comments 3

Как я не опубликовал приложение в Autodesk Apps Exchange

CAD/CAM *
Sandbox
Исторически так сложилось, что я довольно давно являюсь администратором PDM системы Autodesk Vault. Кроме того, регулярно провожу обучение по использованию и администрированию этого программного продукта.

Ввиду описанных выше причин приходилось осуществлять довольно много установок «с нуля». В предыдущих версиях (2010-2014) даже для опытного пользователя задача, скажем честно, муторная. Так как в базовой комплектации система базируется минимум на MS SQL Server и IIS: необходимо учитывать и нейтрализовывать разного рода особенности, которые могут возникнуть при установке.

После примерно десятой итерации установки уже можешь вслепую пробежаться по настройкам Windows, IIS и SQL. Сразу обмолвлюсь, что использование виртуальной машины не подходило по причине того, что каждый раз установку приходилось осуществлять на новом железе, которым располагал заказчик. Итак, графический интерфейс – это хорошо, но метод явно не наш, так как сложно обеспечить должную скорость, повторяемость и автоматизацию.
Что было дальше
Total votes 10: ↑7 and ↓3 +4
Views 3.2K
Comments 2

Сбор и визуализация метрик приложения в Graphite и Graph-Explorer

Website development *Python *Data visualization
Tutorial
Зачастую возникает необходимость отслеживать различные параметры работы приложения/сервиса. Например, интерес представляет количество запросов в секунду, среднее время ответа сервера, количество ответов сервера с различным HTTP-статусом (технические метрики), количество регистраций пользователей в час, количество платежных транзакций в минуту (бизнес-метрики) и пр. Без системы сбора метрик разработка и сопровождение продукта происходит практически вслепую.



Данная статья является руководством по настройке системы сбора и анализа метрик приложения на базе Graphite и vimeo/graph-explorer.
Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Views 54K
Comments 11

Autoscaling — инструмент автоматического вертикального масштабирования ресурсов (CPU|RAM|HDD)

«NetAngels» corporate blog Configuring Linux **nix *Cloud computing *Database Administration *

В начале этого года у наших облачных VDS появился публичный API. Он позволяет клиенту делать практически все те же действия с облачными виртуальными машинами и дисками, что и в панели: создавать, удалять диски и ВМ, изменять тарифы и размер диска и тп.





Вместе с появлением API появилась и идея на его основе реализовать систему мониторинга за ресурсами виртуальной машины (ВМ), работающую внутри машины, и автоматического увеличения/уменьшения необходимых ресурсов по необходимости — автоскейлинг (autoscaling, АS).
Некоторые пояснения по AS
Здесь стоит уточнить, что поскольку система AS основана на API, в ее задачи не входит мгновенное предоставление ресурсов по требованию, в момент появления необходимости в них, или угадывание/предсказывание будущей необходимости в ресурсах. Суть AS заключается в том, что он должен зафиксировать момент, когда можно с уверенностью сказать, что ресурсов текущего тарифного плана становится недостаточно для гарантированного* и своевременного** выполнения запущенных на виртуальной машине процессов, и автоматически перевести ВМ на следующий тариф.

**Своевременного — потому что, если выполнение запущенных процессов упирается в процессорный ресурс, то процессы так или иначе выполнятся. Но время их завершения становится непредсказуемым.
*Гарантированного, потому что если оперативная память ВМ близка к исчерпанию и на ВМ не настроен swap, то это означает, что близка ситуация, когда какой-то из запущенных на ВМ процессов будет аварийно завершен операционной системой, если суммарное потребление памяти всеми процессами превысит ее общий объем. Если же swap настроен, то пока он также не исчерпается, никто убит не будет, но быстродействие ВМ также сильно просядет, т.к. будет зависеть от скорости работы swap-раздела, которая в любом случае на порядок меньше, чем скорость работы оперативной памяти.

Читать дальше →
Total votes 13: ↑10 and ↓3 +7
Views 6K
Comments 11

Вредные советы для Вашего стартапа

System administration *DevOps *

Третья часть "Истории одного стартапа" задерживается из-за внезапно случившихся праздников (кто не читал — здесь начало), вот вам пока набор вредных советов. С "Историей ..." они никак не связаны, просто наблюдения за разными проектами в которых довелось поучавствовать мне, или моим коллегам.

Читать дальше →
Total votes 41: ↑32 and ↓9 +23
Views 8.2K
Comments 19
1