![]() ![]() The problem is that a) it’s a very manual intensive process, b) it’s error prone and c) not guaranteed to be consistent across reboots. They are essentially different names for the very same thing and can have different permissions (so /dev/sdq can have root:root and myvol can have oracle:asm as ownership and still being the same device). So for example /dev/sdq and /dev/oracleasm/disks/myvol both point to a Linux device with major ID 8 and minor id 80. One way of doing this is using the “mknod” command to create references (inodes) to the disks under /dev. So we need to present ASM volumes under a path that matches the ASM diskstring and has different userid/group and permissions. Also, if ASM scans /dev/ it will have to scan a lot of devices because /dev/ is home to not just all disks, but also all other block (and character) devices. So Oracle cannot handle this as it typically does not run under root id. Linux, by default, places detected disk volumes under /dev/ with root:disk as user/group (for example, /dev/sdq) and not read/writeable for anyone else than root user/group. They may be used to create new ASM volumes and/or disk groups. If they have no valid signatures then the volumes become “candidate” disks, i.e. ![]() If they contain valid ASM signatures it will try to access them and compose ASM disk groups from them. If the disk string is set to /dev/whatever then ASM will scan /dev/whatever/* for block devices that are read/writable. It does not need partition tables at all but writes its own disk signatures to the volumes it gets.ĪSM detects volumes (typically after boot) by scanning a path called the ASM DISKSTRING. ASM does not care what the name or device numbers are of a block device, neither does it care whether it is a full disk, a partition, or some other type of device as long as it behaves as a block device under Linux (and probably other UNIX flavors). ![]() It “eats” block devices and these block devices need to be read/write for the user/group that runs the ASM instance, as well as the user/group that runs Oracle database processes (a public secret is that ASM is out-of-band and databases write directly to ASM data chunks). ASM storage configurationĪSM does not use OS file systems or volume managers but has its own way of managing volumes and files. I don’t have hard numbers but a long time ago I was told it could be an overhead of up to 20%. Wrong alignment causes some reads and writes to be broken in 2 pieces causing extra IOPS. As MSDOS partitioning is limited to 2 TiB () it will probably be a thing of the past in a few years but for now we have to deal with it. If you use newer partition methods (GPT) then the issue is gone (but many BIOSes, boot methods and other tools cannot handle GPT). If you’re not using an Intel X86_64 based operating system then chances are you have no alignment issues at all (the only exception I know is Solaris if you use “fdisk”, similar problem). These days we have completely different physical disk geometries (and sometimes even different sector sizes, another interesting topic) but we still have the legacy of the old days. Because you need some header information for boot block and partition table, the smart guys back then thought it was a good idea to start the first block of the first data partition on track 1 (instead of track 0). The old partitioning scheme was invented when physical spinning rust was formatted with 63 sectors of 512 bytes per disk track each. The only thing you need to remember is that classic “MS-DOS” disk partitioning, by default, starts the first partition on the disk at the wrong offset (wrong in terms of optimal performance). I’ve written 2 blogposts on the matter of alignment so I am not going to repeat myself on the details. Should we use ASMlib or are there alternatives? If so, which ones and how to manage those?.What methods are available to set alignment correctly and to verify?.When do we have issues with disk alignment and why?.The questions could be summarized as follows: Because of the many discussions and confusion around the topic of partitioning, disk alignment and it’s brother issue, ASM disk management, hereby an explanation on how to use UDEV, and as an extra, I present a tool that manages some of this stuff for you. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |