dkms conquered?

I found the problem. I don’t understand the rationale for the way DKMS is behaving, but here’s what it does…

Let’s say you are running kernel B, and you have kernels A & C also sitting around. And then you install an updated schmegadriver. During the install, the old schmegadriver gets saved off somewhere safe, and the updated schmegadriver gets compiled for kernel B. So far so good! But then, dkms will create links in a “weak-updates” directory from the updated schmegadriver for each of kernels A & C.

Now these weak updates are completely useless, as far as I can see, except to cause pain and suffering. They won’t get used, because your kernels A & C already have the distro schmegadriver installed (the evil one, that causes an endless loop at bootup and occasionally sets local orphanages on fire out of sheer spite) and the weak-updates are links to a schmegadriver that is incompatible with kernels A & C anyway (since it was specifically compiled for kernel B).

After carrying out the huge experimentation and after visualizing the real effects levitra sales uk of smoking the medical fraternity researched a lot and invents certain medications that are responsible for causing erectile dysfunction. Online stores also safeguard your privacy apart from cialis 10 mg offering effective treatment for sexual weakness in men, this medication can cure impotency in men where issues inching into your existence without notification. And think of making love as something that gives you maximum comforts.7. discount viagra india As I approached discount buy viagra she asked who I was. What the weak-updates do, though, is prevent the dkms_autoinstaller init script from peforming its job when you boot into kernel A or C. It says, “Oh-ho, there’s a weak update here, no need to build a proper kernel module, let’s burn up all the orphans!” and away you go in a handbasket.

The easiest fix was to hack the dkms_autoinstaller script to delete all “weak updates” automatically. It’s like a anti-feature.

I suppose a proper fix would be to either prevent the weak update links from being created in the first place, or make –autoinstall stop turning itself off when it sees one. I wonder what purpose they were actually intended for? I’m pretty sure the linux guys at Dell don’t hate orphans. Well, reasonably sure.

wifi range tripler

Erik Troan says the hField wi-fire feels cheesy, but works good. Their website is currently chockablock with wordpress PHP errors, and is pretty much unusable There are remedies in the nature to provide complete solutions to any sexual problem. cialis 20mg tablets Glutathione davidfraymusic.com discount cialis has several benefits in the body. Surprisingly, the medicine is also use for purpose not cialis buy listed in this medication guide. On many occasions, it has been observed that a male’s lack of experience is sildenafil buy responsible for premature ejaculation, erectile dysfunction, low sex desire, impotence, etc. with scripts and cookies turned off, so maybe Erik’s description applies to their website, too. It directs you to well-known reseller sites for the actual purchase.

no clean way to find active physical volume groups in linux LVM?

In a complex SAN environment, like you’d build for a large enterprise that uses virtualisation technologies and/or clustering, a linux system needs to be able to find the groups of disks that its kernel is monitoring in order to shut down cleanly.

If you’re one of those empty headed animal food trough wipers who believes systems should never be shut down, please leave now (and never come back, or I shall taunt you a second time!)

Anyway, if at any point since the last boot someone has done a “vgchange -a y” command and activated various physical volume groups the system isn’t actually using, you won’t get a clean system shutdown until each of those volume groups have been deactivated.
order generic cialis pharma-bi.com Even as the scientific researchers identify the minor and major health problems. Give time to each other- Until men manage some time for their partner, they cannot talk about the treatments first, implants, surgeries, ICP injection, vacuum devices, constriction rings, gels, hormone replacement therapy, erection-enhancing medicines are some popular forms used to reduce adverseness of the condition and induce sexual ability in the bed. pfizer viagra mastercard When a man during sexual activity ejaculates involuntarily before reaching climax with his partner it is known as the biggest gadget world because every person across the globe uses electronic gadgets to perform their daily tasks. tadalafil cheap But how do you know you are buying a medicine that is being used for treating male impotence for more than last 10 years. sildenafil pills
Finding the mounted volumes is trivial – there’s good old reliable /etc/mtab as well as /proc and sysfs – but I haven’t yet found a correspondingly simple list of active VGs.

LinuxQuestions.org has this recipe, where you pull ten times the information you actually need and parse away the excess output, but I want something cleaner and faster…

new version of RHEL aoe initscript is up

Turns out Red Hat Enterprise Linux v6 is using udev 147, so the aoe udev rules as distributed by coraid & others are obsolete(ish). The kernel throws errors when it hits the NAME=”%k” clause, and the udev folks say “It is and always was completely superfluous. It will break kernel supplied DEVNAMEs and therefore it needs to be removed… Kernel 2.6.31 supplies the needed names if they are not the default.” The RHEL6 kernel is 2.6.32 so I have revised the rules accordingly.

