Genel

Network File System (NFS)

NFS  (Network  File  System),  1984  yılında  Sun  Microsystems  tarafından  geliştirilmişbir protokoldür. Uzaktaki makine üzerinde bulunan dosya sistem(lerin)i, farklı bir işletim sistemine  bağlayabilmeniz  (mount)  için  geliştirilmiştir.  Ve  bunu  yaparken,  kullanıcının sanki yerel bir dosya sistemi üzerindeymiş gibi çalışmasını sağlar.

TCP / IP’nin evriminin başlarında, kullanıcının ağ üzerinden başka bir makineye erişmesine izin vermek için bazı araçlar oluşturulmuştu. Telnet gibi remote access protocols (uzaktan erişim protolleri), kullanıcının başka bir bilgisayarda oturum açmasına ve buradaki kaynakları kullanmasına izin verdi. File Transfer Protocol  (FTP), birinin uzak bir makineden bir dosyayı kendi dosyasına kopyalamasına ve düzenlemesine izin verdi.

Ancak, bu çözümlerin hiçbiri, bir kullanıcının uzak bir makinedeki bir dosyaya, yerel bir dosyanın kullanıldığına benzer bir şekilde erişmesine izin verme kurallarına uymuyordu. Sun bu ihtiyacı karşılamak için Network File System (Ağ Dosya Sistemi)’i (NFS) yarattı. NFS, yerel ve uzak bir dosya arasındaki ayrımı ortadan kaldırmak amacıyla özel olarak tasarlanmıştır. Bir kullanıcı için, uygun kurulum yapıldıktan sonra, uzak bilgisayardaki bir dosya, kullanıcının yerel bilgisayarındaki bir sabit disk üzerindeymiş gibi kullanılabilir. Sun ayrıca, hem Sun tarafından hem de diğer şirketler tarafından yapılan donanımların birlikte çalışabilmesini sağlamak için NFS’yi özellikle satıcıdan/üreticiden bağımsız olacak şekilde üretti.

NFS, klasik TCP / IP client/server modelini izler. Bir sabit disk veya belirli bir bilgisayarın depolama aygıtındaki dizin, yönetici tarafından paylaşılan bir kaynak olarak ayarlanabilir. Bu kaynağa daha sonra paylaşılan sürücü(shared drive) veya directory denir ve client makinede yerel bir dizin gibi görünmesini sağlayarak bilgisayarlardan erişilebiliriz.

NFS, çalışmasını tanımlayan üç ana bileşen içeren bir mimari kullanır. External Data Representation (XDR) standardı, verilerin client ve server arasındaki değişimlerde nasıl temsil edildiğini tanımlar. Remote Procedure Call (RPC) protokolü, uzak makinelerde procedure çağırma yöntemi olarak kullanılır. Ardından, bir dizi NFS prosedürü ve işlemi çeşitli istekleri yerine getirmek için RPC kullanarak çalışır. Mount protokolü, kaynakları yukarıda belirtildiği gibi bağlamak için kullanılır.

NFS’nin en önemli tasarım hedeflerinden biri performanstı. Açıkçası, uzaktaki bir makineye yerelmiş gibi bir dosya ayarlasanız bile, gerçek okuma ve yazma işlemleri bir ağ üzerinde ilerlemek zorunda. Genellikle bu sadece bir bilgisayar içerisine veri göndermekten daha fazla zaman alır, bu yüzden protokolün kendisinin mümkün olduğunca “yalın ve ortalama” olması gerekiyordu. Bu karar, çoğu dosya aktarım protokolünün yaptığı gibi güvenilir TCP yerine TCP / IP’de aktarım için güvenilir olmayan User Datagram Protocol’nün (UDP) kullanılması gibi bazı ilginç kararlara yol açmıştır. Bu da protokolün bir bütün olarak nasıl çalıştığı üzerinde ilginç sonuçlara sahiptir.

