Свободное место и ext4

На сервере имеется 2ТБ раздел. В один из дней БД mysql, размещённая на данном разделе, перестала функционировать с сообщением о нехватке места. Открыв mc увидел, что свободно ещё ~100 ГБ, но команда df -h сообщала о полном использовании места. Оказалось что файловая система ext4 по умолчанию резервирует 5% места для внутренних нужд, т.е. ~100ГБ из 2ТБ. Уменьшать процентное соотношение резервируемого пространства файловой системой ext4 можно и нужно на больших разделах, для этого используется команда (уменьшение до 1%):
tune2fs -m 1 /dev/vda1
tune2fs 1.42.5 (29-Jul-2012)
Setting reserved blocks percentage to 1% (5505021 blocks)

Дополнительные ссылки:
https://odzangba.wordpress.com/2010/02/20/how-to-free-reserved-space-on-ext4-partitions/
https://wiki.archlinux.org/index.php/ext4#Reserved_blocks

Ошибка времени исполнения с кодом исключения 0x80041002

При использовании KMS можно получить ошибку «Ошибка времени исполнения с кодом исключения 0x80041002».
Для её исправления необходимо отключить и остановить службы:
«Инструментарий управления Windows»
«Центр обеспечения безопасности»

Для этого лучше пользоваться оснасткой: Администрирование — Сервисы

Перенести в любое другое место содержимое папки %windir%\System32\Wbem\Repository, после чего включить и запустить остановленные службы.
Проверить работоспособность KMS.

Служба «Лицензирование удаленных рабочих столов» завершена из-за внутренней ошибки %%-1073672191.

Возникновение ошибки «Служба «Лицензирование удаленных рабочих столов» завершена из-за внутренней ошибки %%-1073672191.» означает, что у службы «Лицензирование удаленных рабочих столов» (которая запускается от имени «Network Service») нет прав на доступ к директории:

"c:\ProgramData\Microsoft\Crypto\RSA\MachineKeys"

.

Необходимо добавить права на чтение (если не поможет, то и на изменение, создание) для группы «Network Service». Можно проделать это через интерфейс, либо через командную строку:

icacls "c:\ProgramData\Microsoft\Crypto\RSA\MachineKeys" /grant "Network Service":(RX) /T

Если не получается задать необходимые права для вложенных файлов даже пользователю с привилегиями администратора, необходимо сменить владельца:

takeown /F "c:\ProgramData\Microsoft\Crypto\RSA\MachineKeys" /R /A

Перезапустить сервис «Лицензирование удаленных рабочих столов».

Ссылки по теме:
https://msdn.microsoft.com/en-us/library/bb909654(v=vs.90).aspx
https://support.microsoft.com/en-us/kb/278381

kernel: do_IRQ: X.Y No irq handler for vector (irq -1)

Одно из объяснений данной ошибки:

The Intel 5520 and 5500 chipsets do not properly handle remapping of MSI and MSI-X interrupts. If the interrupt remapping feature is enabled on the system with such a chipset, various problems and service disruption could occur (for example, a NIC could stop receiving frames), and the «kernel: do_IRQ: 7.71 No irq handler for vector (irq -1)» error message appears in the system logs. As a workaround to this problem, it has been recommended to disable the interrupt remapping feature in the BIOS on such systems, and many vendors have updated their BIOS to disable interrupt remapping by default. However, the problem is still being reported by users without proper BIOS level with this feature properly turned off. Therefore, this update modifies the kernel to check if the interrupt remapping feature is enabled on these systems and to provide users with a warning message advising them to turn off the feature and update the BIOS.

TROUBLESHOOTING: Some systems have trouble supporting MSI and/or MSI-X
interrupts. If you believe your system needs to disable this style of
interrupt, the driver can be built and installed with the command:
# make CFLAGS_EXTRA=-DDISABLE_PCI_MSI install

Но в моём случае появление данного сообщения было связано с битой ОЗУ.

Запуск nginx службой в Windows

Запуск nginx службой в Windows будет осуществляться с помощью программы Windows Service Wrapper.
Скачать её можно тут: http://download.java.net/maven/2/com/sun/winsw/winsw/.
Необходимо скачать .exe файл нужной версии (отлично подошла версия 1.7) и переместить в корень директории, где расположен nginx (например D:\Programs\nginx-1.7.2\), переименовав данный файл в ngsrvc.exe. В той же директории необходимо создать xml файл с именем ngsrvc.xml.

Содержимое файла ngsrvc.xml

<service>
<id>Nginx</id>
<name>Nginx</name>
<description>Nginx Web Server</description>
<executable>D:\Programs\nginx-1.7.2\nginx.exe</executable>
<logpath>D:\Programs\nginx-1.7.2\service_logs\</logpath>
<logmode>roll</logmode>
<depend></depend>
<startargument>-p D:\Programs\nginx-1.7.2\ -c conf\nginx.conf</startargument>
<stopargument>-p D:\Programs\nginx-1.7.2\ -c conf\nginx.conf -s stop</stopargument>
</service>

Где:

  • D:\Programs\nginx-1.7.2\nginx.exe путь до исполняемого файла nginx
  • D:\Programs\nginx-1.7.2\service_logs\ путь, по которому Windows Service Wrapper будет хранить свои лог файлы (если директории нет, нужно её создать).
  • В <startargument> передаются параметры обязательно необходимые для корректного запуска nginx как сервис, дело в том что nginx при формировании путей использует косую черту (как в Linux — /), соответственно при использовании nginx в Windows необходимо использовать обратную косую черту (обратный слеш — \). Именно по-этому при запуске и остановке сервиса указывается рабочая директория параметром -p и относительный путь к конфигурационному файлу -c.

Без корректного указания параметров -c и -p появлялась ошибка в логах Windows Service Wrapper примерного содержания:

