Pages

17 Aralık 2010 Cuma

Oracle 11g üzerinde ASM disk gruplarının yönetimi

ASM disk gruplarını kullanılması veritabanı sistem performansında pek çok yoldan avantajlar sağlar;
·         I/O performansı yükselir.
·         Veritabanı uygunluğu artar.
·         Diskgruplarına ek disk ilave ederek yada yeni disk grupları ile birden fazla veritabanı için kolayca ilave boş disk alanları yaratabilirsiniz.
Bu bölümde, disk grupları ile ilişkili değişik tipte yönetim görevleri gösterilecek, failure gruplara disk eklemelerin nasıl yapılacağı, disk gruplarının nasıl aynalanacağu(mirrored) ve disk gruplarının nasıl ekleneceği, düşürüleceği ve düzenlenebileceği konuları işlenecektir.Bu bölüm komut satırından bu işlemlerin nasıl yapılacağını irdelemektedir.

ASM Disk Grup Mimarisi
Disk grupları, birden fazla diskin tek birim olarak yönetildiği yapılardır. Her ASM diski, veritabanı yöneticisi tarafından veya veritabanı sistemi tarafından otomatik olarak isimlendirilmesi ile oluşturulur.
Diskler içindeki dosyalar birbiri ile 2 türde paylaştırılır.Coerse striping, dosyaların tüm disklerde 1MB birimler halinde serpiştirilmesidir ve genellikle OLTP işlemleri yoğun kullanılacak veritabanları için uygundur. Fine striping mimarisinde ise 128 KB lik birimler halinde serpiştirme yapılır ve genellikle raporlama, OLAP işlemlerinin yoğun kullanıldığı veritabanları için uygundur.

Disk Group Mirroring ve Failure Groups
Bir failure group, disk grubu içinde disk controller gibi ortak bir kaynağı kullanan birden fazla diskten meydana gelir. Herhangi bir felaket anında bu failure grupiçindeki tüm diskler disk grubu için erişilemez olabilir. Aslında bu noktada failure gruplar, sunucu donanımı tabanında oluşturulan RAID-1 diskler olabilir. İşletim sistemi seviyesinde bu RAID-1 ile yapılandırılan 2 fiziksel disk tek bir disk gibi görünür ve algılanır.
Failure gruplar içinde diskler tanımlandıktan sonra oluşturulacak olan ASM disk grubu için mirroring özelliği belirtilebilir. 3 tür mirroring vardır.
·         External Redundancy: Eğer failure grup içindeki diskler herhangi bir RAID controller ile yapılandırılmışsa (örneğin RAID-1) bu seçenek uygundur. Tek bir disk lokasyonu belirtilebilir.
·         Normal Redundancy: Çift taraflı mirroring desteği sunar ve en az 2 failure gruptan oluşan disklerden oluşturulabilir. Failure gruplar içerisindeki disklerden birinin çökmesi disk grubu için işlevselliğin durmasına sebep olmaz ve very kaybı olmaz.
·         High Redundancy: Üç yönlü mirroring özelliği sunar ve bir disk grubu içinde en az 3 failure grup gereksinimi duyulur. 2 failure grup çökse dahi, veritabanında very kaybı olmaz ve çalışmaya devam eder.

Disk Grubu Dinamik Yeniden Balanslama(Rebalancing)
Bir failure grup çıkardığınızda yada bir failure gruptan disk çıkardığınızda veya eklediğinizde disk grubunun yapısında değişiklik meydana gelir. Bu durumda, Oracle eski disklerden yeni disklere orantılı olarak yeniden dağıtmak üzere otomatik olarak yeniden balanslama yapar. Bu yeniden balanslama esnasında veritabanının online olması ve kullanıcıların veritabanına bağlı olmasının I/O performansına etkisini azaltmak için ASM_POWER_LIMIT adlı başlangıç parameter değerinin düşük değerde olması gerekir.
Aşağıdaki sorgu bize disk grupları, bunların ait olduğu failure grupları ve disklerin oluşturulma tarihleri ile isimlerini veren sorgudur.

SQL > select group_number, disk_number, name, failgroup, create_date, path           from v$asm_disk; 

ASM disk gruplarında ne kadar boş alan kaldığını öğrenmek için ise;
SQL > select group_number, name, type, total_mb, free_mb           from v$asm_diskgroup;

Örneğin;  sisteme  2 yeni disk ilave ettikten sonra yeni bir ASM diskgrup oluşturmak için ise;
SQL> create diskgroup data2 normal redundancy          failgroup fg1 disk ‘/dev/sde1’ name d2a          failgroup fg2 disk ‘/dev/sdf1’ name d2b;

Bir ASM disk grubunu içindeki veritabanı objeleri ile beraber düşürmek için ise;
SQL> drop diskgroup data2 including contents;

Disk Group Hızlı Mirror Senkronizayonu
Eğer bozuk disklerden birisi onarılıp yerine takılırsa veya yeni bir disk ile değiştirilirse, verilerin bu diske yeniden “mirror”lanması biraz zaman alabilir. Hızlı mirror yeniden senkronizasyonu Oracle 11g ile gelen bir özelliktir. Bu özelliği etkin kılmak için, geçici bir hata oluştuğunda(planlı yada plansız) ASM ‘nin diski otomatik olarak disk grubu düşürmemesi için bir zaman atanır.

DATA disk grubuna bir zaman atamak için disk grubunun hem RDBMS instance için, hemde ASM instance için uyumluluk seviyesinin 11.1 veya daha üstü seviyeye eşitlenmiş olması gerekmektedir.
SQL> alter diskgroup data set attribute          ‘compatible.asm’ = ’11.1.0.0.0’;
SQL> alter diskgroup data set attribute          ‘compatible.rdbms’ = ’11.1.0.0.0’;
Varsayılan disk onarma süresi 3,6 saattir. Bu süreyi  örneğimizdeki gibi 2.1 saate düşürmek için;
SQL> alter diskgroup data set attribute ‘disk_repair_time’ = ‘2.1 h’;

Disk gruplarını düzenleme
Mevcut disk gruplarında boş alana ihtiyaç duyulduğunda veya mevcut disklerden birisinin yenisi ile değiştirilmesi durumunda kullandığımız disk grubuna aşağıdaki örnekteki gibi ilave failure gruplar ekleyebiliriz. Bu şekilde herhangi bir şekilde ASM disk gruplarını yeniden oluşturmaya gerek kalmaz.
SQL> alter diskgroup data add failgroup deneme1 disk ‘/dev/sdg1’ name d1c;

Bu disk grubunun otomatik yeniden balanslama işlemi 16 dakika kadar surer.Bu süreyi yarı yarıya azaltmak gibi durumlarda manuel olarak yeniden balanslama işlemi yapabiliriz. Aşağıdaki örnekte 8 dakika olmaktadır.
SQL> alter diskgroup data rebalance power 8;

ALTER DISKGROUP komutları    
alter diskgroup … drop disk -> Tanımlanan disk grubundan failure gruplarına ait diskleri çıkarır.     
alter diskgroup … drop … add -> Failure gruptan disk çıkarır ve yerine yenisi eklemek için kullanılır.
alter diskgroup … mount ->Disk grubunu tüm instance lar için erişilir yapar.
alter diskgroup … nomount ->Disk grubunu tüm instance lar için erişilmez yapar.
alter diskgroup … checkall ->Disk grubunun dahili bütünlüğünü check eder.

0 yorum:

Yorum Gönder