NFS için bir diğer önemli tasarım amacı basitti (elbette performansla ilgili). NFS sunucularının durumsuz olduğu söyleniyor, bu protokolün hangi sunucuların hangi clientler tarafından hangi dosyaların açıldığını takip etmesine gerek kalmayacak şekilde tasarlandığı anlamına geliyor. Bu, isteklerin birbirinden bağımsız olarak yapılmasına izin verir ve bir sunucunun karmaşık kurtarma prosedürlerine ihtiyaç duymadan çökmeler gibi olaylarla incelikle başa çıkmasını sağlar. Protokol ayrıca, isteklerin kaybolması veya çoğaltılması durumunda dosya bozulması yaşanmayacak şekilde tasarlanmıştır.
(continue reading…)

Loading


Bonding nedir? Linux İşletim Sistemlerinde Nic Bonding Yapılandırması

Bugünkü yazımda, Linux İşletim Sisteminde Network yedekliliği (redundant links, fault tolerance) olarak bilinen Linux Bonding konusu hakkında bilgilendirme yapacağım.

Bonding Linux için kullanılan terimdir. Diğer işletim sistemlerinde Teaming (Windows), Network dünyasındaTrunking olarak bilinmektedir.
Linux bonding
Bonding birden fazla Network interface (NIC)’in bir mantıksal gurup olarak tek bir interface olarak kullanablmemize olanak sağlar.

Bonding yedeklilik sağladığı gibi, band genişliğini (load balancing networks) artırmak için de kullanılabilmektedir.
Linux interface bonding
Bu işlemleri Windows altında donanım üreticileri tarafından sağlanan yazılımlarla yapmak mümkün. Bir takım kısıtlarla birlikte sorunsuz denilebilecek seviyede çalışabilmektedir. Aslen araya bir balancer koymadığınız takdirde yazılım bile olsa tam olarak yük dengelemesi yapılamamaktadır. Donanım üreticilerinin bu konudaki yazılımlarınada ihtiyaç duymamaktayız. Linux bunu kendi yeteneği ile yapabilmektedir.

Bonding modülü Linux işletim sistemi çekirdeği desteği ile gelir. Ethernet kartı standartı olarak IEEE 802 kullanılır.

Bonding modülünün 7 farklı şekilde çalışma yapısı bulunur, Kullanılan Mod’a bağlı olarak Bonding Layer 2 veya Layer 3 OSI Network katmanında kullanılmakta. (continue reading…)

Loading


Openfiler Nedir? Nasıl kurulur? Nasıl Kullanılır?

Openfiler Nedir?

Merhabalar bu yazımda sırasıyla openfiler’ın ne olduğundan, kurulumundan ve openfiler üzerinde iscsi depolama alanı yapılandırıp daha sonra  başka bir linux sunucuya bağlayıp kullanacağız.

Openfiler, SAN/NAS hizmeti için hazırlanmış açık kaynak kodlu network depolama işletim sistemidir.

Openfiler’da fileserver, share disk, sanal harddisk ve türlü amaçlar için alanlar oluşturabilir ve yönetimini yapabiliriz. Openfiler, disklerimizden oluşmuş toplam kapasitemizi ihtiyacımıza göre alanlara ayırıp kullanmamızı sağlar.

Web tabanlı kolay kullanımlı arayüzü üzerinden kullanıcı hesaplarını, disk hacimlerini, disk kullanım kotalarını kısacası oldukça kapsamlı bir şekilde ağ depolama hizmetini her yönüyle kolayca kullanabilir ve ayarlayabilirsiniz.

Kısa bir tanıtımdan sonra openfiler kurulumuna gelecek olursak;

Openfiler’ı herhangi bir sunucuya kurabileceğiniz gibi vmware veya benzeri sanal araçlarada kurabilirsiniz.

Openfiler kurulumu için gerekli minumum kaynaklar aşağıdaki gibi.

Openfiler 0
(continue reading…)

Loading


RDBMS KAVRAMI ve ORACLE RDBMS YAKLAŞIMLARI

Merhaba arkadaşlar veritabanında Data Concurrency ve Consistency konusunu yazmadan önce aşağıdaki veritabanı yaklaşımlarını öğrenmenin gerekli olduğunu düşünüyorum.

