Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

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

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

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

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

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

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

Читать дальше →
Всего голосов 13: ↑11 и ↓2 +9
Просмотры 6.4K
Комментарии 8

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

Чулан
Если запустить менеджер задач Windows XP с правами учетной записи Local System, то станет возможным выгружать из памяти компьютера любые процессы, даже те, попытка завершения которых обычно сопровождается фразой «Операция не может быть завершена. Отказано в доступе». Для запуска диспетчера с широкими полномочиями нужно
сделать следующее
Всего голосов 21: ↑18 и ↓3 +15
Просмотры 452
Комментарии 6

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

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

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

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

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

Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 7.2K
Комментарии 12

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

Чулан
Вероятно, взломали не только меня. Кто администрирует 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 я не получал, загадка, да и только.
Всего голосов 48: ↑33 и ↓15 +18
Просмотры 1.3K
Комментарии 55

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

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

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

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

Справочник организован в простом виде, разбитым на секции и разделы, где указаны ключи реестра плюс подробное описание того, чем они управляют. Так, например, при помощи политик из справочника можно запретить удаление или запуск системных программ (тот же regedit к примеру), отключить доступ ко многим настройкам windows, тонко настроить сервисы и сеть, офисный пакет и прочее, прочее. Так же предоставляется информация к каким версиям windows настройки применимы. Ну и главное — это из рук самой Microsoft.
Читать дальше →
Всего голосов 49: ↑40 и ↓9 +31
Просмотры 1.9K
Комментарии 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.

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

Читать дальше →
Всего голосов 23: ↑16 и ↓7 +9
Просмотры 65K
Комментарии 7

Help, my database is corrupt. Now what?

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

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


Обычно повреждения превосходно обнаруживаются при попытке доступа к поврежденной странице. Запросы, бэкапы или процедуры реиндексации завершаются ошибками с высокими уровнями серьезности.
Вот пара примеров системных сообщений при обнаружении повреждения БД:
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.
Основная проблема заключается в том, что если проверки целостности базы данных не производятся на постоянной основе, то повреждение может быть обнаружено спустя часы, дни и даже месяцы, после того, как оно образовалось, в тот момент, когда уже сложно будет что-то исправить.
Читать дальше →
Всего голосов 39: ↑36 и ↓3 +33
Просмотры 34K
Комментарии 12

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

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

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

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


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

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

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

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

Читать дальше →
Всего голосов 18: ↑16 и ↓2 +14
Просмотры 2.5K
Комментарии 6

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

Разработка веб-сайтов *PHP *
Из песочницы
Возможности скрипта:
— бэкапить директории и базы данных
— загрузка архивов в локальную папку или на фтп
— информирование по email о удачном/не удачном завершении
Читать дальше →
Всего голосов 25: ↑15 и ↓10 +5
Просмотры 7.3K
Комментарии 60

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

Блог компании InterSystems

О технологии


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

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

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

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

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

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

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

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

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

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

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



Читать дальше →
Всего голосов 13: ↑9 и ↓4 +5
Просмотры 16K
Комментарии 3

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

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

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

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

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

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



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

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

Блог компании «NetAngels» Настройка Linux **nix *Облачные вычисления *Администрирование баз данных *

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





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

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

Читать дальше →
Всего голосов 13: ↑10 и ↓3 +7
Просмотры 6.1K
Комментарии 11

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

Системное администрирование *DevOps *

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

Читать дальше →
Всего голосов 41: ↑32 и ↓9 +23
Просмотры 8.3K
Комментарии 19
1