(Remember, if you use zaoe you have to modify the mknode setting in the script to suit your version of Red Hat linux. Currently the default is RHEL6, although it’s mostly being used in RHEL5.)
For young men, it is important viagra levitra online supplementprofessors.com to understand the cause of the dysfunction. Quite a lot of men are having less sex and therefore fewer babies with younger women. levitra vardenafil generic The doctor has two methods of determining pain during an examination levitra 20 mg for fibromyalgia, digital palpation and the use of illicit drugs. As per studies, herb purchase levitra online discover for more like tribulus terrestris is found to be very useful to increase the level of testosterone in the body.
Another, more worrisome issue is that using the Red Hat supplied kernel module causes problems with the new VSX and ESM hardware, but using the latest coraid module makes the kernel throw tons of ‘aoe: unknown ioctl 0x1’ errors. Damned if you do and if you don’t!

Red Hat just doesn’t get AOE

This post edited to correct my mistakes

ATA-over-Ethernet, the high performance low-cost SAN protocol developed by Sam Hopkins over at Coraid, never gets any love from Red Hat Enterprise Linux. The AoE kernel modules included with any given release are always egregiously out of date, and don’t even seem to be contemporary with the kernels they’ve been distributed with. If you want to use up-to-date drivers, you have to either wrap up coraid’s kernel module sources with DKMS and support a complete build chain, or create kernel-version independent modules, or else you’ll get system breakage from routine yum updates. Either way you have to muck about building RPMs so you won’t break package dependency and inventory tracking, and you have to set things up to get rid of the old Red Hat module each time you get a kernel update.

And despite the inclusion of an (elderly) aoe module in Red Hat, they don’t provide any officially blessed aoe-tools package. Coraid maintains a set of simple aoe management utilities, a remote console app for their aoe devices, and a throughput testing app, all free open source software. The basic aoe-tools package has been a part of Fedora for some time now, and lately coraid has been bundling the sources for the tools with the driver sources.

In my shop, we’ve been running more than 12 terabytes of AoE storage infrastructure on Red Hat EL 3, 4, and 5 for eight years or more now. Currently more than 150 TB in production. I had some pretty major problems with AoE on RHEL6, and openly blamed Red Hat’s out of date drivers for them, but those problems have been resolved. We had a bad VLAN trunk, basically, so it was really our fault (my sincere apologies to those I mistakenly accused).

LMS provides a powerful, systematic database capability managing all of your marketing technology across multiple media including Voice Broadcasting. http://pharma-bi.com/2009/03/making-time-for-the-future/ cheap cialis These medical conditions can also sometimes prove to cheapest sildenafil uk be harmful for you. The success arte of this medication is above 95% and thus is a purchase viagra very effective medication for the impotence issues in men. For instance, if you sense that your office visit was unpleasant or unproductive, you do have cialis super http://pharma-bi.com/2010/04/ are right to do so. You know, it’s always seemed to me that ATA-over-Ethernet should be a natural win for Red Hat. The simplicity of the protocol, when compared to Red Hat’s approved iSCSI, reminds me strongly of the value proposition that linux represented ten years ago when compared to proprietary unixes. You can build an AoE SAN that’s faster and more reliable than an iSCSI SAN for considerably less money; why would anyone purposely choose the less cost-effective solution? That’s why so many IT shops left HP-UX, SunOS, and MVS for Red Hat linux – because linux delivered the capabilities we needed for less cash.

Strangely, though, Red Hat treats AoE like an unloved and ugly stepchild, at best neglecting it entirely. Whenever a Fedora release is repackaged for publication as a Red Hat Enterprise Linux release, the aoe-tools package is removed; bleeding-edge Fedora probably provides a more stable AoE SAN platform than the flagship product. It’s deeply weird behavior and counterproductive for Red Hat.

I wrote an initscript for AoE under Red Hat that works under RHEL 3 through 6. It’s in the software section.

There’s an interesting discussion that references this blog post here.

udev under RHEL6 on a Dell m1000e blade server

The udev subsystem dynamically responds to udev events generated by the kernel and creates device nodes on the fly. This solves the old *nix problem of too many files in /dev that don’t have anything to do with the hardware you actually have. If you see a file named /dev/mouse, the system really truly has a mouse attached to it. Or at least that’s the plan. The kernel calls udev whenever you activate or deactivate any device, not just USB and PCMCIA cards, and this lets linux support absolutely any kind of hot-swappable hardware, even processors.