Tutarlılık (Consistency) ve erişilebilirlik (Availability), veri yönetim sistemlerinde iki farklı türde modelin doğmasına sebep olmuştur. Bunlar ACID ve BASE modelleridir.

ACID Modeli

ACID Standartları RDBMS veritabanlarında transaction işlemleri sırasında yapılan işlemlerin ne şekilde yapılması gerektiğini anlatan prensiplerdir. Geleneksel veritabanı ile çalışmış olan hemen hemen herkesin aşina olduğu bir modeldir. Bu modelde çalışan sistemler tutarlılık konusunda son derece hassastır ve veri kaybına oldukça pesimist yaklaşır. ACID, yeteneklerini ortaya dökebilmek için kilit mekanizmalarını kullanır. Bu mekanizmalar verinin diskte ve memoryde tüm kullanıcılar tarafından aynı görünmesini, verinin güncellenmesi sırasında onay gelene kadar tüm istemcilerin bekletilmesini mümkün kılar. Gerekirse tüm veritabanı kilit altına alınır. Gerektiğinde çakışan işlemlerin en maliyetli olanı hariç hepsi iptal edilir. Tabi ki pesimistlik seviyesine müdehale edebilirsiniz. Ancak ACID pesimist olması için dizayn edilmiştir.

Bu yaklaşım, verileri denetim altında tutan lock ve latch mekanizlarını kullanarak veri bütünlüğünü son derece güvenli noktaya taşımıştır. Hızdan daha çok veri tutarlılığının ön planda olduğu, özellikle paraya dokunan işlemler için ACID vazgeçilmezdir.

Aslında ACID; Atomicity, Consistency, Isolation ve Durability kelimelerinin kısaltılmış halidir. Bu ifadeleri inceleyecek olursak; (continue reading…)

Loading


Linux Sistemde reboot Vermeden Disk Ekleme

Çalışan sistemlere online olarak (scsi) disk eklemek mümkün. Ancak Linux yeni diskin algılanabilmesi için SCSI bus’ın re-scan edilmesi gerekiyor. Bu şekilde sistemi reboot etmeksizin yeni diski sisteme gösterebiliyorsunuz.
Bu işlemi yapmak için aşağıdaki adımları takip edebilirsiniz.
Sisteminize yeni diski ekledikten sonra üzerinde yapılması gereken re-scan işlemi, RHEL ve Debian tabanlı dağıtımlarda şu şekilde yapılmaktadır:

echo "- - -" > /sys/class/scsi_host/host0/scan

“host0″ ibaresi benim test sistemimdeki scsi_host’un ismidir ve bu değer sizin sisteminiz için farklı olabilir. Kendi scsi_host bilginizi öğrenmek için /sys/class/scsi_host dizininin altına bakabilirsiniz; host değeri buradaki dizinin ismidir:

ls -1 /sys/class/scsi_host

host0
host1
host2
Kendi scsi_host’unuzu öğrendikten sonra yukarıdaki komutu ilgili host değerini içerecek şekilde çalıştırsanız rescan işlemi yapılacaktır.

echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan

Durumu check etmek için fdisk komutunu -l paramteresi ile çalıştırabilirsiniz:

fdisk -l

Örnekte görüldüğü gibi sdc ismi ile yeni bir disk algılanmış durumda. Artık yeni diski uygun bir dosya sistemi ile formatlayabilir ve sisteminize mount edebilirsiniz.
Yararlı olması Dilegiyle…

Loading


Linux İşletim Sistemlerinde VNC Server Yapılandırması

Merhaba bu yazımda Linux İşletim Sistemine uzak bağlantı kurabilmek için VNC Server kurulumunu ve ayarlarını örnekle anlatacagım.
Ben örnegimi Oracle Enterprise Linux 6 üzerine yapacagım,diger dagıtımlarda da küçük degişiklikler hariç hemen hemen yapılan işlemler aynı.

  • Sistemize istegigimiz VNC server paketini kurarız.Ben tigervnc yazılımını tercih edecegim,bu paket OEL cd’sinin repo’sunda geldigi için tercih nedenim.
