Eski bir bilgisayara NAS sunucu kuruyoruz…

Sistemin ayarlanması;

Kurulum aşamasını tamamladıysanız CLI (command line interface) ekranına ulaşabileceğiniz iki farklı yol var. Sunucunuzun üzerinden konfigüre edebileceğiniz gibi aynı ağdaki başka bir bilgisayardan da sunucunuzu yönetebilirsiniz. Uzak bağlantı için PuTTY adlı SSH istemcisini kullanabilirsiniz. Android tabanlı bir telefonunuz varsa ConnectBot adlı yazılım işinizi fazlasıyla görecektir (uyumak için yattığınızda hiç yerinizden kalkmadan sunucuyu kapatabilmek çok konforlu :) ). Özgür sistemlerden uzak bağlantı kuracaksanız işiniz çok daha kolay, SSH komutu ile doğrudan erişiminizi sağlayabilirsiniz. Uzak bağlantı için OpenSHH’ı sunucunuza kurduğunuzdan emin olun.

putty

Sunucunuzun IP adresini sabitlemeniz faydalı olacaktır. Bunun için;

sudo nano -w /etc/network/interfaces

dosyasını açın ve aşağıdaki satırları kendi networkünüze göre düzenleyerek ekleyin;

iface eth0 inet static
address 192.168.2.7   #dhcp'nin dağıttığı ip havuzunun dışında vermenizi tavsiye ederim)
netmask 255.255.255.0
gateway 192.168.2.1

Kullandığınız DNS adresini DHCP den alamayacağınız için bu adresi ifconfig komutu ile öğrenip aşağıdaki dosyaya kaydetmeniz gerekiyor;

sudo nano /etc/resolv.conf

Yukarıdaki ekran görüntüsünü gördüyseniz hazırsınız demektir. Şimdi sistemi güncelleyelim;

sudo su

//sürekli yönetici yetkisine sahip olabilmek için, her açılışta hakları bu komutla alın.

apt-get update
apt-get upgrade

Sistem güncellemeleri tamamlandıktan sonra eş çalışacak diğer iki HDD’yi bölümlendirip (partitioning), biçimlendirelim (formatting);

fdisk -l

#diskleri listeleyip disk adlarını öğrenmek için

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-133674, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-133674, default 133674):
Using default value 133674
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

Aynı işlemi diğer disk için de tekrarlayalım ( fdisk /dev/sdc ). İki disk için de bölümlendirme bittikten sonra biçimlendirme işlemlerini başlatalım;

mkfs.ext3 /dev/sdb1
mkfs.ext3 /dev/sdc1

Bu işlemler tamamlandıktan sonra sıra diskleri sisteme bağlamaya geliyor. mount komutu ile diskleri tek seferde sisteme bağlayabileceğiniz gibi fstab dosyasına diskleri ekleyerek her açılışta otomatik bağlanması sağlayabilirsiniz. fstab dosyasına eklemek için sırasıyla şu işlemleri yapalım;

mkdir /media/HDD01
mkdir /media/HDD02
chmod 777 /media/HDD01
chmod 777 /media/HDD02
ls -al /dev/disk/by-uuid/

#görüntülenecek listeden sdb1 ve sdc1 disklerinin UUID lerini kaydedin

nano -w /etc/fstab

#açılacak editörden aşağıdaki satırları, UUID lerini değiştirerek ekleyin.

UUID=40958b11-557f-4f2d-9f1d-07bf860052a8       /media/HDD01/   ext3    defaults,nobootwait        1       2
UUID=010bc298-3287-404d-9371-81474d130119       /media/HDD02/   ext3    defaults,nobootwait        1       2

Kaydedip kapattıktan sonra bilgisayarınızı reboot komutu ile yeniden başlatın. Sistem açıldıktan sonra mount komutu ile disklerinizin bağlandığını kontrol edebilirsiniz.

Diskleri hazırlayıp, sisteme otomatik bağlanmalarını sağladıktan sonra, diskleri network üzerinden paylaştıralım. Bunun için kurulum SAMBA‘yı kullanacağız. (kurulum sırasında SAMBA’yı kurmadıysanız öncelikle kurulumu yapmanız gerekecek)

nano -w /etc/samba/smb.conf

Açılacak editörden şu satırları en alt kısma ekleyin;

[NAS]
comment = NAS
path = /media/HDD01
available = yes
read only = no
public = no
guest ok = no
writable = yes
create mask = 0777
directory mask = 0777
valid users = @kullanici

valid users kısmından samba kullanıcı veritabanına eklediğiniz diğer grup ve kullanıcıları ekleyebilirsiniz. Veya farklı kullanıcılar için farklı paylaşımlar oluşturulabilir. Samba kullanıcı veritabanına yeni kullanıcı eklemek için;

