пятница, 19 июня 2015 г.

Поиск удаленных файлов, в которые ведется запись

Столкнулся с ситуацией, когда место на винте кончается, а что именно заняло диск - не понятно:

[root@host ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sdb1             275G  254G   21G  93% /
tmpfs                 3.9G     0  3.9G   0% /dev/shm
/dev/sda1             1.8T   39G  1.8T   3% /home
/dev/sdc1             110G  3.2G  107G   3% /var/lib/mysql

[root@host ~]# du -shx /*
7.6M /bin
71M /boot
180K /dev
32M /etc
39G /home
332M /lib
23M /lib64
16K /lost+found
4.0K /media
4.0K /mnt
63M /opt
0 /proc
71M /root
13M /sbin
4.0K /selinux
4.0K /srv
0 /sys
12K /tmp
2.1G /usr
1.4G /var
Предположил, что какой то процесс открыл файл на запись, удалил его не закрыв и продолжает туда писать. Открытые удаленные файлы можно посмотреть через:

[root@host ~]# find /proc/*/fd -ls | grep  '(deleted)'
1639634485    0 l-wx------   1 apache   apache         64 Jun 17 20:57 /proc/12922/fd/2 -> /var/log/nginx/error.log-20150513\ (deleted)
1639634501    0 l-wx------   1 apache   apache         64 Jun 17 20:57 /proc/12922/fd/18 -> /var/log/nginx/error.log-20150513\ (deleted)
1639634510    0 l-wx------   1 apache   apache         64 Jun 17 20:57 /proc/12922/fd/27 -> /var/log/nginx/site.ru_nginx_access.log-20150514\ (deleted)
1639634511    0 l-wx------   1 apache   apache         64 Jun 17 20:57 /proc/12922/fd/28 -> /var/log/nginx/site.ru_nginx_error.log-20150513\ (deleted)
1639634512    0 l-wx------   1 apache   apache         64 Jun 17 20:57 /proc/12922/fd/29 -> /var/log/nginx/site.com_nginx_error.log-20150513\ (deleted)
1639638494    0 l-wx------   1 apache   apache         64 Jun 17 20:57 /proc/12923/fd/2 -> /var/log/nginx/error.log-20150513\ (deleted)
1639638510    0 l-wx------   1 apache   apache         64 Jun 17 20:57 /proc/12923/fd/18 -> /var/log/nginx/error.log-20150513\ (deleted)
find: `/proc/12923/fd/511': No such file or directory
find: `/proc/12923/fd/667': No such file or directory
1639642375    0 l-wx------   1 apache   apache         64 Jun 17 20:57 /proc/12924/fd/2 -> /var/log/nginx/error.log-20150513\ (deleted)
1639642390    0 l-wx------   1 apache   apache         64 Jun 17 20:57 /proc/12924/fd/18 -> /var/log/nginx/error.log-20150513\ (deleted)
1639642399    0 l-wx------   1 apache   apache         64 Jun 17 20:57 /proc/12924/fd/27 -> /var/log/nginx/site.ru_nginx_access.log-20150514\ (deleted)
1639642400    0 l-wx------   1 apache   apache         64 Jun 17 20:57 /proc/12924/fd/28 -> /var/log/nginx/site.ru_nginx_error.log-20150513\ (deleted)
1639642401    0 l-wx------   1 apache   apache         64 Jun 17 20:57 /proc/12924/fd/29 -> /var/log/nginx/site.com_nginx_error.log-20150513\ (deleted)
1639646126    0 l-wx------   1 apache   apache         64 Jun 17 20:57 /proc/12925/fd/2 -> /var/log/nginx/error.log-20150513\ (deleted)
1639646142    0 l-wx------   1 apache   apache         64 Jun 17 20:57 /proc/12925/fd/18 -> /var/log/nginx/error.log-20150513\ (deleted)
1746513574    0 lrwx------   1 root     root           64 Jun 19 07:01 /proc/16454/fd/72 -> /var/run/dovecot/login-master-notify995d7209624407dc\ (deleted)
1746513581    0 lrwx------   1 root     root           64 Jun 19 07:01 /proc/16454/fd/79 -> /var/run/dovecot/login-master-notifycd1113eecfa6b6fd\ (deleted)
1639653458    0 l-wx------   1 root     root           64 Jun 17 20:57 /proc/33016/fd/3 -> /var/log/puppet/puppet.log-20150118\ (deleted)
[root@host ~]#
Нарушителем спокойствия оказался nginx. Перезапустил его, и место вернулось:

[root@host ~]# service nginx restart
Stopping nginx:                                            [  OK  ]
Starting nginx:                                            [  OK  ]
[root@host ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sdb1             275G  4.5G  270G   2% /
tmpfs                 3.9G     0  3.9G   0% /dev/shm
/dev/sda1             1.8T   39G  1.8T   3% /home
/dev/sdc1             110G  3.2G  107G   3% /var/lib/mysql
[root@host ~]#

вторник, 18 марта 2014 г.

Изменение размеров диска kvm-виртуалки "на лету"

Обычно, после изменения размера диска виртуальной машины в KVM ее приходилось выключать и включать, для того что бы гостевая ОС увидела новый размер диска. Начиная с libvirt 0.9.6 этого можно избежать, выполнив после ресайза команду
virsh blockresize test /dev/vg/kvm_test --size 45G
Где test - имя виртуалки, /dev/vg/kvm_test - путь на образ диска.
Это работает с достаточно свежими virtio драйверами гостевой ОС. Например CentOS 5.x не поддерживает эту операцию, в CentOS 6.x все хорошо.

ispmanager: ошибка "Конвертация в 'UTF-8' не поддерживается на стороне сервера"

Лечится добавлением "FSEncoding UTF-8" в ispmgr.conf

четверг, 27 июня 2013 г.

Включение функционала RemoteApp в Windows 7

Добавляем в реестр:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList]
"fDisabledAllowList"=dword:00000001
Добавляем в стандартный rdp файл:

remoteapplicationmode:i:1
remoteapplicationprogram:s:"c:\windows\calc.exe"
disableremoteappcapscheck:i:1
alternate shell:s:rdpinit.exe

И наслаждаемся. Подсмотрено у belnetmon

четверг, 18 апреля 2013 г.

Указание servicename для PPPoE в CentOS

В документации центоса нигде не указано как указать SERVICENAME при поднятии PPPoE. Потратив несколько часов на изучение инитскриптов удалось выяснить, что это указывается в файле /etc/sysconfig/network-scripts/ifcfg-ppp0: SERVICENAME=some-service-name

вторник, 20 ноября 2012 г.

KVM, Windows Server 2008 и ограничения на количество сокетов


Microsoft Windows Server 2008 R2 Standard Edition имеет ограничение на количество процессоров - не более 4-х, но при этом в количестве ядер не ограничено. По дефолту KVM каждое выделенное ядро представляет отдельным CPU, из-за чего из 12 выделенных ядер Windows использовала только 4. Лечится настройкой топологии, через virt-manager (если не лень мышкой тыкать), или через редактирование XML-ки (что на мой взгляд быстрее). Во втором случае нужно просто добавить описание топологии, пример ниже:
  <vcpu>12</vcpu>
  <cpu>
    <topology sockets='2' cores='6' threads='1'/>
  </cpu>
По наводке с блога http://blog.geekhere.ru

вторник, 16 октября 2012 г.

Отличный сайт для создания SPF записей.

Отличный сайт для создания SPF записей. И от майкрософта бывает польза )

