Tag: linux
How to unmount NFS share mounted with hard option
29 Aug2007

Few days ago I worked on some customer’s server and there was a problem – their nfs server went down and we were forced to change some settings on their FC4 clients to prevent shares from dieing because of kernel bug. But when we’ve changed settings in /etc/fstab there was one more step before task was completed – we need to remount this share (I mean unmount/mount). But how to perform this operation if there are some processes in D (non-interruptible sleep) waiting for dead share and prevent it from unmounting? They wait because of hard option on the share and lack of intr option and any unmount request would produce a following results:

1
2
3
streaming01:~# umount /storages/2
umount: /storages/2: device is busy
umount: /storages/2: device is busy

So, here is a list of steps you need to do to be able to remount your share.

First of all, you need to send KILL(9) signal to all you processes waiting for share. I’ve used ps axu and filtered all processes in D state. When all processes ‘killed’ (they can’t be killed actually), you’ll need to send the same signal to rpciod processes in your system. After this all your sleeping processes will die and you’ll be able to unmount your share.

That’s it – simple and really useful tip for people using NFS in their systems.


Small Tip: How to fix “There are no public key available for the following key IDs” Error in Debian
28 Nov2006

Few days ago I’ve started migration of some of my non-critical servers to Debian Etch (from Sarge). Just after first apt-get update && apt-get dist-upgrade, when apt has been upgraded, I noticed really strange (as for me) error: when I’ve tried to do “apt-get update” it worked fine, but there was annoying message like following:

1
2
3
4
5
6
7
8
# apt-get update
......
Fetched 5562B in 13s (421B/s)
Reading package lists... Done
W: There are no public key available for the following key IDs:
A70DAF536070D3A1
W: You may want to run apt-get update to correct these problems
#


UPDATE: Thanks to Kurt Fitzner we know, that:

There is already a mechanism to do this automatically:

1
$ apt-key update

This will obtain the necesary keys and import them. No need to go through gpg directly.


After not so long research I figured out, that this problem was caused by change of gpg key used by ftpmaster on Debian official repository servers. Google gave me some information and I found some fix which works fine for me:

1
2
3
4
5
6
# gpg --keyserver wwwkeys.eu.pgp.net --recv-keys XXXXXXXXXXXXXXXX
...
# apt-key add /root/.gnupg/pubring.gpg
...
# apt-get update
...

Where XXXXXXXXXXXXXXXX is your missing key (e.g A70DAF536070D3A1).

That’s it! Happy using Debian GNU/Linux!


[lang_en]Turning On NCQ Queing On ICH7 Chipsets With Linux[/lang_en][lang_ru]Включение поддержки NCQ Queing на чипсетах ICH7 Chipsets под Linux[/lang_ru]
11 Aug2006

[lang_en]

Recently we’ve got critical load on one of our new free web hosting servers that handles millions of hits per day. When I’ve tried to analyze how to get more performance from that servers, I noted that these servers has ICH7 chipsets and Seagate SATA drives with NCQ support… But in closer view I noticed, that NCQ support is not enabled on our servers with ata_piix IDE driver. So, I decided that it would be great to enable NCQ and take a look what will happen with performance (it was obvious, that performance should increase)…

[/lang_en]

[lang_ru]

Недавно на нескольких из наших серверов, обслуживающих миллионы посещений в сутки, мы достигли предела производительности дисковой подсистемы. Когда я начал анализировать методы, которыми можно исправить ситуацию, я обратил внимание, что на эти сервера имеют чипсеты ICH7 и SATA-диски Seagate с поддержкой NCQ… Но при ближайшем рассмотрении я увидел, что поддержка NCQ не включена на этих серверах с IDE-драйвером ata_piix. Итак, я решил было бы отлично включить поддержку NCQ и взглянуть, как это повлияет на производительность (было очевидно, что она должна увеличиться)…

[/lang_ru]

Read the rest of this entry


[lang_en]Troubleshooting UNIX Systems with lsof[/lang_en][lang_ru]Поиск Неисправностей В UNIX-Системах При Помощи lsof[/lang_ru]
30 Mar2006

[lang_en]

One of the main tasks of any administrator is to create stable environment for different sorts of businesses. Big part of this task is troubleshooting. There are many different tools in UNIX for system monitoring, but, at my mind, one of the most useful tools is lsof- one of the least-talked-about tools in a UNIX sysadmin’s toolkit. Lsof lists information about files opened by processes. But that’s really an understatement.

Most people forget that, in UNIX, (almost) everything is a file. The OS makes hardware available to applications by way of files in /dev. Kernel, system, memory, device etc. information in made available inside files in /proc. TCP/UDP sockets are sometimes represented internally as files. Even directories are really just files containing other filenames.

Lsof works by examining kernel data-structures and provides a variety of information related to files, pipes, sockets and more.

[/lang_en]

[lang_ru]

Одной из основных задач любого администратора является создание стабильного окружения для выполнения определенных базнес-процессов. Важным элементом этого процесса является поиск неисправностей или каких-либо проблем в системе. В UNIX существует множество утилит для поиска и устранения проблем в системе, но, на мой взгляд, одна из самых полезных таких утилит – lsof – является одним из инструментов администратора, упоминаемых реже всего. Lsof выводит информацию об открытых файлах и открывших их процессах. но это слишком краткое описание.

Большинство людей не знают или забывают, что в UNIX (практически) все является файлом. ОС делает устройства доступнми для приложений при помощи служебных файлов в каталоге /dev. Информация о ядре, системе, памяти, устройствах и т. д. – все это есть в файлах к каталоге /proc. TCP/UDP сокеты часто представляются в программировании как файлы. Даже каталоги – это просто файлы, содержащие списки других файлов.

Lsof работает анализируя структуры данных ядра ОС и представляет различную информацию, относящуюся к файлам, каналам межпроцессного взаимодействия, сокетам и многому другому.

[/lang_ru]

Read the rest of this entry


[lang_en]Tuning and Optimizing Red Hat Enterprise Linux for Oracle 9i and 10g Databases[/lang_en][lang_ru]Настройка и оптимизация Red Hat Enterprise Linux для баз данных Oracle 9i и 10g[/lang_ru]
1 Mar2006

[lang_en]

Werner Puschitz wrote really great article about RHEL optimization for latest versions of Oracle Database Server. As I think, this is the most complete reference about linux optimizations for Oracle and it must to be in bookmarks of any Linux Administrator because who knows, which job we will get tomorrow and maybe, todays ISP admin will get Enterprise DBA position? 😉

[/lang_en]
[lang_ru]

Werner Puschitz написал отличную статью на тему оптимизации RHEL для использования последних версий Oracle Database Server. Мне кажется, что это одно из самых полных руководств по оптимизации Linux для Oracle, и ссылка на него просто обязана находиться в закладках у любого Linux-администратора, так как кто знает, какую работу мы получим завтра? И вполне может случиться такое, что сегодняшний админ ISP завтра получит место Enterprise DBA в зарубежной компании :-).

[/lang_ru]