Merhaba Arkadaşlar,
Bir diskin Oracle ASM tarafından kullanılabilmesi için, fdisk ile disk üzerinde partition oluşturup, diskin ASM diski olarak işaretlenmesi gerekmektedir. Örnek bir senaryo üzerinden birlikte inceleyelim.
/dev dizini altında üç adet sdb, sdc ve sdd disklerimiz olsun. Fdisk komutu ile disklerimiz üzerinde partition oluşturmamız gerekiyor. Sdb diskimiz için fdisk komutunu aşağıdaki gibi “root” kullanıcısı ile çalıştıralım. Fdisk bize birtakım sorular soracaktır. Koyu yazdığım yerler bizim vermemiz gereken cevaplardır. n– yeni bir partition oluşturacağımızı, p – primary partition oluşturacağımızı, 1– partition numarasını, w– partition tablosuna değişiklikleri yazar.
1- Fdisk komutu ile disklerimizde partition oluşturalım.
# fdisk /dev/sdb
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1305, default 1): [ENTER]
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1305, default 1305): [ENTER]
Using default value 1305Command (m for help): w
The partition table has been altered!Calling ioctl() to re-read partition table.
Syncing disks.
Bu işlemleri sdc ve sdd disklerimiz içinde aynı şekilde uygulayalım.
# fdisk /dev/sdc
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1305, default 1): [ ENTER]
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1305, default 1305): [ENTER]
Using default value 1305Command (m for help): w
The partition table has been altered!Calling ioctl() to re-read partition table.
Syncing disks.
# fdisk /dev/sdd
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1305, default 1): [ENTER]
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1305, default 1305): [ENTER]
Using default value 1305Command (m for help): w
The partition table has been altered!Calling ioctl() to re-read partition table.
Syncing disks.
Partition larımızı kontrol edelim.
# ls -ltrh /dev/sd*
2- “oracle” işletim sistemi kullanıcımızın yukarıda oluşturduğumuz partition lar üzerinde ki disk grubuna dosya yazabilmesi için disklerimizin erişim izini ve sahibini (owner) “oracle” kullanıcısı yapmamız gerekiyor.
# chown oracle:oinstall /dev/sdb1
# chown oracle:oinstall /dev/sdc1
# chown oracle:oinstall /dev/sdd1
# chmod 600 /dev/sdb1
# chmod 600 /dev/sdc1
# chmod 600 /dev/sdd1
Bu satırları aşağıdaki gibi /etc/rc.local dosyasına ekleyerek kaydedelim. Böylelikle sunucumuz restart olduğunda da uygulanacaktır.
# vi /etc/rc.local
chown oracle:oinstall /dev/sdb1
chown oracle:oinstall /dev/sdc1
chown oracle:oinstall /dev/sdd1
chmod 600 /dev/sdb1
chmod 600 /dev/sdc1
chmod 600 /dev/sdd1
3- Disklerimizi ASM diski olarak işaretlemek için ASM kütüphaneleri vardır. Bu kütüphaneler Linux kernel sürümüne göre dağıtılmaktadır. Kernel sürümümüzü aşağıdaki gibi öğrenebiliriz.
# uname -r
Aynı zaman işletim sistemimizi de kontrol etmemiz gerekir.
# cat /etc/issue
ASM kütüphane rpm paketlerini http://www.oracle.com/technology/software/tech/linux/asmlib/index.html adresinden yukarıdaki gibi öğrendiğimiz kernel sürümüne göre indirebiliriz.
İndirdiğimiz 3 rpm paketi (oracleasm-2.6.18-164.el5-2.0.5-1.el5.i686.rpm , oracleasmlib-2.0.4-1.el5.i386.rpm ve oracleasm-support-2.1.4-1.el5.i386.rpm) aşağıdaki gibi yükleyebiliriz.
# rpm -ivh oracleasm*
4- Şimdi “oracleasm” servisini yapılandıralım. Veritabanı kurulumumuzu işletim sisteminde ki “oracle” kullanıcısı ile yapacağımız için ASM kütüphane sürücüsünde (library driver) bu kullanıcıya ve bu kullanıcının birincil “oinstall” grubuna aşağıdaki gibi sahiplik (owner) verelim. Bu esnada bize birtakım sorular soracaktır. Koyu yazdığım şekilde cevap verelim.
# service oracleasm configure
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 []: oinstall
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver: [ OK ]
Scanning the system for Oracle ASMLib disks: [ OK ]
5- Artık disklerimizi ASM diski olarak etiketleyebiliriz.
[root@DBTALIP dev]# service oracleasm createdisk DATA1 /dev/sdb1
Marking disk “DATA1” as an ASM disk: [ OK ]
[root@DBTALIP dev]# service oracleasm createdisk DATA2 /dev/sdc1
Marking disk “DATA2” as an ASM disk: [ OK ]
[root@DBTALIP dev]# service oracleasm createdisk FRA /dev/sdd1
Marking disk “FRA” as an ASM disk: [ OK ]
ASM disklerimizi aşağıdaki gibi listeleyebiliriz;
# service oracleasm listdisks
DATA1
DATA2
FRA
Talip Hakan Öztürk
[root@dbarmagan rpmasm]# rpm -Uvh oracleasm-2.6.18-128.el5debug-2.0.5-1.el5.i686.rpm
warning: oracleasm-2.6.18-128.el5debug-2.0.5-1.el5.i686.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
error: Failed dependencies:
kernel-debug = 2.6.18-128.el5 is needed by oracleasm-2.6.18-128.el5debug-2.0.5-1.el5.i686
selamlar hocam elinize sağlık.ben oracle linux için rpm paketlerini yüklerken bu hatayı alıyorum nedir bunun nedeni?
birde bunu otomatik yükleme servisi yok mu ?
Merhaba,
Yüklemek istediğin rpm paketin bağımlılıkları olduğu için yükleyemiyorsun. “https://taliphakanozturk.wordpress.com/2012/03/17/yum-ile-bagimliligi-fazla-rpm-paketin-yuklenmesi/” yazımdan faydalanarak yükleyebilirsin. Bu rpm paketi ne için yüklemek istiyorsun? ASMLib için oracleasm-2.6.18-164.el5-2.0.5-1.el5.i686.rpm , oracleasmlib-2.0.4-1.el5.i386.rpm ve oracleasm-support-2.1.4-1.el5.i386.rpm isimli rpm paketleri yüklemen yeterlidir.
[root@dbarmagan rpmasm]# rpm -qa | grep kernel
kernel-headers-2.6.18-128.el5
kernel-PAE-2.6.18-128.el5
kernel-PAE-devel-2.6.18-128.el5
Acaba asmlib den kernel versiyonunu yanlış mı seçiyorum?
kernel sürümünü uname -a komutu ile öğrenebilirsiniz
teşekkürler. bu arada kitabınızı bitirdim 2. sini sabırsızlıkla bekliyorum ne zaman çıkar.
Çok yakında inş. 🙂