I/O hung forever trying to access VDEV device

Setting up snapshots with Hitachi VSP we saw that many kpart processes were waiting for I/O  trying to access VDEV devices. That’s because of the queue_if_no_path feature in multipath.

The thing is, that’s a good feature, if you have really small gaps of times without access to the storage (cluster transition, someone messing with fiber cables, etc) you want the I/O to be queued and resume once conection comes back to live.

On the other side, VDEVs appear failed if the snapshots are not active, so most of the time you don’t want to queue the probes from udev (hundreds of proceses in less than a day in our case). To solve this you can enable the “fail_if_no_path” feature per LUN, here’s an example:

multipath {
wwid 350760e9016040b000001040a00002001
alias snapdata02LU
no_path_retry fail
}

And don’t forget to restart multipath daemon…

If needed, you can release pending I/O processes (and return I/O error) with the following command:

dmsetup message snapdata02LU 0 "fail_if_no_path"

That’s all…

Quickguide: Installing Sun JRE on SLES11

For Internet archiving purposes: After installing Sun JRE (rpm -Uvh jre-7u5-linux-x64.rpm), the properly way to use it is setting up the alternatives links:

update-alternatives –install java java /usr/java/jre1.7.0_05/bin/java 60 \
–slave jre jre /usr/java/jre1.7.0_05 \
–slave rmiregistry rmiregistry /usr/java/jre1.7.0_05/bin/rmiregistry \
–slave tnameserv tnameserv /usr/java/jre1.7.0_05/bin/tnameserv \
–slave rmid rmid /usr/java/jre1.7.0_05/bin/rmid \
–slave ControlPanel ControlPanel /usr/java/jre1.7.0_05/bin/ControlPanel \
–slave policytool policytool /usr/java/jre1.7.0_05/bin/policytool \
–slave keytool keytool /usr/java/jre1.7.0_05/bin/keytool \
–slave javaws javaws /usr/java/jre1.7.0_05/bin/javaws

If you have more than one JRE, you can choose the new one with:

update-alternatives –config java

Quick Tonido installation on openSUSE

Ok, last week I updated my laptop to openSUSE 11.4, that, unluckily, broke my MoneyManagerEx installation as I needed a package for this new distro and the one from Packman is currently broken because of some repo changes.

Because I have a pile of expenses pending to be added to my accounting, I was urged to find a working MMEx installation, so I went to it’s homepage to look for latest version and fix my OBS package that has been broken for months because of my lazyness ¬¬’

Then, that’s were I saw it, there’s a web version of MMEx!!!, and that’s great as it would allow me to use it from my new Android phone without the need to access to my laptop, “maybe it’ll be fully functional on its browser” I thought….. Reading a little more, I found out that it was part of some cloud platform called Tonido. That sounded like a lot of hassle just for running the application, but when I found out that Tonido has a dedicated Android application, I was sold!.
Continue reading “Quick Tonido installation on openSUSE”

InstantClient RPMs

Well, a few years back I came across the Oracle InstantClient SPEC file prepared by Remi Collet, it was great to find it because the original RPMs made by Oracle don’t help to build other packages depending on them.

I created a set of packages for a project using the original file from Remi. Some days later I enhanced them to make the use of the package by end users really smooth (ORACLE_HOME environment variable, PATHs, etc). Also added other tweaks like a script to help building Perl-DBD-Oracle (not made by me) and was really happy with the results. Here’s where everything went downhill. There was a policy of only allowing software with source code on the openSUSE Build Service and the guys in charge just deleted the package from my repo project and I lost all the work done.

I had the recreation of the package on my ToDo list, but never had time to do it… A few days before, facing a new project involving Oracle, I went to Remi’s blog to look for the original SPEC file and luckily a month or so earlier he modified it to support the latest version of the client (to this date, 10.2.0.2).

I made some changes to it (them, as they were split in two) and I’m sharing the result here. As a final touch I’ll be addind tnsping to the packages, which is only included on the “thick” Oracle installation and maybe I’ll merge the “precomp*” sub-package to “devel”.