2014/07/04 13:05:39 [emerg] 3236#1168: CreateFile() "D:\Programs\nginx-1.7.2\nginx/conf/nginx.conf" failed (3: Системе не удается найти указанный путь)

Для того, чтобы зарегистрировать сервис, необходимо запустить: ngsrvc.exe install , после чего указанный сервис появится в оснастке Администрирование -> Службы , откуда станет возможно ей управлять.
Не забудте создать папку service_logs, как указано в xml файле.
Дополнительные команды:

  • Запустить — ngsrvc.exe start
  • Остановить — ngsrvc.exe stop
  • Рестартовать — ngsrvc.exe restart
  • Деинсталляция службы — ngsrvc.exe uninstall

Архив с программой и конфигурационным файлом: ngsrvc

«Рабочий» ejabberd не запускается — Error reading Mnesia database spool files

После перезагрузки сервера (ОС Ubuntu Server 12.04 LTS) перестал запускаться до этого уже настроенный и отлично работающий ejabberd.
Читать далее

Появление {{#ifeq: }} в отображении количества страниц категории

После обновления mwdiawiki с 1.19 до 1.21, при отображении страницы типа «Категория», увидел некорректное отображение количества страниц, относящихся к данной категории:

{{#ifeq:22|1|Эта категория содержит только следующую страницу.|Эта категория содержит следующие 22 страницы из 22.}}

Выяснилось, что mediawiki должна использовать расширение ParserFunctions, для обработки требуемых функций. Для того, чтобы включить данное расширение, необходимо удостовериться что оно находится в /extensions/ParserFunctions/, и включить его в LocalSettings.php :
require_once("$IP/extensions/ParserFunctions/ParserFunctions.php");

Отключение встроенного просмоторщика PDF в Mozilla Firefox

В версии Mozilla Firefox 24.0 было замечено, что при нажатии на ссылку, указывающую на PDF файл, браузер не предлагает сохранить/открыть файл, а открывается во встроенном просмоторщике в новой вкладке. Данный функционал не всегда удобен и его можно изменить. Для этого в настройках (инструменты -> настройки) на вкладке «Приложения» изменить действие для Portable Document Format (PDF), например на «Всегда спрашивать», нажать «OK».

ff_pdf_1 ff_pdf_2
Дополнительная информация на support.mozilla.org

Изменение «Адрес WordPress (URL)» и «Адрес сайта (URL)» WordPress

Часто, при переносе WordPress, ссылки имеют неправильный (старый) адрес, ведущий на прошлый сервер.

Для изменения ссылок на новый адрес сервера необходимо изменить строки таблицы wp_options в БД wordpress. Данные строки имеют значение поля option_name — home и siteurl.

Просмотреть содержимое требуемых строк:
SELECT * FROM wp_options WHERE option_name = «home»;
SELECT * FROM wp_options WHERE option_name = «siteurl»;

SQL запрос для изменения данных строк на корректные:
UPDATE wp_options SET option_value = ‘http://newserver/newpage’ WHERE option_name = ‘home’;

UPDATE wp_options SET option_value = ‘http://newserver/newpage’ WHERE option_name = ‘siteurl’;

Сопутствующая информация:
Посмотреть имеющиеся столбцы в таблице mysql — describe [table name];

Проблема при открытии HTTPS сайтов в Chrome через прокси сервер Squid

Всё чаще стали проявляться проблемы у пользователей при открытии HTTPS сайтов в Chrome (версия 29.0.1547.66 m) с использованием прокси сервера Squid (Basic и NTLM аутентификация), при чём даже на одинаковых аппаратных конфигурациях у одних пользователей всё исправно работало, у других нет. В браузерах — Opera, Firefox всё работало без проблем.

Симптомы следующие: при переходе на любой HTTPS сайт, например, на https://dropbox.com https://twitter.com страница не загружалась (но если и загружалась, то с 10-ой попытки обновления, и не полностью). Также при открытии появлялись ошибки ERR_TIMED_OUT и ERR_TUNNEL_CONNECTION_FAILED.

Испробовали всё, что можно: указание в Chrome прокси сервера вручную, указание конкретного типа аутентификации (так как по логам Squid было видно, что Chrome не всегда пытается аутентифицироваться, во всяком случае реже, чем при открытии просто HTTP сайтов), далее убрали все ограничения Squid и аутентификацию в том числе, но это не помогло решить проблему. Также было замечено, что Internet Explorer имеет аналогичные проблемы при доступе на HTTPS сайты.

В итоге решено было посмотреть «диалог» между клиентом и прокси сервером, используя анализатор сетевого протокола Wireshark (http://wireshark.org). Wireshark запускался на стороне клиента. Проходящие пакеты были записаны и отфильтрованы по адресу прокси ip.addr==192.92.92.100. И тут обнаружилось следующее — пакеты, отправляемые клиентом, имели некорректную (нулевую) контрольную сумму (скриншот приведён ниже). После чего было решено в настройках сетевого адаптера отключить всё, что касается «разгрузок протоколов», энергосбережения, контроля трафика и прочих функций, которые берёт на себя сетевая карта вместо ОС. Пакеты стали отправляться с правильной контрольной суммой заголовка и Chrome стал открывать HTTPS узлы мгновенно, без нареканий, с использованием аутентификации на прокси сервере Squid. На остальных проблемных компьютерах данные манипуляции также помогли решить проблему (сетевая карта была такая же). Возможно также помогает обновление драйвера сетевой карты, но данный метод не испробован.

Сетевая карта: Realtek PCIe GBE Family Controller
Драйвер: Realtek 21/03/2011, version 7.43.321.2011

Пакеты с некорректной контрольной суммой заголовка:
wireshark_chrome

Окно с настройками сетевой карты:
settings