>> Jeremy wrote: > ...I was saying that I'd wager Oracle will include asmlib in their particular > distribution of the linux kernel. That's an interesting idea. It would remove the version mismatch problem with ASMLib. In fact, if we push this idea a little further, I wouldn't be too suprised if Oracle forced us to use their own kernel in the next database version... Time will tell. It will be interesting to see how the OEL vs Solaris story unfolds as well. > I was involved in the engineering effort at a very large org and we decided > to use udev. > (In fact, I was one of the main proponents of this approach.) It has in fact > fallen by the wayside since I left, > because noone else can figure out how to write those cryptic udev rules. > One of the major problems was that for every new device that came along, we > had to figure out new udev rules to detect this device. > (New HBA vendor, new multipath driver, new SSD card, etc.) As long as I was > around to reverse engineer what kinds of kernel > rules we needed to write, it was fine. But noone else could really figure it > out. I guess that brings us back to the documentation issue. If your site uses udev, then one needs to document how to configure it and how to add a new LUN. On the other end, if your site uses ASMLib, then one has to write proper procedures to upgrade the kernel with ASMLib at the same time. I personally think there's less risk in writing proper documentation that explains how to add a new LUN then to risk having no ASM disks after a kernel upgrade, but that's just me. > Personally, I love the flexibility and control of udev. But I really do > think it's a bear to learn - you pretty much have to understand > basic linux kernel internals to get it... there are some people out there > who can do that, but not everyone can. > I think that (for better or worse) pretty much anyone can use Asmlib. Quite true. So we see that udev is easy to keep up to date (since it's part of the OS) and it's flexible. But it's more complex to setup and it's harder to add a LUN to ASM. While ASMLib is easier to install and use. But since it's not part of the OS, it's more error prone when you need to update the kernel. And both of them must be properly documented. Then I guess one has to check which one comes more often: a kernel update or a new ASM LUN? If your site's storage needs grow very fast, then you're going to be adding a LUN more often then you're going to upgade the kernel. That means ASMLib would be better suited then udev. On the contrary, if you don't add a new LUN more often then you update the kernel, then maybe udev would be a better fit. One has to check the cluster size too. On small clusters (i.e. two to four nodes), it's easy to go around all nodes and update both ASMLib and the kernel. But on large clusters, I'd think that udev is easier to maintain, since all you have to do once the rule is configured is to send a copy of the rules to all cluster nodes. Using cfengine [1] or Puppet [2] makes that task very easy. I'd be curious to know what do the administrators of large clusters use? udev or ASMLib? Do they use cfengine or Puppet or an equivalent? [1] http://www.cfengine.org/ [2] http://www.puppetlabs.com/puppet/introduction/ Some of us don't use neither ASMLib nor udev. Indeed, that's what both Yury Velikanov and Rui Amaral wrote (see below). It's an interesting approach. >> Yury wrote: > +1 IMHO: both udev or ASM Lib just useless. Why we should introduse > any additional layers when we can avoid those. > Keep it simple. Use devices directly (ASM will read headers for you, > just set the discovery string right) + rc.local will fix privileges > esely. >> Rui wrote: > Personally, I would suggest staying away from udev. > > My reason for saying this - udev has issues with multipath devices. I spent a > couple of weeks some > 18 months ago trying to get this implemented and failed. Digging through > various linux forums dug up > a bug with udev and mpio (maybe that's why the rawdevices was still available > in rhel5 but that's just a guess). > > In terms of asmlib - I too would stay away from it. I used it in many places > until I had my problem > (which I mentioned in a previous thread). My asm outage was using asmlib. I > had asm on raw and none > of those had problems (all large installations) beyond silly stuff like > packet collisions on shared i/o ports > on the san and such. I have had issues with asmlib in other places all > relating to asm header corruption. > None on any of my raw devices based asm installs. > > Just my 2 cents But I wonder, how do you manage block device persistent naming then? In other words, how can you make sure that a LUN is always mapped to the same ASM disk? Unless you configure persistent naming, both the FC and iSCSI stacks change LUN mapping between reboots. LUN 1 can be mapped to /dev/sdd after one reboot and be mapped to /dev/sdg after another. I should probably RTFM here, but I'll ask anyway :) If you set the ASM discovery string to /dev/sd, then ASM will read the LUN header and know in which ASM diskgroup to place each LUN? Will it know not to use disks which have no ASM headers (such as the OS disks for example)? Many thanks, David -- http://ca.linkedin.com/in/davidrobillard -- //www.freelists.org/webpage/oracle-l