[root@***** yum.repos.d]# yum install tigervnc-server -y
Loaded plugins: refresh-packagekit, security
Setting up Install Process
Resolving Dependencies
–> Running transaction check
—> Package tigervnc-server.x86_64 0:1.1.0-5.el6 will be installed
–> Finished Dependency Resolution
Dependencies Resolved
========================================
========================================
Package Arch
Version Repository Size
========================================
========================================
Installing:
tigervnc-server x86_64
1.1.0-5.el6 Oracle 1.0 M
Transaction Summary
========================================
========================================
Install 1 Package(s)
Total download size: 1.0 M
Installed size: 2.6 M
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : tigervnc-server-1.1.0-5.el6.x86_64 1/1
Verifying : tigervnc-server-1.1.0-5.el6.x86_64 1/1
Installed:
tigervnc-server.x86_64 0:1.1.0-5.el6
Complete!
  • /etc/sysconfig/vncservers dosyayımızı düzenleriz.

vi /etc/sysconfig/vncservers

VNCSERVERS=”2:root 3:mustafa”

VNCSERVERARGS[2]=”-geometry 1280×1024 -nolisten tcp -localhost”

VNCSERVERARGS[3]=”-geometry 1280×1024″



VNCSERVERS=”4:oracle”

VNCSERVERARGS[4]=”-geometry 1024×768 -depth 16″

Burada kullanılan 2,3,4 gibi numaralar kullanıcıya atanan numaralardır,mesela yukarıda ki örnekte 2’yi root kullanıcısına attık.

  • VNC Server parolasını yapılandırdııgmız kullanıcılar için belirliyoruz.Bizim örnegimiz de  “root”,“oracle” ve “mustafa” kullanıcıları için belirliyecegiz.
[root@***** ~]# vncpasswd
Password:
Password must be at least 6 characters – try again
Password:
Verify:
[root@***** ~]# su – oracle
[oracle@***** ~]$ vncpasswd
Password:
Verify:
[oracle@***** ~]$ su – mustafa
Password:
[mustafa@***** ~]$ vncpasswd
Password:
Verify:

VNC Server servisini başlatmak ve sunucumuz yeniden başladığında otomatik açılması için gerekli komutları çalıştırıyoruz.

/etc/init.d/vncserver start
chkconfig vncserver on

NOT : VNC paketini kurduktan sonra “/etc/sysconfig/vncservers” dosyasında degişiklik yapmadan da vnc baglantısı yapabiliriz.Örnek verecek olursak ;

  • Hangi kullancıya vnc ile baglanmak istersek o kullanıcıya girer aşagıda ki gibi bir komut çalıştırdıgımız da bir tane vnc servis oluşturmuş oluruz ve bu servis aracılıgı ile sunucuya vnc ile baglanabiliriz.
vncserver -geometry 1024x768 -depth 16 :4
  • VNC’yi kullanabilmemiz için vnc servisi oluşturdugumuz kullanıcıya bir de şifre oluşturmamız dogru olacaktır.
vncpasswd 
  • Oluşturdumuz vnc servisini öldürmek için aşagıda ki komutu kullanabiliriz.
vncserver -kill :4

NOT : VNCSERVER komutu hakkında daha ayrıntılı bilgi almak için aşagıda ki komutları kullanabiliriz.

man vncserver
vncserver --help

NOT : VNC Client aracılıgı ile VNC Server’a baglanmak;
Linux için ;

vncviewer machine-name:portnumber
vncviewer 192.168.1.150:4

Windows için ;

VNC Client

Yararlı olması Dilegiyle…
Yazar : Mustafa Bektaş Tepe

Loading


  • Sertifikasyon



  • Etiketler

  • Topluluklar

                     
                     
  • Copyright © 1996-2010 Mustafa Bektaş Tepe. All rights reserved.
    Türkçeleştirme Blogizma | AltyapıWordPress