четверг, 5 апреля 2012 г.

Hetzner: установка centos на 3Tb диски

В rescue mode:

for f in /dev/sd?;do yes|parted $f mklabel gpt;done

после этого можно запускать установку в режиме vnc и ставится. К сожалению скрипт installimage для центоса gpt не поддерживает.

вторник, 20 марта 2012 г.

Радость эникейщика

ninite.com Удобный и приятный сервис для людей. Выбираете нужные программы (браузеры, программы для общения, мультимедиа, системные библиотеки, для просмотра графики, офисные и еще много других), нажимаете кнопку внизу и, вуаля, все программы стоят на своих местах и имеют последнюю актуальную версию, сэкономлено около 30 минут времени (рабочего или своего), ресурс мышки увеличился на 20-50 кликов, а ваши волосы по прежнему пышные и шелковистые.

понедельник, 12 марта 2012 г.

catalyst 2950 / dhcp

При настройке thinstation на клиентах, подключенных через свич catalyst 2950 выяснилось, что dhcp запросы от клиентов проходят только со второго раза, в результате они не могут нормально загрузится. Вылечилось прописыванием spanning-tree portfast default в конфиге свича.

вторник, 17 января 2012 г.

Доступ к windows серверу по алиасу

Для того, что бы на расшареные папки windows сервера можно было обратиться по его алиасу (cname'у), необходимо создать следующие записи в реестре:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]
"DisableStrictNameChecking"=DWORD:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"DisableLoopbackCheck"=DWORD:00000001


и перезапустить службу server.

Подробнее: http://support.microsoft.com/kb/281308 http://support.microsoft.com/kb/926642

понедельник, 16 января 2012 г.

Отключение скринсейвера в консоли

Отключение скринсейвера в линуксовой консоли, может быть полезно на виртуалках:
sh -c 'setterm -blank 0 -powersave off -powerdown 0 < /dev/console > /dev/console 2>&1'
Добавить в /etc/rc.d/rc.local

четверг, 5 января 2012 г.

mysqltuner

Открыл для себя скрипт mysqltuner.pl, анализирующий настройки mysql сервера и дающий рекомендации по его оптимизации.

среда, 16 ноября 2011 г.

Кеширование дисков в виртуальных машинах под KVM

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

При выключенном кешировании - скорость чтения и скорость записи на виртуалке составляют примерно 90-95% от скорости хостового диска. Для того что бы выключить кеш, необходимо в xml описания виртуалки в разделе описания диска добавить cache='none':

   <disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source dev='/dev/vg/kvm_test'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</disk>
Закавычивать 'none' обязательно, иначе параметр игнорируется.

PS CentOS 6.0 x64 со всеми апдейтами.

среда, 2 ноября 2011 г.

Проблема с таймзоной в lighting / thunderbird

В актуальной версии Lighting непофикшена отмена перехода на зимнее время. В результате записи в календаре уезжают на час. Lighting не пользуется системной информацией о таймзоне, а ведет свою таблицу в файле timezones.sqlite. В семерке этот файл находится в %APPDATA%\Thunderbird\Profiles\ид_профиля_thunderbird\extensions\{e2fda1a4-762b-4020-b5ad-a41df1933103}\timezones.sqlite. Это обычная sqlite'овая база. Лечится выполнением следующего запроса:
update tz_data set component='BEGIN:VTIMEZONE
TZID:Europe/Moscow
X-LIC-LOCATION:Europe/Moscow
BEGIN:STANDARD
TZOFFSETFROM:+0400
TZOFFSETTO:+0400
TZNAME:MSK
DTSTART:19701025T030000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
END:STANDARD
END:VTIMEZONE' where tzid='Europe/Moscow';
Багрепорт разработчикам отправлен.

вторник, 1 ноября 2011 г.

Медленная запись на RAID в CentOS 6

Проблема: Свежепоставленный CentOS 6 на софтовый рейд 10 существенно тормозит на запись. CentOS 5 на том же железе на запись выдает порядка 200 мб/сек, CentOS 6 - около 60. Как оказалось, дело в kickstart'е, который при создании рейда при установке указал использование bitmap'ов (). Теоретически, эта опция уменьшает время пересборки рейда. Но, как выяснилось, приводит к резкой просадке скорости записи. Проверить, включено ли использование битмапов можно так:
[alw@server ~]$ sudo mdadm --examine /dev/sda2|grep Bitmap
Internal Bitmap : 8 sectors from superblock
Обратите внимание, параметром для mdadm указываем не рейд, а один из разделов, на которых рейд собран. Смотрим скорость записи:
[alw@server ~]$ sudo dd if=/dev/zero of=/dev/vg/tmp bs=16M
dd: writing `/dev/vg/tmp': No space left on device
641+0 records in
640+0 records out
10737418240 bytes (11 GB) copied, 182.062 s, 59.0 MB/s
Выключаем битмапы:
[alw@server ~]$ sudo mdadm --grow --bitmap=none /dev/md1
Проверяем что выключено:
[alw@server ~]$ sudo mdadm --examine /dev/sda2|grep Bitmap
[alw@server ~]$
Смотрим скорость записи:
[alw@server ~]$ sudo dd if=/dev/zero of=/dev/vg/tmp bs=16M
dd: writing `/dev/vg/tmp': No space left on device
641+0 records in
640+0 records out
10737418240 bytes (11 GB) copied, 58.0257 s, 185 MB/s

Что и требовалось доказать.

четверг, 5 мая 2011 г.

Лимит на pam_filter

При использовании pam-ldap-авторизация на доступ к хосту существует лимит на длину параметра pam_filter в файле /etc/ldap.conf порядка 512 байт. Все что свыше молча отбрасывается и приводит к сообщению "pam_ldap: ldap_search_s Bad search filter"

среда, 4 мая 2011 г.

YUM: Running Transaction Test

Если yum повисает на стадии "Running Transaction Test", то следует проверить, нет ли подвисших подмонтированных сетевых томов, например NFS. В моем случае причиной зависания YUM оказался GlusterFS, подмонтированный и повисший.

четверг, 28 апреля 2011 г.

Проблема с mtu

Проблема с MTU (основной симптом - неоткрываются многие сайты по https) решается
iptables --append FORWARD --protocol tcp --tcp-flags SYN,RST SYN --jump TCPMSS --clamp-mss-to-pmtu

В случае, если клиенты подключаются через pptp, и в /etc/ppp/ip-up.local для них прописывается разрешение форвардинга, то это правило надо дописывать там же. Важно, что бы оно было до разрешения форвардинга клиенту.
MTU на ppp интерфейсе со стороны сервера должно быть 1474. (http://forum.ixbt.com/topic.cgi?id=14:49725)

Поиск по этому блогу

Постоянные читатели