Bu makalemizde “Linux İşletim Sistemlerinde ASM Kurulumu için ASM Library ve UDEV Yapılandırması” konusunu inceleyeceğiz. Yazımızda özellikle Oracle ASM (Grid) kurulumu için kullanacağımız diskleri iki yöntemle yapılandırmayı inceleyeceğiz. Bu yapılandırma işlemleri sonrası disklerimizi ASM kurulumuna hazır hale getirmiş olacağız. “UDEV” yapılandırmamız “Oracle ASM Library” kullanmadan elle yapılandırma işlemi içindir.
A-) ASM Library ile Disklerin Yapılandırması
1. Sunucumuzda yapılandırma işlemlerine başlamadan önce kullanacağımız ASM Library yazılımının güncelliğini kontrol ediyoruz.
-- Aşağıdaki işlemleri disklerimizi kullanacak tüm üye sunucularımızda uyguluyoruz. -- Güncelleme işlemini yapılandırılmış bir sunucuda yapabiliriz. Aşağıdaki komut ile güncelleme işlemi yapılabilir ve sistemimiz zarar görmeden yeni versiyona geçebiliriz. # oracleasm update-driver Kernel: 2.6.39-400.24.1.el6uek.x86_64 x86_64 Driver name: oracleasm-2.6.39-400.24.1.el6uek.x86_64 Driver for kernel 2.6.39-400.24.1.el6uek.x86_64
2. Sunucularımızda yapılandırma işlemine başlıyoruz. Bu adımda disklerimiz için kullanıcı ve grupları belirleyecek kullanacağı diskleri yapılandıracağız.
-- Aşağıdaki işlemleri disklerimizi kullanacak tüm üye sunucularımızda uyguluyoruz. # oracleasm configure -I Configuring the Oracle ASM library driver. This will configure the on-boot properties of the Oracle ASM library driver. The following questions will determine whether the driver is loaded on boot and what permissions it will have. The current values will be shown in brackets ('[]'). Hitting <ENTER> without typing an answer will keep that current value. Ctrl-C will abort. Default user to own the driver interface []: oracle Default group to own the driver interface []: dba Start Oracle ASM library driver on boot (y/n) [n]: y Scan for Oracle ASM disks on boot (y/n) [y]: y The next two configuration options take substrings to match device names. The substring "sd" (without the quotes), for example, matches "sda", "sdb", etc. You may enter more than one substring pattern, separated by spaces. The special string "none" (again, without the quotes) will clear the value. Device order to scan for ASM disks []: Devices to exclude from scanning []: Use device logical block size for ASM (y/n) [n]: y Writing Oracle ASM library driver configuration: done 1. soruda "oracle" yazıp enter tuşuna basıyoruz. 2. soruda "dba" yazıp enter tuşuna basıyoruz. 3. soruda "y" yazıp enter tuşuna basıyoruz. 4. soruda "y" yazıp enter tuşuna basıyoruz. 5. ve 6. sorularda hiçbirşey yazmadan enter tuşuna basıyoruz.
3. Sunucumuzda Oracle ASM Kernel modülünü aktif edip “/dev/oracleasm” altında Oracle Mount Point’in oluşmasını sağlıyoruz.
-- Aşağıdaki işlemleri disklerimizi kullanacak tüm üye sunucularımızda uyguluyoruz. # oracleasm init Creating /dev/oracleasm mount point: /dev/oracleasm Loading module "oracleasm": oracleasm Configuring "oracleasm" to use device logical block size Mounting ASMlib driver filesystem: /dev/oracleasm
4. Sunucularımızda ASM için kullınılacak disklerimizi “fdisk” ile oluşturup ASM için damgalıyoruz.
-- ASM İçin kullanılacak disklerimizi belirlemek üzere sorguluyoruz. [root@koraykey-db1 ~]# ls -l /dev/sd* brw-rw---- 1 root disk 8, 0 May 23 18:30 /dev/sda brw-rw---- 1 root disk 8, 1 May 23 18:30 /dev/sda1 brw-rw---- 1 root disk 8, 2 May 23 18:30 /dev/sda2 brw-rw---- 1 root disk 8, 16 May 23 18:30 /dev/sdb brw-rw---- 1 root disk 8, 32 May 23 18:30 /dev/sdc [root@koraykey-db2 ~]# ls -l /dev/sd* brw-rw---- 1 root disk 8, 0 May 23 18:30 /dev/sda brw-rw---- 1 root disk 8, 1 May 23 18:30 /dev/sda1 brw-rw---- 1 root disk 8, 2 May 23 18:30 /dev/sda2 brw-rw---- 1 root disk 8, 16 May 23 18:30 /dev/sdb brw-rw---- 1 root disk 8, 32 May 23 18:30 /dev/sdc -- Disklerimizi açıklayacak olursak sda --> İşletim sistemi diskimiz sdb --> ASM için kullanılacak +DATA diskimiz sdc --> ASM için kullanılacak +FRA diskimiz -- Her üyede disk sıralamamız aynı durumda eğer farklı olsaydı bunları eşitlememiz gerekecekti bunun aşağıdaki yazımızı inceleyebilirsiniz. "Linux İşletim Sistemlerinde Disk Header ve ASM Disk Header Yapılandırması" -- Aşağıdaki işlemleri sadece tek bir üye üzerinden yapılmalıdır. -- Disklerimizde "fdisk" ile partition oluşturuyoruz. # fdisk /dev/sdb WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-652, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652): Using default value 652 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. # fdisk /dev/sdc WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-652, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652): Using default value 652 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. 1. Soruda "n" yazıp "enter" tuşuna basıyoruz. 2. Soruda "p" yazıp "enter" tuşuna basıyoruz. 3. Soruda "enter" tuşuna basıyoruz. 4. Soruda "enter" tuşuna basıyoruz. 5. Soruda "w" yazıp "enter" tuşuna basıyoruz. -- Disklerimizi Oluşturup damgalıyoruz. # oracleasm createdisk data1 /dev/sdb1 Writing disk header: done Instantiating disk: done # oracleasm createdisk fra1 /dev/sdc1 Writing disk header: done Instantiating disk: done
5. Oluşturduğumuz disklerimizi diğer üye sunucularımızın görmesi için aşağıdaki işlemleri yapıyoruz.
# oracleasm scandisks Reloading disk partitions: done Cleaning any stale ASM disks... Scanning system for ASM disks... Instantiating disk "DATA1" Instantiating disk "FRA1"
6. Sunucularımızda oluşturduğumuz disklerimizi listelemek için aşağıdaki işlemleri yapıyoruz.
# ll /dev/oracleasm/disks/ total 0 brw-rw---- 1 oracle dba 8, 17 May 23 20:53 DATA1 brw-rw---- 1 oracle dba 8, 33 May 23 20:53 FRA1 veya # oracleasm listdisks DATA1 FRA1
7. Sunucularımızda ASM Library komutlarını görmek için aşağıdaki işlemleri yapıyoruz.
# oracleasm Usage: oracleasm [--exec-path=<exec_path>] <command> [ <args> ] oracleasm --exec-path oracleasm -h oracleasm -V The basic oracleasm commands are: configure Configure the Oracle Linux ASMLib driver init Load and initialize the ASMLib driver exit Stop the ASMLib driver scandisks Scan the system for Oracle ASMLib disks status Display the status of the Oracle ASMLib driver listdisks List known Oracle ASMLib disks querydisk Determine if a disk belongs to Oracle ASMlib createdisk Allocate a device for Oracle ASMLib use deletedisk Return a device to the operating system renamedisk Change the label of an Oracle ASMlib disk update-driver Download the latest ASMLib driver
Oracle ASM Library ile “Grid Infrastructure” kurulumu için disklerimiz hazır. Bu işlemlerden sonra “Grid Infrastructure” kurulumuna geçebiliriz. Oracle ASM Library paketini edinmek için “Oracle ASMLib” sitesinden kullandığımız işletim sistemine uygun olanı indirerek kullanabiliriz. “Oracle Enterprise Linux 6.x” işletim sistemlerinde bu paket otomatik kurulu şekilde gelmektedir. Diğer Linux sürümleri için indirerek kurmamız gerekebilir. Listede olmayan “CentOS” Linux işletim sistemi için “Red Hat Enterprise Linux” için derlenmiş paketi kullanabiliriz. Bu paket “CentOS” için sertifikalandırılmış değildir ancak çalışmasında herhangi bir sorun yoktur.
B-) UDEV ile Disklerin Yapılandırması
1. Sunucumuzda “UDEV” yapılandırması için kullanacağımız disklerimizi belirliyoruz.
-- UDEV ASM İçin kullanılacak disklerimizi belirlemek üzere sorguluyoruz. [root@koraykey-db1 ~]# ls -l /dev/sd* brw-rw---- 1 root disk 8, 0 May 23 18:30 /dev/sda brw-rw---- 1 root disk 8, 1 May 23 18:30 /dev/sda1 brw-rw---- 1 root disk 8, 2 May 23 18:30 /dev/sda2 brw-rw---- 1 root disk 8, 16 May 23 18:30 /dev/sdb brw-rw---- 1 root disk 8, 32 May 23 18:30 /dev/sdc [root@koraykey-db2 ~]# ls -l /dev/sd* brw-rw---- 1 root disk 8, 0 May 23 18:30 /dev/sda brw-rw---- 1 root disk 8, 1 May 23 18:30 /dev/sda1 brw-rw---- 1 root disk 8, 2 May 23 18:30 /dev/sda2 brw-rw---- 1 root disk 8, 16 May 23 18:30 /dev/sdb brw-rw---- 1 root disk 8, 32 May 23 18:30 /dev/sdc -- Disklerimizi açıklayacak olursak sda --> İşletim sistemi diskimiz sdb --> ASM için kullanılacak +DATA diskimiz sdc --> ASM için kullanılacak +FRA diskimiz -- Her üyede disk sıralamamız aynı durumda eğer farklı olsaydı bunları eşitlememiz gerekecekti bunun aşağıdaki yazımızı inceleyebilirsiniz. "Linux İşletim Sistemlerinde Disk Header ve ASM Disk Header Yapılandırması"
2. Sunucularımızda disklerimizi yapılandırmadan önce “fdisk” komutu ile “partition” oluşturuyoruz.
-- Aşağıdaki işlemleri sadece tek bir üye üzerinden yapılmalıdır. -- Disklerimizde "fdisk" ile partition oluşturuyoruz. # fdisk /dev/sdb WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-652, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652): Using default value 652 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. # fdisk /dev/sdc WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-652, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652): Using default value 652 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. 1. Soruda "n" yazıp "enter" tuşuna basıyoruz. 2. Soruda "p" yazıp "enter" tuşuna basıyoruz. 3. Soruda "enter" tuşuna basıyoruz. 4. Soruda "enter" tuşuna basıyoruz. 5. Soruda "w" yazıp "enter" tuşuna basıyoruz.
2. Sunucumuzda “UDEV” için kullanacağımız disklerimizin tekil “SCSI_ID”lerini tespit etmek için aşağıdaki işlemleri yapıyoruz.
# scsi_id -g -u -d /dev/sdb 36000c29deec2418291b2747bed78d61f # scsi_id -g -u -d /dev/sdc 36000c29049157572fed349c895fd4532
2. Sunucumuzda “UDEV” için kullanacağımız diskler için “UDEV Rules” oluşturuyoruz ve gerekli parametreleri aşağıdaki gibi yapıyoruz.
-- Kural dosyamızı yaratıyoruz ve aşağıdaki parametreleri giriyoruz.
-- Aşağıdaki dosyayı disklerimizi kullanacak tüm üye sunucularımızda oluşturuyoruz.
# vim /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sdb1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="36000c29deec2418291b2747bed78d61f", NAME="data1", OWNER="oracle", GROUP="dba", MODE="0660"
KERNEL=="sdc1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="36000c29049157572fed349c895fd4532", NAME="fra1", OWNER="oracle", GROUP="dba", MODE="0660"
3. Sunucumuzda disklerimizin “partition table”larını “partprobe” komutu ile oluşturuyoruz.
-- Aşağıdaki işlemleri sadece tek bir üye üzerinden yapılmalıdır. # partprobe /dev/sdb1 # partprobe /dev/sdc1
4. Sunucularımızda oluşturuduğumuz kuralları test etmek için aşağıdaki işlemleri uyguluyoruz.
-- Aşağıdaki testi disklerimizi kullanacak tüm üye sunucularımızda uyguluyoruz -- Test işlemi öncesi bir hata ile karşılaşmamak için sunucularımızı yeniden başlatıyoruz. # shutdown -r now -- Test işlemimizi gerçekleştiriyoruz. # udevadm test /sys/block/sdb/sdb1 # udevadm test /sys/block/sdc/sdc1
5. Disklerimizin izinlerinin ve sahibinin “oracle” kullanıcısı olduğunu kontrol etmek için aşağıdaki işlemleri yapıyoruz.
# ls -l /dev/data1 brw-rw---- 1 oracle dba 8, 17 May 23 22:03 /dev/data1 # ls -l /dev/fra1 brw-rw---- 1 oracle dba 8, 33 May 23 22:03 /dev/fra1 -- Gördüğümüz gibi "oracle" "dba" hakları UDEV kuralları sayesinde atanmış durumda.
6. Sunucularımızda yapılandırmamızın ardından “UDEV” uygulamamızı çalışır hale getiriyoruz.
-- İşlemlerimizin ardından "UDEV" servisimizi başlatıyoruz. -- Aşağıdaki komutu tüm üye sunucularımızda çalıştırıyoruz. # start_udev Starting udev: [ OK ]
UDEV ile “Grid Infrastructure” kurulumu için disklerimiz hazır. Bu işlemlerden sonra “Grid Infrastructure” kurulumuna geçebiliriz. Burada dikkat edeceğimiz “scsi_id” komutumuzun parametreleri Linux versiyonlarına göre farklılık gösterebilir. Ayrıca disklerimizin block dosyaları “/sys/block” yerine “/dev/block/” altında olabilir. Bu durumlar Linux versiyonlarına göre farklılık gösterebilir. Yazımızında yapılandırmamız için “Oracle Enterprise Linux 6.x” versiyonu kullanılmıştır.
Bu yazımızda “Linux İşletim Sistemlerinde ASM Kurulumu için ASM Library ve UDEV Yapılandırması” ayrı ayrı inceledik. Kurulum tercihimize göre disklerimizi yapılandırırken yukarıdaki seçeneklerden istediğimizi kullanabiliriz. Kolaylık ve pratik olarak “Oracle ASM Library” “UDEV” yapılandırmasına göre bir çok işlemi kendisi gerçekleştirdiği ve yönetimi daha kolay olduğu için daha çok tercih edilmektedir.
Başka bir makalede görüşmek üzere…
Yorum yazabilmek için oturum açmalısınız.