adduser kullanici
smbpasswd -a kullanici

cmbpasswd veritabanına kullanıcı açılabilmesi için aynı kullanıcının sistemde açılmış olması gerekiyor. Bu yüzden kullanıcıyı iki adımda ekledik. Bu işlemlerden sonra smbd servisini yeniden başlatarak değişiklikleri aktif hale getirelim;

service smbd restart

Bu adımdan sonra paylaşımınız network üzerinden çalışmaya başlayacaktır. Oluşturduğunuz kullanıcıları listelemek için;

cat /etc/passwd
pdbedit -L

Çalışmaya başlayan servise uzaktaki windows makinelerden erişmek için iki yöntemimiz var. Birincisi dosya gezgini üzerinden her seferinde adresi ve şifreyi yazarak erişim, ikincisi network paylaşımının bilgisayara MAP edilmesi. İlk yöntem için dosya görüntüleyicisinin adres satırına sunucunun adresini yazmanız yeterli ( ör. \\192.168.2.7 ).

Servisin verilmesini ve kullanılmasını tamamladık. Şimdi sisteme taktığımız ikinci HDD’yi birincisinin yedeği gibi çalışacak şekilde ayarlayalım. Bu işlemi otomatikleştirmek için bir BASH betiği (script) yazmamız gerekiyor. Hazırladığım betik dosyasını buraya tıklayarak indirebilirsiniz. Bu betik çalıştırıldığında rsync HDD01 ve HDD02 disklerindeki içeriği kontrol eder ve farklılıkları HDD02 üzerine yazar. Yani betik çalıştırıldığında HDD02, HDD01 in tam bir kopyası olur. Öncelikle betiği çalışabilir hale getirelim. İndirdiğiniz dosyayı paylaşım klasörüne kopyaladığınızı düşünerek;

cp /media/HDD01/senkron.sh /
chmod +x /senkron.sh
/senkron.sh

bu komutlardan sonra betik root klasörüne kopyalandı ve bir kez çalıştı. Şuanda HDD01 içerisindeki tüm veri aynı şekilde HDD02 içerisinde de oluşmuş olmalı. Şimdi bu betiğin belirli zamanlarda otomatik olarak çalışmasını sağlayalım. Bunun için crontab dosyasına betiğimizi ekleyeceğiz;

sudo crontab -e

Açılan editörden şu satırı ekleyelim;

00 */3 * * * /senkron.sh

Bu satırın eklenmesiyle betiğimiz her 3 saatte bir otomatik olarak çalıştırılacak. Zamanlandırılmış görevleri görüntülemek için;

sudo crontab -l

komutunu kullanabilirsiniz. Ayrıca /var/log/cronrun** şeklinde 10 günlük  log dosyaları betik her çalıştığında oluşacaktır.

Şimdi sistem boşta kaldığında disklerin gereksiz çalışmalarını önleyelim. Bu hem disklerin ömrünü uzatacak, hem de sistemin enerji tüketimini azaltacaktır.

apt-get install hdparm
nano -w /etc/rc.local

Açılacak editörden aşağıdaki satırları kendi disklerinizin UUID lerini düzelterek dosyanın altına ekleyin;

hdparm -q -S 24 /dev/disk/by-uuid/010bc298-3287-404d-9371-81474d130119
hdparm -q -S 180 /dev/disk/by-uuid/40958b11-557f-4f2d-9f1d-07bf860052a8

İlk satır, HDD02 diskine 2 dakika boyunca (24 * 5 = 120 sn) erişim olmadığında kapanmasını sağlayacaktır. İkinci satırda yine aynı şekilde HDD01 diskine 15dakika süresince erişim olmadığında diski kapatacaktır. rc.local dosyası sistemin her açılışında bir kez çalıştırılır.

DLNA uyumlu cihazlar için paylaşım;
UPnP (universal plug and play) protokolü sayesinde ev ağınızdaki tüm DLNA destekli cihazlarınızdan medya dosyalarınıza erişebilirsiniz. DLNA paylaşımı için UBUNTU üzerinde sorunsuz çalışan MediaTomb‘ı deneyebilirsiniz. Türkçe karakter desteği yok fakat sorunsuz çalışıyor. Kurulum için;

sudo apt-get install mediatomb
sudo nano -w /etc/mediatomb/config.xml

Açılacak xml dosyasında gerekli düzenlemeleri yaptıktan sonra servisi yeniden başlatmanız gerekecek. Web arayüzüne erişmek için http://SUNUCUIPADRESI:49152 kullanmanız gerekiyor (49152 portu boşta değilse port değişecektir). Servisi yeniden başlatmak için;

sudo service mediatomb restart

Denemelerimde sorunsuz çalıştı fakat Mediatomb’un büyük arşivlerde sorun yaşadığı yazılmış.