Files:

oracle-instantclient.spec
oracle-instantclient-11.2.0.2.0-37.1.nosrc.rpm

My changes to Remi’s SPEC files:


* Sun Jan 2 2011 Ciro Iriarte 11.2.0.2.0
- Added ORACLE_HOME definition
- Added tnsnames.ora example and required directory structure

* Sat Jan 1 2011 Ciro Iriarte 11.2.0.2.0
- merge i386/x86_64 SPECs again
- fixed RPM Groups
- added Jean-Christophe Duberga's config script to help building Perl-DBD-Oracle
(this wasn't documented on my first change in 2007, and was lost in OBS)
- skip RPATH and BYTECODE verifications in OBS builds
- renamed oracle-instantclient-basic to oracle-instantclient
- added unzip to BuildRequires
- general cleanup to make openSUSE 11.3 sanity checks happy
o ToDo: Verify rpmlint filters
- add precomp and precomp-devel sub-packages

Ref:

Request allowing OIC in Build Service

Compiling cnet in a hurry

Well, we have an assignment for college, the idea is to simulate a network and the tool chosen is cnet. Ideally I would build a package for it in the OpenSUSE Build Service, but the process is kind of slow and we’re in a hurry. Here’s the process to install it in your home. Building the package is on my TODO list….

Continue reading “Compiling cnet in a hurry”

Cambio de hora en Paraguay 2010

El Gobierno Paraguayo resolvió modificar la fecha de entrada en vigencia del horario de invierno en toda la república. Con el anterior decreto vigente desde el 2004 se tenia que la hora debía retrasarse en 60 minutos el segundo domingo de Marzo (14/Mar este año) y volver a adelantarse en 60 minutos el tercer domingo de Octubre (17/Oct este año).

Con el nuevo decreto esto cambia a retrasar la hora en 60 minutos el segundo domingo de Abril (11/Abr este año) y volver a adelantarla en 60 minutos el primer domingo de Octubre (3/Oct este año).

Referencias:

http://www.abc.com.py/abc/nota/78024-En-abril-se-atrasa-la-hora/

http://www.presidencia.gov.py/v1/wp-content/uploads/2010/02/decreto3958.pdf

Bueno, esto que implica para los que trabajamos con sistemas unix?. En un equipo unix se mantiene la hora interna del sistema en UTC, y se ajusta la hora local según los usos horarios (o zona horaria). Para esto se utiliza la base de datos Olson, que registra las diferentes zonas horarias y las reglas para el cambio a horarios de verano (daylight saving transition o DST) según corresponda.

Continue reading “Cambio de hora en Paraguay 2010”

Faster Japanese rendering in Firefox

Need decent rendering time for japanese text in Firefox?, here’s the solution..

Years before I found that rendering japanese content in Firefox was REALLY slow, but just resigned to live with it and some time later forgot about the whole thing as I stopped accessing japanese content….

Today I found some interesting content again after reading some posts at kirainet.com, and suddenly was annoyed once more with this rendering slowness. After researching a little, I found this post which solves the issue. I’m not pretty sure about why this fonts help to render the pages faster than the stock fonts, should they be included in the distro?

Here’s the procedure to install them in openSUSE (tested with 11.0@x86_64):

Find a suitable repository using http://software.opensuse.org/search

Add the repository to your system (you don’t HAVE TO, but this way you can get updates later):

zypper addrepo http://download.opensuse.org/repositories/home:/swyear/openSUSE_11.0 “Japanese Fonts”

Install the packages:

zypper install ttf-wqy-zenhei wqy-bitmapfont

It will ask if it should trust and later import the key, just answer “YES” to both questions. You’ll have to restart Firefox to use this new fonts..

Pages to test rendering:

http://ja.wikipedia.org/wiki/%E6%97%A5%E6%9C%AC

http://news.google.com/news?ned=cn

http://news.google.com/news?ned=jp

http://kayanomori.net/memo/index.php?iFolder%20Simple%20Server