1. Linux ve Özgür Yazılım Şenliği 4/2/2017 NFS & NIS Kerem ERZURUMLU kerem@linux.org.tr Bu PowerPoint sunumu Akademik Bilişim 2001’de sunulmak üzere Kerem ERZURUMLU tarafından hazırlanmıştır. Sunumun amacı sistem yöneticilerine yada sistem yönetici adaylarına veri paylaşımının en önemli iki öğesi olan NFS ve NIS hakkında giriş ve orta düzeyde bilgi vermektir. Döküman genelinde anlatılacak olan örnekler, tanımlar çoğunlukla Sun Solaris ve Linux işletim sistemi içindir. Fakat istisnai durumlar hariç tüm UNIX’ler içinde geçerli olmaktadır. Hazırlayan Hakkında: H.Ü. Bilgisayar Bilimleri Mühendisliği 2000 yılı mezunu olan Kerem ERZURUMLU Türkiye Linux Kullanıcı Grubunun kuruluş aşamasından itibaren aktif rol oynayan bir Linux gönüllüsüdür. Kendisi şu an özel bir internet servis sağlayıcıda “Sistem Yöneticisi” sıfatı ile çalışmaktadır. 1. Linux ve Özgür Yazılım Şenliği
Kapsam NFS (Network File System), NFS Nedir? NFS’in Faydaları, 4/2/2017 NFS (Network File System), NFS Nedir? NFS’in Faydaları, NFS Tarihçesi, Sürüm 2 – Sürüm 3 Farkları, Autofs Hakkında, NFS’in Yönetimi, Sistem yöneticisinin sorumlulukları, Otomatik paylaşımı, Dosya sistemlerinin bağlanması, Komut satırından bağlama, NFS sunucularının başlatılması/durdurulması, Genel NFS sıkıntıları ve çözümleri, NFS paylaşımlarının görüntülenmesi. Sunum içeriğini maddeler halinde içeren slayttır.
Kapsam NIS (Network Information System) NIS nedir? NIS bileşenleri, NIS alanları, NIS yardımcıları, NIS sunucuları, NIS haritaları, NIS istemcileri, NIS ayarları: Ana Sunucu, İkincil Sunucu, İstemci Harita Güncelleme.
NFS Nedir? 4/2/2017 En kısa tanımı bilgisayarlar arasındaki dosya paylaşımı olurdu. İstemci – Sunucu ilişkisi ile çalışan bir dosya sistemi havuzu. NFS Sunucu: Kendi üzerinde mevcut olan dosya sistemini yerel ağdaki diğer makinaların kullanımına sunan bilgisayardır. NFS İstemci: Mevcut olduğu yerel ağdaki bir NFS sunucusundaki bir dosya sistemine erişen bilgisayardır. Bir PC hem sunucu hem istemci olabilir. NFS istemcilerinin sabit diski olma zorunluluğu yoktur. İstemi Sunucudaki verileri kullanır, kopyasını oluşturmaz. NFS istemci ve sunucu aynı işletim sistemini çalıştırmak zorunda değildir. NFS (Network File System – Yerel Ağ Dosya Sistemi) aslında daha çok bir standarttır. Bilindiği üzere pek çok UN*X türevi kendilerine has dosya sistemleri kullanmaktadır. Örneğin IBM’in AIX’i Jornaling FS (jfs), Sun’ın Solaris’i UFS, Linux ise ext2 kullanmaktadır. Bu durumda bir yerel ağ ortamında veri paylaşımı dosya sistemi bazında standart olmadığı için problem olacaktır. İşte NFS bu noktada doğmuş ve bu standart eksiğini kapatmıştır. NFS istemci sunucu mantığı ile çalışır. Yani bir bilgisayar üzerindeki verileri paylaşır, sunar, diğerleri ise gelir ve bu veriyi kullanır, ister. Bir ortamdaki sunucu aynı zamanda bir başka ortamın istemciside olabilir. NFS sunucusu üzerinde bulunduğu bilgisayarın TCP ve UDP olmak üzere 2049. Portlarda çalışmaktadır.
NFS Nedir? NFS yanlızca dosya sistemlerini paylaştırabilir. 4/2/2017 NFS yanlızca dosya sistemlerini paylaştırabilir. NFS yazıcı, modem gibi bilgisayar çevre birimlerini paylaşılamaz. NFS’de platform bağımlılığı problemi yoktur. NFS’de aynı alan iki defa paylaşılamaz. NFS yaplaşımı için eğer arada güvenlik duvarı varsa NFS için izin verilmelidir. Genel bir girişi az önceki slayt ile gerçekleştirmiştik. Şimdi NFS’i biraz daha detaylı olarak inceleyim ve kısıtlamalarına bakalım. NFS aracılığı ile paylaştırılacak olan alan mutlaka bir dosya sistemi parçası olmalıdır. Bunun istisnası, özel karakter yada blok cihazlarıdır. NFS bir standart olduğu için hemen hemen tüm işletim sistemlerini destekler. NFS’de daha önce paylaştırılmış bir alanı içeren başka bir alan paylaştıramazsınız. NFS’in tam oalrak çalışabilmesi için istemci ile sunucu arasındaki 2049. Port trafiği engellenmemelidir.
NFS’in Faydaları 4/2/2017 Aynı dosyaların birçok bilgisayar tarafından kullanılmasına olanak kılar. Veri depolama ihityacını azaltır. Veri tutarlılığını ve bütünlüğünü sağlar. Kullanıcılara kullanımı kolay ve şeffaf bir dosya erişim sistemi sunar. Sistem yönetimindeki zorlukları azaltır. NFS’in yukarıda geçen faydaları Sun firmasının NFS Administration Guide’dan alınmıştır. Verilerin tek bir merkezde tutuluyor olması merkezi sistemlerin avantajlarını kazandırmaktadır. Veriler tek yerde tutulduğundan tüm kullanıcılar için verinin bir kopyası çıkartılmayacak, böylece hem sığa kazancı sağlanacak, veri tutarlılığını sağlamak kolaylaşacak, verilerin yönetimini tek merkezden yapabilme imkanını sağlayacaktır.
NFS Tarihçesi NFS Sürüm 2 NFS Sürüm 3 4/2/2017 NFS Sürüm 2 Solaris 2.5’ten önceki ve ilk NFS sürümü NFS Sürüm 3 Sürüm 2’nin güncel halide denilebilir. Bir çokyenilik getirmiştir. Sürüm 2 ile Sürüm 3 arasında oldukça fazla fark vardır. * Başlıca sayılabilecek NFS sürümleri 2 tanedir. NFS sürüm 2 ve NFS sürüm 3. Solaris 2.5 işletim sistemine kadar yaygın olarak kullanılan NFS srümü idi. Bu sürüm TCP desteği iiçermemekte ve yanlızca dosya paylaşaımı sağlamaktaydı. Solaris 2.5 ile gelen ve 2.6’da düzenlemelere uğrayan NFS sürüm 3 ise şu an güncel olarak kullanılan sürümdür.
NFS v2 vs NFS v3 4/2/2017 NFS2’de mevcut olmayıpta NFS3’de eklenen özellikler şunlardır: NFS ACL desteği, TCP üzerinden NFS, Yerel ağ kilitleme mekanizması, NFS büyük dosya desteği, Kerberos v5 desteği, WebNFS desteği, Sürüm 3 beraberinde sistem yöneticilerin hayatını kolaylaştıran bir sürü özellik getirmiştir. Bu özelliklerden belkide en önemlisi ACL (Access Control List) özelliğidir. Bu sayede belirli dizinlere ulaşım, belirli makinalar ile kısıtlamabilmektedir. Böylece NFS bir adım daha atarak veri güvenliğinide sağlamayı hedeflemiştir. İkinci en büyük yenilik ise NFS’de artık UDP (Unix Data Protocol) yerine TCP’ye geçiştir. TCP özellikle uzak mesafeli bağlarda ve yavaş yerel ağlarda UDP’ye oranla çok daha iyi bir performans sergilemektedir. Dosya kilitleme özelliği ile aynı dosyayı iki kişinin aynı anda açması engelenmiştir. Büyük dosya desteği ile 2Gb’den büyük dosyaların da paylaşılabilmesi sağlanmıştır. Kerberos’un 5. Sürüm desteği eklenmiştir. Internet’te güvenlik duvarı problemi yaşayanlar için WebNFS desteği eklenmiştir.
Autofs Hakkında 4/2/2017 Kullanıcılar yetkili kullanıcı olmadanda NFS kullanabilir. Autofs “automountd” sunucusu aracılığı ile bağlama işlemini yanlızca gerekli olduğu zaman yapabilir. Autofs işlemleri sistemin ön tanımlı bağlama dosyasından yapılır. Yanlızca lazım oldukça bir yerin bağlanması işlemini automountd yapar. Böylece yetkili kullanıcının her seferinde müdahale etmesine gerek kalmaz. Autofs bilgileri Sun için /etc/vfstab dosyasında, linux için /etc/fstab dosyasında yeralır. Autofs’i kullanabilmek için automountd sunucusunun açılışta çalışması gerekmektedir.
NFS’in Yönetimi Sistem yöneticisinin sorumlulukları, 4/2/2017 Sistem yöneticisinin sorumlulukları, Otomatik paylaşımı, Dosya sistemlerinin bağlanması, Komut satırından bağlama, NFS sunucularının başlatılması/durdurulması, Genel NFS sıkıntıları ve çözümleri, NFS paylaşımlarının görüntülenmesi. Yanlızca sunum sırasında Yönetim başlığı altında incelenecek konuları hatırlatmak amacı ile konmuştur.
Sistem Yöneticisi Sorumlulukları 4/2/2017 Hangi bilgisayarlarda hangi kaynakların hangi şekillerde paylaştırılacağının tespiti, Hangi bilgisayarların sunucu, hangisinin istemci olacağına karar verilmesi, Paylaşımın yanlızca gerekli durumlarda yapılması, İlgili ayarların doğru ve en az erişim izni ile yapılması, Yerel ağ’ın izlenmesi, Autofs tespitleri, Bir NFS yerel ağ’ın kurulumunda en önemli şey nelerin paylaştırılıp, nelerin paylaştırılmayacağıdır. Yanlış yada fazla yetkili bir paylaşım yetkisiz bir kişinin sisteme hasar verebilme ihtimalini doğurabilir.
Otomatik Paylaşım 4/2/2017 Bir sunucunun dosyaları otomatik olarak paylaşabilmesi için paylaşılacak alanların Linux sistemine özgü olan “/etc/exports” dosyasında belirtilmesi gerekmektedir. Örn: /usr carnage(ro),zer(rw) Genel olarak tüm UN*X’lerde bahsi geçen dosya /etc/exports’dur ve formatı yukarıdaki gibidir. /etc/exports dosyasında değişiklik yapıldıktan sonra “exportfs –a” komutu çalıştırılmalıdır. Otomatik olarak bir alanın paylaştırılması ise “/etc/fstab” dosyası ile yapılır. Örn: zer:/usr/local/bin /usr/local/bin nfs Dizinyolu makinaadı(seçenekler) special mountp fstype options
Dosya Sistemlerinin Bağlanması NFS İstemcilerinin NFS sunucularından öntanımlı bağlama işlemini yapabilmeleri için “/etc/fstab” dosyasında girdilerinin bulunması gereklidir. Örn: machine1:/usr /usr nfs special mountp fstype options
Komut Satırından Bağlama NFS istemcileri komut satırından da NFS sunucularına bağlanabilir. Örn: mount –f nfs –t ext2 machine2:/usr/local /usr/local mount [-fnrsvw] [-t vfstype] [-o options] device dir
NFS Sunucuları Başlatma/Durdurma Linux’daki init.d içerisindeki nfs betiği NFS’i durdurup başlatır. Yukarıdaki satır NFS’i başlatır. Yukarıdaki satır NFS’i durdurur. # /etc/rc.d/init.d/nfs start # /etc/rc.d/init.d/nfs stop
Genel NFS Sorunları ve Çözümleri İstemci sunucuya ulaşabiliyor mu? Bir sunucu ismi andığınızda belirtilen IP doğru IP mi? Sunucuda nfs çalışıyor mu? # /etc/rc.d/init.d/nfs status
NFS Paylaşımlarını Görüntüleme Yerel sunucu için Uzak sunucu için # showmount –e localhost # showmount –e machine1
Yerel Makinada Bağlı Olan Noktaları Görmek 1. Nfsstat komutu ile 2. Mount komutu ile # nfsstat # mount
NIS NIS nedir? NIS bileşenleri, NIS alanları, NIS yardımcıları, NIS sunucuları, NIS haritaları, NIS istemcileri, NIS ayarları Ana sunucu, İkincil sunucu, İstemci Harita güncelleme.
NIS Nedir? Kısa adı Yerel Ağ Bilgi Sistemleri (Network Information System)dır. Mümkün olan bütün sistem ayarlarının bir merkezden yönetilebilmesine olanak tanımlanır. Tüm NIS istemcileri NIS sunucusundaki haritaları (maps) kullanırlar. Sistemlerin yönetimi açısından kolaylık ve esneklik sağlar.
NIS Bileşenleri NIS Alanları (NIS Domains) NIS Haritaları (NIS Maps) Servisler ypserv (NIS Sunucusu) ypbind (NIS Eşleme) yppasswdd (Şifre Değiştirme)
NIS Alanları NIS sunucuları kendi aralarında alanları baz alarak konuşurlar. Alan adları herhangi bir bir katar dizisi olabilir. NIS alan adları ile DNS’in bir ilgisi YOKTUR. NIS alanları büyük-küçük harf duyarlıdır. Alan adları domainname komutu ile verilir. Öntanımlı alan adı Linux ve bir çok UNIX’de NIS’i başlatan betikte belirtilir. # domainname bizim-yeni-alanimiz
NIS Yapısı Programlar: ypcat – Belirtilen haritadaki tüm verileri listeler ypwhich – Bağlı olunan NIS sunucusunu gösterir ypinit – NIS haritalarını yaratır ypmatch – Belirtilen harita içerisinde belirtilen anahtarlı veriyi arar. yppush – Sunucudan İstemcilere haritaları günceller ypdomainname – NIS alan adını gösterir/belirler yppasswd – Eğer NIS üzerinden şifreler dağıtılıyor ise istemci bilgisayarlar üzerinden şifre değiştirmeyi sağlar, yppoll – NIS haritasi ve sunucusu hakkında bilgi verir,
NIS Sunucuları Bilgisayarlar NIS’in 3 farklı türde elemanı olabilirler: NIS Ana Sunucu (NIS Master) NIS İkincil Sunucu (NIS Slace) NIS İstemci (NIS Client) Tüm bilgisayarlar NIS istemci olabilir. Tüm sunucular aynı zamanda NIS istemci olabilir
NIS Sunucuları Basit tanımı ile bünyesinde NIS haritaları barındıran ve bunları isteyen kişiler ile paylaşan bilgisayardır. İki türü vardır: Master : Ana sunucudur. Mümkün olduğu sürece istemlere bizzat cevap verir. Slave: İkincil sunucudur. Master sunucu cevap vermediği durumlarda devreye girerek cevap verir. Genelde NIS sunucularının yedekli tutulması tavsiye edilir. Bir alan için bir TEK ana sunucu olmalıdır. İstenilen kadar ikincil sunucu olabilir. İkincil Sunucu periodik aralıklar ile Ana sunucuyu yedekler.
NIS Haritaları NIS haritaları aktarılan verilerin ana kaynağıdır. Her alan için bir grup harita tanımı yapılır ve bu haritalar alan adı ile belirlenmiş bir dizinde (“/var/yp/domainname”) tutulur. Haritalar yanlızca Ana sunucuda yaratılır. Diğer sunucular ve istemciler bunları kopyasını alır. Bazı harita örnekleri şu şekilde sıralanabilir; Passwd, Hosts, Mail.aliases, Services....
NIS Haritaları Normal koşullar altında NIS haritaları ikili (binary) biçemde saklanır. Bu durumda NIS haritalarının içeriğini “ypcat” komutu ile öğrenmek mümkündür. Dikkat edilmesi gereken nokta passwd haritasının içinde şifrelenmiş kullanıcı parolalarının da görüleceğidir. # ypcat haritaadı
NIS İstemcileri NIS istemcileri bilgisayarda çalışmakta olan işletim sistemine bağlı olarak 2 biçimde yapılabilir. 1. Daha yeni sistemlerde mevcut olan “/etc/nsswitch.conf” ile: Bu durumda dosyayı örnek satırımızdaki gibi düzenlemek yeterli olacaktır. 2. Nsswitch.conf olmayan sistemlerde ise istenilen haritanın orjinal kaynağının sonuna “+” ile başlayan bir kayıt ekleyerek Parolalarımız NIS ile paylaşılıyor. İstemcideki “/etc/passwd” dosyasının sonuna şu satır eklenmelidir. passwd: files nis +:*:::::
NIS Ayarları Özel haritalar yaratmak mümkündür. NIS’e yönelik dizin ayarları “/var/yp/Makefile” dosyasındadır. “/var/yp/Makefile” dosyasındaki “PWDIR=/etc” satırını değiştirerek NIS haritalarının öntanımlı /etc/passwd yerine başka bir dizindeki passwd dosyasını kullanmasını sağlayabiliriz.
NIS Ana Sunucu Kurulumu NIS Ana Sunucusu kurmak için “ypinit” programı “-m” parametresi ile çalıştırılmalıdır. Bahsi geçen komut çalıştığında sıra ile belli sorular soracaktır. Bu sorulara cevap verildikten sonra NIS haritaları hazır olacaktır. Komutları çalıştırılarak NIS sunucuları devreye alınır. # /etc/rc.d/init.d/ypbind start # /etc/rc.d/init.d/ypserv start
NIS İkincil Sunucu Kurulumu İkincil Sunucu kurulumuda ana sunucu kurulumuna benzerdir. Tek fark “ypinit” programının “-s” parametresi ile çalıştırılacak olmasıdır.
NIS İstemci Kurulumu Aynı ana sunucu ve ikincil sunucuların kurulumunda olduğu gibi “ypinit” komutu kullanılacaktır. Fakat çalıştırılacak olan parametre “-c” olacaktır.
Harita Güncellemeleri “/var/yp” dizininde çalıştırılacak olan her “make” komutu haritaların güncellenerek ikincil sunuculara ulaştıracaktır. İstemciler için değişen birşey olmayacaktır.
Katılımcılarımıza Teşekkür Ederiz. Seminer Sonu Katılımcılarımıza Teşekkür Ederiz. Kerem ERZURUMLU kerem@linux.org.tr