Farklı fiziksel konuma ek yedekleme;
Sistemimizi çalışır hale getirdik, HDD arızalarına karşı çift kopya çalışacak şekilde ayarladık. Fakat tüm kopyalarınız aynı konumda. Elektrik veya sistem arızalarında, sistem üzerinde çalışırken iki diskteki veriyi aynı anda kaybetme ihtimaliniz var. Her ne kadar tam bir yedekleme çözümü olmasa da üçüncü bir taşınabilir USB diske belirli aralıklarla verilerinizin kopyasını almanızı öneririm. Özellikle sistem üzerinde bir değişiklik yapacaksanız, işleme başlamadan önce diğer diske yedekleme yapmanız gerekli. Bu diski farklı bir fiziksel konumda saklamayı düşünebilirsiniz. Diskleri kopyalarken rsync aracını kullanmanız işlerinizi kolaylaştıracaktır.

Hamdi ÖZCAN – ozcan.com


Pages: Sayfa-1 Sayfa-2


Comments

    • restart betiğini crontab ile ayarladığın saatte çalıştırarak yapabilirsin. betiğin “shutdown -r 0″ komutunu çalıştıracak, crontab zaman ayarı gece 12 için ” 0 0 * * * ” şeklinde olabilir.

    • evet yapılabilir. raid5 olarak da yapılandırabilirsiniz. disk bozulmalarında uygulayacağınız adımları önceden hazırlamak kaydıyla tavsiye ederim. günümüz işlemcilerinin yüksek gücü sayesinde, yazılımsal raid donanımsal raid e göre daha performanslı çalışır.

    • @Hasan: NAS konusunda özelleşmiş FreeNas ve OpenFiler dağıtımlarından yazımda kısaca bahsetmiştim, yorumunuza cevap olarak fikrimi de ekleyeyim; Açık kaynak bileşenlerin bir araya toplanıp ürün haline getirilmesi ve bunların sürekli geliştiriliyor olması çok güzel. Hedefimiz sadece NAS kullanmaksa hazır ürünler ve hazır donanımlar kullanılması daha iyi sonuç verecektir, fakat bileşenleri tanıma, onları kurup ayarlarını yapmak hem keyifli hemde işin içine biraz daha fazla girmemizi sağlıyor.

      • değerli bilgileriniz için teşekkür ederim . peki kasamız var biz bunu windows sistemlerinde uygulayabilir miyiz ? mezzmo programını kullanmıştım ve çoğu videolasrı encode etmesi gerekiyor. encode ediyor donanımda yüksek ama ben encodesiz direkt açabilecek yazılım istiyorum. çünkü encode esnasında filmi ileri geri alamıyorum. encode edilmiş filmi ileri geri alıyorum. dlna özelliği kullanmak için ücretsiz windows tabanlı program tavsiyeniz varmı ? yada ücretlide olabilir dlna özelliği mezzmo gibi olması ve encode etmeden direkt açan yazılım tavsiyeniz varmı ? teşekkürler …

      • @yücel, rica ederim. Windows üzerinde benzer uygulama yapılabilir, fakat tecrübe etmediğim için yanlış yönlendirmek istemiyorum.

    • Ürün ev kullanıcıları için iyi. Hatta bir müşterimizde ofisinde 100 makinanın yedeklerini alıp freenas arkasında yedek alan nas olarak kullandırıyoruz. yani yedeğin yedeği oluyor. Ama freenas openfiler gibi işin temelindeki dağıtımların eline su dökemez (BENCE)…

      donanım almak her zaman iyidir. eğer bilmiyorsanız bence bu donanım tam sizin işinizi görür. torrent desteği de var.

  1. Merhaba;

    Elimde eski kasalar mevcut sizin yazınızdan yola çıkarak yapmaya karar verdim. Ancak güç tüketimi ve power in ses sorununu nasıl çözerim bilemedim.

    Araştırmalarımda türkiyede Qnap firmasının nas sürücülerinin popülerliğini fark ettim. bu cihazlar hakkındaki düşünceniz nedir. almaya değer mi? aslında fiyat olarak hiçte makul değiller.

    • bence hiç qnap a o kadar para bayılmayın. power ı açın sessiz fan ile değiştirin işlemciyide yapacagınız masraf atıyorum 100 tl olsa fanlar için. yine karda olacagınız için böyle yapın derim.

  2. Benim Brother bas 342g modeli programlanabilir bir makina var ve el paneli ile program yapıyorum oda çok yavaş ve zaman alıyor compact flash kartta takılabiliyor bunu usb ye çevirebilirmisiniz yada lcd ekran takılıp onda çizim yapabilirmisiniz aydınlatırsanız sevinirim.teşekkürler.

Leave a Reply

(required)