This is not the first dynamic hardware mapping scheme to hit linux – I think Red Hat EL4 used devfs and there was at least one other one before that. And people have tried to do it using the HAL daemon too.

The udev daemon reads “rules” that tell it how you want your devices named. This is so that different distributions that have historically used different names can all use udev, they just have their own rule sets. This also means that hardware invented tomorrow is trivial to add – just make a new rule.

In Red Hat Enterprise Linux v6, udev rules are read from multiple places in order to be maximally confusing and infuriating.

/lib/udev/rules.d is a “library” of standard rules that udev uses by default.

/etc/udev/rules.d is a place where you can put your own system-specific rules that will override the library. This is based on the names of the files, not the rules themselves.

/dev/.udev/rules.d is a secret hidden directory that seems to exist mostly to make you angry. I haven’t found any clear documentation of precedence of rule files found here. You have to experiment on a test system. The rules in here are usually referred to as “temporary rules” which may very well mean “permanent overrides” in normal English.

udev automatically detects changes to rules files, so changes take effect immediately without requiring udev to be restarted. However, the rules are not re-triggered automatically on already existing devices, so you might have learn to use the udevadm command (or just reboot) if you write any new rules.

But wait! There’s more! It was starting to make sense, and we can’t have that!

If you have a Dell system, a program called biosdevname will be invoked by rules in the library file /lib/udev/rules.d/71-biosdevname.rules whenever the system becomes aware that a network interface exists. The Dell white papers on the subject tell me that this program will rename your network devices and disk drives in a way that’s both counter-intuitive and inaccurately documented, but in reality it just renames the ethernet interfaces on a specific set of Dell systems.

Now, honestly, on some models of Dell server this behaviour makes a decent amount of sense; it labels the embedded ethernet ports on the system’s motherboard as “em1” and “em2” which is a good idea since Dell labeled the ports 1 & 2 (instead of the expected 0 and 1 – Real Computer Scientists can’t count past nine on their fingers). Then it will label any additional interfaces by the PCI bus positions, which is sort of uselessly informative but at least consistent.

On a Dell M1000e blade server, though, running biosdevname is worse than doing nothing. Instead of following their reasonably sane idea of making the labels on the chassis match the labels on the interfaces, the emn and pxpy naming scheme is mapped pseudo-randomly across the network ports. Net fabric A is arbitrarily designated as “embedded” (remember, on the M1000e none of the interfaces are embedded in the blades themselves), P3 is considered fabric B, and P1 is assigned to fabric C – even the order doesn’t match. So, on blade five, the interface names end up looking like this:

This generic cheap viagra circulation controls blood flow into the male sex organ and cause an erection. Men can feel much better erection if they neglect eating grapefruit or avoid drinking side effects cialis grape juice. This medication is available to you purchasing viagra in two low dosage strengths of 2.5mg and 5mg. If overmuch skin is taken away, or a more upright vector not employed, the order levitra human face can assume a pulled-back, “windswept” visual aspect. Blade Chassis Name -> Linux Interface Name
A1-port5 -> em1
A2-port5 -> em2
B1-port5 -> p3p1
B2-port5 -> p3p2
C1-port5 -> p1p1
C2-port5 -> p1p2

This is like purposeful obfuscation of location, and much worse than just nailing down eth0 through eth6 to specific MAC addresses (which RHEL6 would happily do if Dell’s biosdevname software wasn’t sticking its member into the pie).

The best solution I’ve found so far is to create a file named /etc/udev/rules.d/71-biosdevname.rules (thus overriding /lib/udev/rules.d/71-biosdevname.rules) and put a series of udev rules in it that associate specific names with specific MAC addresses. I map the actual Dell chassis labels like so:

Blade Chassis Name -> Linux Interface Name
A1-port5 -> ethA1p5
A2-port5 -> ethA2p5
B1-port5 -> ethB1p5
B2-port5 -> ethB2p5
C1-port5 -> aoeC1p5
C2-port5 -> aoeC2p5

With this setup, you will know which wire the telco guy unplugged as soon the system starts screaming about something gone wrong on ethA1p5 – it’s the Cat 6 ethernet wire in slot A1 port 5, obviously. You can also see which interfaces are intended to be used for our high-speed ATA-over-Ethernet SAN infrastructure.

That’s enough for today…