CloneZilla Server – Bölüm 1: Kurulum ve Yapılandırma
Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYd1bDhe' (Errcode: 28 - No space left on device) in /usr/share/nginx/html/syslogs/wp-includes/class-wpdb.php on line 2349
Clonezilla, disk image'i alma (clone) yönetimi ile disk backup ve restore işlemleri için güzel bir alternatif olmanın yanı sıra akıllı dizaynı ve hızı nedeni ile de gerçekten takdire şayan bir yazılım. Üstelik, piyasada bulunan ücretli muadillerine göre Open Source olmasından dolayı ücretsiz temin edilebilmesi de tercih edilmesi için epey iyi bir neden teşkil ediyor.Belirlenen disk partisyonlarının ya da diskin tamamının block bazında yedeklenmesine ve geri dönülmesine olanak sağlayan bir bare metal backup ve restore çözümü olan CloneZilla'yı uzun zamandır duyuyordum; sonunda vakit bulup kurma ve test etme olanağım oldu. İşte bu yazıda da CentOS 5.2 üzerine yapılan clonezilla server Edition kurulumu ile ilgili notları paylaşacağım. Belki sizin de bu şekilde bir çözüme ihtiyacınız vardır. |
Bu döküman iki bölümden oluşuyor, ilk bölüm olan bu sayfada, clonezilla server'ın ne olduğu, nasıl kurulduğu ve yapılandırıldığı ile ilgili bilgiler bulunuyor. İkinci bölümde ise clonezilla server kullanarak network üzerinde ki bir bilgisayarın backup'ını almak ve bir image dosyasından restore işleminin nasıl yapıldığı anlatılıyor.
1. Bölüm – Kurulum ve Yapılandırma
2. Bölüm – Backup ve Restore İşlemleri – Nasıl ?
Yazı biraz uzun dolayısı ile aşamalar arasında hızlı geçiş için kolaylık olması açısından
aşağıdaki Index'ten yararlanabilirsiniz.
INDEX
1 – Clonezilla Server Nedir?
2 – Çalışma Prensibi
3 – CentOS üzerine Clonezilla Server Kurulumu
4 – Kuruluma Hazırlık
5 – Kurulum
5 – Yapılandırma
6 – Kurulumu Sonlandırma
6 – Backup ve Restore işlemleri nasıl ?
Başlamadan önce, konuyu tecrübeli, tecrübesiz herkesin yararlanabilmesi açısından olabildiğince kapsamlı bir şekilde anlatmaya çalıştım. İfade hatası ya da eksik bulduğunuz yönler olması durumunda bu konuları bildiriseniz sevinirim.
İşte başlıyoruz.
CLONEZILLA SERVER NEDİR?
Kurulum notlarında geçmeden önce, Clonezilla ile ilgili biraz daha bilgi vermek yerinde olacaktır. Normalde Clonezilla'nın iki tipi bulunuyor: Clonezilla Live ve Clonezilla SE (Server Edition). Clonezilla Live tek bir bilgisayarın backup ve restore işleri için uygun olan versiyonu; clonezilla.org adresinden indirebileceğiniz bir ISO dosyasını bir CD'ye yazıyorsunuz ve disklerini klonlamak istediğiniz bilgisayarı bu CD'den boot ederek disklerin backup/restore işlemlerini yapabiliyorsunuz. Ben ikinci versiyon olan Clonezilla Server ile ilgilendiğimden dolayı Live versiyonu ile ilgili detaya girmeyeceğim. Zaten bir grafik arabirimi sunduğundan dolayı Clonezilla Live kullanımı muadillerinden hiç de farklı değil.
Clonezilla Server ise bu yazıda kurulumu ve kullanımı ile ilgili bilgiler bulabileceğiniz ikinci versiyon. Temel olarak Clonezilla Server ile LAN'da bulunan bilgisayarların disk image'lerini alarak backuplayabiliyor ve aldığınız bu backuplar ile gene network üzerinden restore işlemi yapabiliyorsunuz. Bunun yanı sıra, bir disk image'ini birden fazla bilgisayara eş zamanlı olarak dönebiliyorsunuz. Bu şekilde aynı anda bir çok bilgisayarın kurulumunu yapabiliyorsunuz.
Clonezilla, NTFS dosya sistemini de destekliyor; bu nedenle Windows bilgisayarlar için de backup/restore işlemi yapılabiliyor. NTFS'in yanı sıra ext2, ext3, reiserfs, xfs, jfs, FAT, ve HFS+ gibi dosya sistemlerini destekleniyor. Backup sırasında diskin sadece kullanılan blocklarını alınmasından dolayı, boş alanları image dosyasına dahil etmiyor ve bu şekilde süreden ve yerden de tasarruf sağlıyor.
Clonezilla Server, backup ve restore işlemleri için DRBL, Partition Image, ntfsclone, partclone, ve udpcast isimli yazılımları kullanıyor. Üstelik kısa bir zaman alan kurulumu sırasında gerekli olan tüm paketleri kendisi kuruyor. Bu nedenle sizin öncesinde herhangi bir bileşen kurmanıza gerek kalmıyor.
Ve son olarak elbette Open Source ve elbette ücretsiz.
Clonezilla Server Edition nedir, ne iş yapar kısmına değindikten sonra çalışma prensibi ve kurulum ile ilgili bölümlere geçebiliriz.
CLONEZILLA SERVER ÇALIŞMA PRENSİBİ
Biraz önce söylediğim gibi Clonezilla Server, Diskless Remote Boot in Linux (DRBL) kullanıyor. DRBL, adından da anlaşılabileceği gibi herhangi bir bilgisayarın üzerinde disk ve sistem yokken, network üzerinden açılabilmesine ve üzerinde bir işletim sistemi kuruluymuş gibi çalışmasını sağlıyor. Aynı zamanda DRBL, CloneZilla ile birlikte geliyor ve yukarıda bahsi geçen backup/restore işlemleri bu şeklilde mümkün oluyor. Yani Clonezilla Server kurmak aslında DRBL kurulumundan ibaret. Bir kez DRBL kurulumu yaptıktan sonra Clonezilla Server kullanılmaya hazır hale geliyor.
Basit olarak çalışma mantığına değinmek gerekirse;
DRBL sunucusunu kurduktan sonra, networkteki makinelerinizden birini PXE ile network üzerinden boot ediyorsunuz. DRBL sunucusu üzerinde bulunan DHCP server, networkten boot edilen bilgisayara bir IP adresi atıyor. Aldığı IP adresi sayesinde DRBL sunucusuyla irtibata geçebilecek konuma gelen istemci bilgisayar, DRBL sunucusun üzerinde çalışan NFS ve NIS servisleri sayesinde gene DRBL sunucusu üzerinde bulunan ve istemci bilgisayar için DRBL tarafından ayrıca oluşturulan /etc, /usr ve /var gibi sistem dizinlerini mount ederek kendisini boot ediyor. Bu şekilde üzerinde minimal bir linux çalışan bir istemci elde etmiş oluyorsunuz.
Yani client, üzerinde disk olmamasına rağmen (networkten boot edildiği için lokal diskleri mount edilmemiş olmasına rağmen) NFS kullanarak DRBL'de tutulan GNU/linux sistem dizinlerine erişiyor ve sanki üzerinde bir linux dağıtımı kuruluymuş gibi açılıyor. Bu işlemi üzerinde Windows kurulu istemcileriniz için yaptığınız zaman bu bilgisayarlar da mesela üzerinde CentOS kuruluymuş gibi açılıyor ve Clonezilla'nın çalışması için gerekli olan Linux ortamı sağlanmış oluyor.
NOT: Networkten boot edilen istemci bilgisayarlara NFS üzerinden deploy edilecek Linux dağıtımı, DRBL sunucusunun üzerine kurulu olduğu Linux dağıtımdır. Mesela ben, DRBL'yi CentOS üzerine kurdum ve networkten boot ettiğim bir makine CentOS dağıtımına sahip oluyor. |
Bu şekilde üzerinde disk ve işletim sistemi olamayan bir bilgisayarı network üzerinden açmış oluyorsunuz. Daha sonra DRBL sunucusu, ilgili istemci üzerinde Clonezilla çalıştırılmasını ve istemcinin fiziksel disklerinin image'lerinin alınarak network üzerinden kendindeki depolama alanına kopyalanmasını sağlıyor.
İlerki zamanlarda daha önceden disk image'ini aldığınız bir istemci bilgisayar çöktüğü ya da disk arızası vs. yüzünden açılamaz hale geldiği zaman istemciyi yeniden network üzerinden boot ederek açıyor ve DRBL üzerinde bulunan disk image'inden restore edilmesini sağlıyorsunuz.
DRBL'nin (dolayısı ile Clonezilla Server'ın) çalışma prensibine ana hatlarıyla değindikten sonra, kurulum ve yapılandırma bölümlerine geçebiliriz.
CENTOS ÜZERİNE CLONEZILLA SERVER KURULUMU
Ben CloneZilla Server'ı CentOS 5.2 üzerine kurdum, dolayısı ile bu yazı da CentOS üzerine kurulumu anlatmaktadır. DRBL kurulumu için kullandığım CentOS, sadece temel (base) bileşenlerle kuruldu; yani mimimal bir kurulum yaptım. Eğer kurulum yapacağınız bilgisayarı sadece Clonezilla sunucusu olarak kullanmayı düşünüyorsanız size de sadece base paket grubunu kurmanızı öneririm.
Ayrıca ben, client'lerin disk image'lerini tutmak için yüksek kapasiteli ikinci bir disk kullanıyorum. Eğer bu imkanınız varsa depolama için ikinci bir disk kullanmanızı tavsiye ederim.
Genel bilgilerden sonra kurulum ile ilgili konulara geçelim.
HAZIRLIK
Biraz önce de bahsettiğim gibi Clonezilla Server kurmak için sisteme DRBL kurmak yeterli. DRBL kurulumu için öncesinde OS tarafında bir iki küçük hazırlık aşaması var. Önce buradan başlayalım.
1 – NetworkManager'ı devredışı bırakın
Normalde CentOS üzerinde bu servis default olarak kapalı geliyor. Dolayısı ile eğer temel bileşenlerle yeni bir CentOS kurulumu yaptıysanız bu adımı geçebilirsiniz.
Fakat eğer sisteminizde NetworkManager çalışır durumdaysa, bu servisi kapatmanız öneriliyor.
Çalışıp çalışmadığını kontrol etmek için aşağıdaki komutu kullanabilirsiniz.
# chkconfig --list |grep NetworkManager
Kapalı durumda ise çıktı şu şekilde olmalıdır. Eğer kapalı ise 2. adımdan devam edebilirsiniz.
NetworkManager 0:off 1:off 2:off 3:off 4:off 5:off 6:off NetworkManagerDispatcher 0:off 1:off 2:off 3:off 4:off 5:off 6:off
Ancak NetworkManager sisteminizde çalışır durumdaysa, kaldırıp sadece network servisini çalışır konuma getirmeniz tavsiye edilir. Bunun için Redhat, Centos ve Fedora gibi dağıtımlarda aşağıdaki adımları uygulayabilirsiniz.
# chkconfig --del NetworkManager # chkconfig --del NetworkManagerDispatcher # chkconfig Network on
Şimdi, NetworkManager servisi sistemden kaldırıldı ve yerine sadece network servisi start edildi.
NOT:Bu işlemi yapabilmek için NetworkManager servisinin kullanılmadığından emin olmalısınız. |
2 – Firewall ve SELinux'u devre dışı bırakın
Normalde, Firewall'u devre dışı bırakmanız son derece gerekli değil. Ancak ben Clonezilla'yı LAN'da çalıştırdığım ve networkün giriş noktasında zaten bir Firewall olduğu için devre dışı bırakıyorum. Siz devre dışı bırakmak istemezseniz, Firewall kurallarınızı NFS, NIS, tftp, ve dhcp servislerine erişime izin verilecek şekilde düzenlemeniz gerekmekte.
Firewall'u devre dışı bırakmak için:
# service iptables stop # service ip6tables stop # chkconfig --level 23456 iptables off # chkconfig --level 23456 ip6tables off
Şimdi de SELinux'u devre dışı bırakalım:
system-config-securitylevel-tui komutunu vererek Firewall Configuration'a girin ve Security Level ve SeLinux'u disabled konuma getirin.
NOT: Eğer bu işlemi yapmaz ve firewall'a NFS, DHCP vs. gibi servisler için izin kuralları oluşturmazsanız DRBL çalışmayacaktır. |
âââââââââââââ⤠Firewall Configuration âââââââââââââ
â â
â A firewall protects against unauthorized â
â network intrusions. Enabling a firewall blocks â
â all incoming connections. Disabling a firewall â
â allows all connections and is not recommended. â
â â
â Security Level: ( ) Enabled (*) Disabled â
â â
â SELinux: Enforcing â
â Permissive â
â Disabled â
â â
â ââââââ âââââââââââââ ââââââââââ â
â â OK â â Customize â â Cancel â â
â ââââââ âââââââââââââ ââââââââââ â
â â
â â
ââââââââââââââââââââââââââââââââââââââââââââââââââââ
3 – IDE Disklerinizin DMA mode'unu ON durumuna getirin
Eğer sistemde bulunan diskleriniz IDE ise, performans artışı sağlamak için DMA mode'unu ON durumuna getirin. Ancak diskleriniz SATA, SCSI vs. ise bu bölümü geçip adım 4'ten devam edebilirsiniz.
Bir IDE diskin dma mode'unun on ya da off olduğunu öğrenmek için aşağıdaki örnek komutu kullanabilirsiniz.
# hdparm /dev/hdx
Benim Primary IDE diskim sistemde hda1 ismi ile temsil ediliyor. Dolayısı ile ben komutu hdparm /dev/hda1 olarak çalıştırdım. Burada sizin de kendi disk partisyon ismini vermeniz gerekir. (isimlere df komutu ile bakabilirsiniz.)
Komutun çıktısı şu şekilde olmalıdır:
/dev/hda1:
multcount = 16 (on)
IO_support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 0 (off) (off)
readahead = 256 (on)
geometry = 16383/255/63, sectors = 208782, start = 63
Görüldüğü gibi ON durumda. Ancak eğer çıktıda OFF görüyorsanız mesela hda1 disk bölümü için aşağıdaki komutu kullanarak ON duruma getirebilirsiniz.
hdparm -d1 -c3 -k1 /dev/hda1
Bu şekilde DMA mode'un devreye alıp diskin erişim hızını arttırmış oluyorsunuz.
4 – Ethernet(lerinizi) yapılandırın
Ethernet yapılandırması ile ilgili olarak öneriler muhtelif. Eğer tek ethernet kartınız varsa -ki ben tek ethernet ile ilgili yapılandırmayı anlatacağım- varolan ethernet kartınıza ikinci bir ip adresi tanımlamanız (alias ip) gerekiyor. Zira, yazının başında da anlattığım gibi DRBL server üzerinde NFS, NIS ve DHCP gibi servisler çalışıyor ve bu servisleri halihazırdaki ip networkünüz için çalıştırmak yerine ethernet kartınızda yapacağınız alias ip tanımlaması ile başka bir ip networkü üzerinden sağlıyorsunuz. Örneğin, LAN'da 192.168.0.0/24 c class ip networkü kullanıyorsanız DRBL ortamı için 192.168.100.0/24 ip networkünü kullanıyorsunuz. DHCP, NFS ve NIS bu ip networkü için hizmet veriyor. Bu şekilde LAN'ın yapısını bozmadan DRBL ortamını başka bir ip networkünde çalıştırmış oluyorsunuz.
Dediğim gibi ben alias ip tanımlaması yöntemini kullandım. Ancak siz aynı işi birden fazla ethernet kullanarak da yapabilirsiniz. Buradaki amaç da aynı şekilde, DRBL ortamının genel ip networkünden ayrılmasından ibaret. İlerleyen bölümlerde bu konuya özellikle DHCP ile ilgili olarak daha fazla değineceğim ve aklınızda kalması muhtemel soru işaretlerine yanıt bulunmuş olacak.
Sisteminizde eth0 ismi ile temsil edilen tek bir ethernet kartı olduğunu ve LAN'da 192.168.0.0/24 ip bloğunun kullanıldığını düşünürsek DRBL ortamı için kullanılacak ip alias işlemini şu şekilde yapabilirsiniz.
/etc/sysconfig/network-scripts/ dizini altında ifcfg-eth0:1 isimli yeni bir dosya açın.
# vi /etc/sysconfig/network-scripts/ifcfg-eth0:1
Editlediğiniz bu dosya içerisine aşağıdaki satırları girin.
DEVICE=eth0:1 BOOTPROTO=static BROADCAST=192.168.100.255 IPADDR=192.168.100.254 NETMASK=255.255.255.0 NETWORK=192.168.100.0 ONBOOT=yes
Şimdi network servisini restart edelim ve alias ip tanımlaması devreye girsin.
# service network restart
Artık ethernet üzerinde iki farklı ip bloğuna ait iki farklı ip adresi bulunuyor olmalı. ifconfig komutu ile kontrol ederek aşağıdaki gibi bir çıktı alıp almadığınıza bakarak durumdan emin olun.
eth0 Link encap:Ethernet HWaddr 00:0C:76:5D:E2:EF inet addr:192.168.0.254 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::20c:76ff:fe5d:e2ef/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:26419 errors:0 dropped:0 overruns:0 frame:0 TX packets:10026 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2222231 (2.1 MiB) TX bytes:1243894 (1.1 MiB) Interrupt:185 Base address:0xcd00 eth0:1 Link encap:Ethernet HWaddr 00:0C:76:5D:E2:EF inet addr:192.168.100.254 Bcast:192.168.12.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:185 Base address:0xcd00
DRBL ortamı için eth0:1 isimli bir alias oluşturuldu ve 192.168.100.254 ip adresi verildi. eth0 üzerinden normal LAN erişimi, DRBL ortamı içinse eth0:1 interface'i kullanılacak.
Bu noktada network ve ip adresleri ile ilgili biraz daha geniş bilgi vermek yerinde olur.
Tek ethernet kartı üzerinde alias tanımlaması yaparak DRBL ortamı kullanmanız durumunda, DHCP'nin, clientlera MAC adresleri vasıtası ile sürekli aynı IP'yi ataması ve MAC adresi tanımlanmamış clientlar için IP atama işlemi yapmaması sağlanmalıdır. Bilindiği gibi DHCP sunucusu networkteki bilgisayarlara MAC adreslerine göre IP adresi atayabildiği gibi, “range” denilen yöntem ile belli bir ip havuzu içerisinden kafasına göre ip atama işlemi de yapabilmektedir.
Biraz daha açarsak, MAC uygulaması yapmadan range özelliğini kullanma yoluna giderseniz, networkteki tüm makinelere IP adresi atanabilir olur. Bunun sebebi de networkteki clientlerın eth0 interface'i ile aynı netwörkte oluşundan dolayı DRBL ile konuşabilmeleridir. Ayrıca, clientler herzaman aynı IP adresini de alamadıkları için restore konusunda sorunlar çıkabilir. Neyseki biz DRBL sunucusu ile konuşacak olan client'ler için MAC adresinden statik IP atanması işlemini kullanacağız.
Son olarak, networkünüzde halihazırda bir DHCP sunucusu varsa; DRBL'nin DHCP sunucusunun sadece networkten boot edilen bilgisayarlara hizmet verecek şekilde ayarlanması gibi yöntemler mevcut. Buna ilerleyen bölümlerde tekrar değineceğim.
OS tarafında yapılması gereken ayarlar bunlardı. Şimdi kuruluma geçebiliriz.
KURULUM
Yazının başında belirttiğim gibi DRBL'nin oldukça kolay bir kurulumu var. Adımları sırası ile uygulayarak kısa bir süre içerisinde DRBL sunucusunu (dolayısı ile Clonezilla Server'ı) kurabilirsiniz.
Ben kurulumu /usr/src dizininde DRBL isimli bir dizin içerisinde yapıyorum. Siz de bu şekilde yapabilirsiniz.
# mkdir /usr/src/DRBL # cd /usr/src/DRBL
Dizini oluşturduktan ve içerisine girdikten sonra DRBL'nin GPG key'ini download edip, rpm sistemine import edeceğiz.
Bu işi yapmanın iki yolu var.
1. Seçenek
# wget http://drbl.nchc.org.tw/GPG-KEY-DRBL # rpm --import GPG-KEY-DRBL
NOT: key'i sourceforge'dan da download edebilirsiniz.wget http://drbl.sourceforge.net/GPG-KEY-DRBL |
2. Seçenek
# gpg --keyserver subkeys.pgp.net --recv-key D7E8DF3A # gpg -a --export D7E8DF3A > GPG-KEY-DRBL # rpm --import GPG-KEY-DRBL
Şimdi DRBL paketini download edebiliriz.
http://drbl.sourceforge.net/download/sourceforge/ adresinden Stable sürümünün RPM dosyasını sisteminize download edin.
Örnek: (Şu anki son sürüm 1.9.2-19)
# wget http://puzzle.dl.sourceforge.net/sourceforge/drbl/drbl-1.9.2-19.i386.rpm
Download ettiğimiz RPM paketini sisteme kuralım.
NOT: Normal rpm kurulumu yapmak için “rpm -ivh” komutunu kullanırsanız ve perl-Digest-SHA1 isimli perl modülü sistemde yüklü değilse, önce bu paketin kurulmasını isteyen uyarıyı alırsınız ve yükleme işlemi durdurulur. Dependencies işleri ile ilgilenmemek için en güzel yol yum ile kurulum yapmaktır. Yum ilgili perl modülünü de sisteme yükleyecektir. |
# yum install drbl-1.9.2-19.i386.rpm
Herhangi bir hata almadıysanız DRBL rpm paketi sisteme yüklendi. Artık aşağıdaki komutu vererek kurulumun son aşamasına geçebiliriz.
Bu komut kurulumu tamamlamak ve genel konfigurasyon için çeşitli sorular soracak ve vereceğiniz yanıtlardan yola çıkarak DRBL için gerekli paketleri download ederek ve kurulumu otomatik olarak yapacaktır.
# /opt/drbl/sbin/drblsrv -i
İlgili soruları ve vermeniz gereken cevapları içeren ekran çıktısı şöyle.
*****************************************************. Hint! When a yes/no option is available, the default value is uppercase, Ex. (y/N), the default is "N", when you press "Enter", it will use "N". If you are not sure which one to choose, you can just press "Enter" key. Büyük harf ile belirtilen "N" harfi "Hayır" anlamındadır ve öntanımlı değerdir. Eğer direk "Enter" tuşuna basarsanız otomatik olarak "Hayır" cevabı verilmiş olur. *****************************************************. *****************************************************. Installing DRBL for RedHat/Fedora Linux... The version number for your OS: CO5.2 *****************************************************. Do you want to set the proxy server ? [y/N] Proxy sunucusu kullanmak istiyor musunuz ? "Hayır" *****************************************************. Importing the RPM GPG KEY from ...rpmk: no arguments given *****************************************************. Use the CO5.2 repository settings in /etc/yum.repos.d/. Seting the DRBL yum repository in /etc/yum.repos.d/... done! *****************************************************. Do you want to use the DRBL "unstable" packages which is much more powerful, but maybe very unstable (If you are super brave!!!) (If you downloaded the DRBL rpm package from the unstable directory, say "yes" here) ? [y/N] Kararlı olmayan DRBL versiyonunu kurmak ister misiniz ? "Hayır" Do you want to use the DRBL "testing" packages which is more powerful, but maybe buggy (If you are brave enough!!!) (If you downloaded the DRBL rpm package from the testing directory, say "yes" here) ? [y/N] Test aşamasındaki DRBL testing sürümünü kurmak ister misiniz ? "Hayır" *****************************************************. Try to find yum repository url... *****************************************************. Use yum repository in http://ftp.cc.uoc.gr/CentOS *****************************************************. Do you want to install those network installation boot images so that you can let client to install some GNU/Linux distributions (Debian, Ubuntu, RedHat Linux, Fedora Core, Mandriva, CentOS and OpenSuSE...) via network ? ///NOTE/// This action will download a lot of files (> 100 MB totally) from Internet, so it might take a few minutes. If your client machine has harddisk and it is possible you will install GNU/Linux into that, say Y here. If you say "no" here, feel free to run drbl-netinstall to install them later. [y/N]Bu adım, client bilgisayarlara network üzerinden bazı GNU/Linux işletim sistemlerini kurabilmek içindir ki benim buna ihtiyacım olmadığı için "Hayır" dedim. Ancak daha sonradan ihtiyaç olması halinde drbl-netinstall diyerek kurmak mümkün. "Hayır" *****************************************************. This GNU/Linux distribution uses one kernel to support SMP and non-SMP arch. *****************************************************. Do you want to use the serial console output for clients ? If you do NOT know anything about this, say "N" here, otherwise clients might show NOTHING on the screen ! [y/N] Clientlar için serial konsole output'u kullanmak ister misiniz ? "Hayır" *****************************************************. For the time being, only i686 kernel is officially supported in CentOS 5, no i386 or i586 kernel is available. For more info, check here: http://wiki.centos.org/QaWiki/CentOS5PentiumSupport Press "Enter" to continue... Enter ile devam edin. The CPU arch you specify: 2 The optimization for your system is on, the level is same as server. *****************************************************. Stopping service yum-updatesd to avoid locking problem... Stopping yum-updatesd: [ OK ] *****************************************************. Do you want to upgrade operating system ? [y/N] Sisteminizi upgrade etmek ister misiniz? "Hayır" *****************************************************. Trying to upgrade some necessary packages if available... *****************************************************. Prepare the kernel for client, searching available kernel in the repository... Available kernel: 1: kernel-2.6.18-92.1.10.el5.i686.rpm (in updates repository) 2: kernel-2.6.18-92.1.13.el5.i686.rpm (in updates repository) 3: kernel-2.6.18-92.1.17.el5.i686.rpm (in updates repository) 4: kernel-2.6.18-92.1.18.el5.i686.rpm (in updates repository) 5: kernel-2.6.18-92.1.1.el5.i686.rpm (in updates repository) 6: kernel-2.6.18-92.1.22.el5.i686.rpm (in updates repository) 7: kernel-2.6.18-92.1.6.el5.i686.rpm (in updates repository) 8: kernel-2.6.18-92.el5.i686.rpm (in release repository) 9: kernel_2.6.18-92.el5 i686 (from this DRBL server) Which kernel do you prefer for DRBL clients ? If you already updated your system, it is better to choose the kernel in updates, if not, better to choose that in release. [8] You choose 8. Clientlar için hangi kernel'in kullanılacağıyla ilgili bir soru. Enter ile default cevabı verin. Chosen kernel: kernel-2.6.18-92.el5.i686.rpm Searching i686 kernel in repository... Downloading i686 kernel-2.6.18-92.el5.i686.rpm from http://ftp.... Bu aşamada, gerekli olan tüm paketler download edilecek ve sisteme kurulacaktır... Biraz fazla download işlemi olduğundan dolayı biraz uzun sürecektir. Bu nedenle belki arada bir kahve içmek istersiniz ;)
Herşey yolunda gittiyse en sonda bir Done mesajı ile kurulum tamamlanmış olur.
Bundan sonra kurulumun son adımı olan yapılandırma ile ilgili kısma geçebiliriz.
YAPILANDIRMA
Şimdiki adım, DRBL ortamının yapılandırılması ile ilgilidir. Aşağıdaki komutu girerek bu işlemi başlatabilirsiniz. Bu adım da da kurulum sırasında olduğu gibi çeşitli sorulara cevap vermeniz istenecek.
İlgili soruları ve çıktıları hemen aşağıda bulabilirsiniz.
# /opt/drbl/sbin/drblpush -i
Aşağıda, bir yapılandırma işleminin tam çıktısını bulacaksınız. Sorulara verilen cevaplar, benim kendi tercihlerimdir. Dolayısı ile siz, kendinize göre farklı cevaplar da verebilirsiniz.
Ancak, örnek çıktıdaki cevaplar, sorunsuz olarak çalışmaktadır.
****************************************************** Hint! When a yes/no option is available, the default value is uppercase, Ex. (y/N), the default is "N", when you press "Enter", it will use "N". If you are not sure which one to choose, you can just press "Enter" key. ****************************************************** Searching the installed packages for DRBL server...This might take several minutes. Finished searching the installed packages for DRBL server. ****************************************************** ------------------------------------------------------ The interactive mode let you supply the information of your DRBL environment. ------------------------------------------------------ ------------------------------------------------------ Please enter DNS domain (such as drbl.sf.net): DNS domainini girin. Örn: test.net, test.local vs. [drbl.name] test.local Set DOMAIN as test.local ------------------------------------------------------ Please enter NIS/YP domain name: NIS servisinin alan adı. Enter ile geçin. [penguinzilla] Set DOMAIN as penguinzilla ------------------------------------------------------ Please enter the client hostname prefix: This prefix is used to automatically create hostname for clients. If you want to overwrite some or all automatically created hostnames, press Ctrl-C to quit this program now, edit /opt/drbl/conf/client-ip-hostname, then run this program again. DRBL clientler için hostname prefix'ini girin. Enter ile geçin. [Clonezilla] Set the client hostname prefix as Clonezilla ------------------------------------------------------ eth0: IP address 192.168.0.250, netmask 255.255.255.0 eth0:1: IP address 192.168.12.254, netmask 255.255.255.0 Configured ethernet card(s) found in your system: eth0 eth0:1 ------------------------------------------------------ The public IP address of this server is NOT found. Which ethernet port in this server is for public Internet accsess, not for DRBL connection ? Available ethernet ports in this server: eth0 (192.168.0.254), eth0:1 (192.168.100.254), Ethernet yapıladırması algılandı ve şimdi hangi interface'in public internet için kullanılacağının belirlenmesi isteniyor. Bizim örneğimizde, LAN bacağı eth0 DRBL bacağı eth0:1 isimli alias olduğundan dolayı burada LAN bacağı olan eth0'ı seçiyoruz. (Ön tanımlı olarak zaten eth0 gösterilmiş durumda.) Enter demeniz eth0'ı belirtmek için yeterlidir. Bu şekilde DRBL hizmetleri eth0:1 üzerinden verilecektir. [eth0] The ethernet port you choose for the WAN connection: eth0 The ethernet port(s) for DRBL environment: eth0:1 ****************************************************** ****************************************************** Now we can collect the MAC address of clients! If you want to let the DHCP service in DRBL server offer same IP address to client every time when client boot, and you never did this procedure, you should do it now! If you already have those MAC addresses of clients, you can put them into different group files (These files number is the same number of networks cards for DRBL service). In this case, you can skip this step. This step helps you to record the MAC addresses of clients, then divide them into different groups. It will save your time and reduce the typos. The MAC addresses will be recorded turn by turn according to the boot of clients, and they will be put into different files according to the network card in server, file name will be like macadr-eth1.txt, macadr-eth2.txt... You can find them in directory /etc/drbl. Please boot the clients by order, make sure they boot from etherboot or PXE! Do you want to collect them ? Şimdiki aşama, daha önceden de bahsettiğim gibi, DRBL üzerindeki DHCP sunucusunun clientlere MAC adreslerinden yola çıkarak sabit bir IP ataması ile alakalı. Biz DHCP'den ip atama işini MAC adreslerine göre yapacağız. Bu adıma yes diyeceğiz ve sonra networkteki clientlerden birisini ethernet üzerinden boot edeceğiz böylece DHCP sunucu, DHCP isteğinde bulunan bilgisayarların MAC adres bilgilerini öğrenip kaydedecek. Aslında bu adıma NO diyebilir, MAC tanımlamaları ile ilgili aşamaları manuel olarak daha sonra yapılandırabiliriz. Ama en azından, ilgili tanımlama dosyalarının oluşturulması ve daha sonra yaralanmak için bir örnek oluşturulması açısından YES diyeceğiz. Not: Netwörkünüzde hali hazırda bir DHCP sunucusu olabilir ve siz de netwörkte iki DHCP sunucusunun sorun teşkil edebileceğinden kaygılanıyor olabilirsiniz. Ancak, DRBL sunucusunun DHCP'si sadece ethetnet üzerinden boot edilecek clientlara IP ataması yapacağından, normal olarak boot edilen bilgisayarlarınıza IP atama teşebbüsünde bulunmayacaktır. Ayrıca, yapılandırma bittikten sonra DRBL'nin DHCP servisini, clientlar'a MAC adresinden atama yapacak şekilde yapılandıracağız. Dolayısı ile DHCP belirlediğimiz client bilgisayarlar için sadece ethernet üzerinden boot edildikleri zaman IP ataması yapacak. Bu nedenle rahat olabilirsiniz. Yes diyelim. [y/N] y ****************************************************** OK! Let's do it! request_eth_port:eth0:1 *****************************************************. Start detecting MAC address.... Enter 1 or press Enter to view the collecting status. Enter 2 or q to finish collecting and quit. Yukarıdaki soruya YES dedik ve DRBL, MAC adresi toplayabilmek için DHCP isteğinde bulunan bilgisayarları dinlemeye başladı. Şimdi,DRBL'den DHCP isteği yapmak üzere bir client bilgisayarı Network'ten boot edin. Boot sırasında, client ekranında DHCP ile ilgili istek satırlarının belirmesinden sonra 1 (bir) tuşuna basıp herhangi bir mac adresi collect edildi mi? diye bakın. Ben bu işlemi başlattıktan sonra Networkteki bir makineyi ethernet kartından boot ettim ve sonra DRBL'nin MAC'i algılayıp algılayamadığını kontrol için 1 (bir)'e bastım. Sonuç olarak aşağıda görüldüğü gibi ilgili bilgisayarın MAC adresi tanımlandı. 1 ======================================= 00:0C:29:FC:C3:D8 Total: 1 ======================================= Enter 1 or press Enter to view the collecting status. Enter 2 or q to finish collecting and quit. Bir client'i networkten boot ettik ve dhcp'den istekte bulunarak DRBL'ye kendi MAC adresini söylemesini sağladık. DRBL sunucu da bu MAC adresi için gerekli tüm tanımlamaları yaptı. Artık bir client için örnek bir yapılandırmamız olduğundan 2 tuşuna basıp MAC collecting işini sonlandırabiliriz. 2 *****************************************************. The collected MAC addresses from [eth0:1] are saved in file(s) separately: macadr-eth0:1.txt. These files are saved in directory /etc/drbl. Collect edilen MAC adresleri macadr-eth0:1.txt isimli bir dosyaya yazıldı ve ilgili dosya /etc/drbl dizinine kaydedildi. Bu dosyayı daha sonra manuel client tanımlaması yaparken kullanacağız. ****************************************************** OK! Let's continue... ****************************************************** Do you want to let the DHCP service in DRBL server offer same IP address to the client every time when client boots (If you want this function, you have to collect the MAC addresses of clients, and save them in file(s) (as in the previous procedure)). This is for the clients connected to DRBL server's ethernet network interface eth0:1 ? Bu aşamada, gene DHCP sunucusunun Clientlere MAC adreslerine göre IP ataması ile ilgili, buna da YES diyoruz. [y/N] y ****************************************************** OK! Please tell me the file name which contains the MAC address of clients line by line for eth0:1. MAC adreslerinin hangi dosyada tutulduğunu soruyor.(Cevabı da kendisi veriyor.) Enter ile devam edin. [macadr-eth0:1.txt] Hostmin: 192.168.12.1 ****************************************************** What is the initial number do you want to use in the last set of digits in the IP (i.e. the initial value of d in the IP address a.b.c.d) for DRBL clients connected to this ethernet port eth0:1. DRBL'nin clientlere atayacağı IP'lerle alakalı. Ben 10 dedim ve DRBL'nin DHCP servisi Client'lere MAC adreslerine göre 192.168.100.10'dan başlayarak ip verecek. [1] 10 ****************************************************** The file name you set is "macadr-eth0:1.txt". The clients number in this file is 1. We will set the IP address for the clients connected to DRBL server's ethernet network interface eth0:1 By the MAC address file you set, the IP addresses for the clients connected to DRBL server's ethernet network interface eth0:1 as: 192.168.100.10 - 192.168.100.10 MAC'lerin tutulduğu macadr-eth0:1.txt dosyasında 1 adet MAC girdisi olduğunu belirledi ve bu MAC'li ethernet kartına sahip bilgisayar için 192.168.100.10 numaralı IP'nin set edileceğini söyledi. Eğer biraz önceki collect işleminde networkümüzdeki tüm makineleri ethernet üzerinden boot edip, MAC adreslerinin DRBL tarafından collect edilmesini sağlasaydık, ilgili dosyada networkteki makine kadar MAC adresi tanımlanacak ve örneğin networkte 100 bilgisayar bulunuyorsa atanacak ip aralığı 192.168.100.10 ve 99 arası olacaktı. Ancak biz, tüm makineleri ethernet üzerinden boot etmek gibi zahmetli bir iş yapmayacağız. Bunun yerine daha sonra istediğimiz client bilgisayarlar için manuel ayarlamalar yapacağız. Neyse konumuza geri dönelim; YES diyoruz. Accept ? [Y/n] ****************************************************** OK! Let's continue... ****************************************************** The Layout for your DRBL environment: ****************************************************** NIC NIC IP Clients +-----------------------------+ | DRBL SERVER | | | | +-- [eth0] 192.168.0.254 +- to WAN | | | +-- [eth0:1] 192.168.100.254 +- to clients group 0:1 [ 1 clients, their IP | | from 192.168.100.10 - 192.168.100.10] +-----------------------------+ ****************************************************** Total clients: 1 Burada, DRBL oluşturduğu yapılandırma ile ilgili şablonu gösteriyor. Durumu daha iyi kavramak için güzel bir şema. Şimdi Enter diyelim ve devam edelim. ****************************************************** Press Enter to continue... ****************************************************** ------------------------------------------------------ In the system, there are 3 modes for diskless linux services: [0] Full DRBL mode, every client has its own NFS based /etc and /var. [1] DRBL SSI (Single system image) mode, every client uses tmpfs based /etc and /var. In this mode, the loading and necessary disk space of server will be lighter. NOTE! (a) The client machine memory is recommended at least 256 MB. (b) The setting and config files of client will not be saved to the DRBL server! They are just used once and will vanish after the machine shutdowns! Besides, if you modify any file in the template client (located in /tftpboot/nodes) you have to run /opt/drbl/sbin/drbl-gen-ssi-files to create the template tarball in /tftpboot/node_root/drbl_ssi/. (c) If you want to provide some file to overwrite the setting in the template tarball when client boots, check /tftpboot/node_root/drbl_ssi/clients/00_README for more details. [2] I do NOT want to provide diskless Linux service to client. Which mode do you prefer ? Diskless Linux Service ile ilgili olarak seçebileceğiniz 3 mod bulunuyor. Full DRBL modu, DRBL üzerinde tüm clientler için NFS'den mount edilecek birer /etc ve /var dizini oluşturulmasından ibaret. Biz sadece Clonezilla kullanacağımız için burada 2 diyeceğiz ve herhangi bir DRBL modu kullanmayacağız. [0] 2 No diskless Linux for client is the system. ****************************************************** ****************************************************** ------------------------------------------------------ In the system, there are 3 modes available for clonezilla: [0] Full Clonezilla mode, every client has its own NFS based /etc and /var. [1] Clonezilla box mode, every client uses tmpfs based /etc and /var. In this mode, the loading and necessary disk space of server will be lighter than that in Full Clonezilla mode. Note! In Clonezilla box mode, the setting and config files of client will not be saved to the DRBL server! They just use once and will vanish after the machine shutdowns! [2] I do NOT want clonezilla. Which mode do you prefer ? Burada da Clonezilla ile ilgili mode'lardan birini seçmemiz söyleniyor. Biz Clonezilla Box modunu kullanacağız, bu modda, DRBL ile konuşan tüm client'lar için herhangi kalıcı bir dizin tutulmuyor; bu nedenle diski boşuna şişirmemiş oluyoruz. Clientlar için oluşturulan conf dosyaları geçici olacak ve client'ın kapatılmasından sonra DRBL sunucusundan silinecektir. Bu nedenle 1 diyelim. [0] 1 Clonezilla box mode is set, an elegant mode for clonezilla is on the way! ****************************************************** ****************************************************** ------------------------------------------------------ When using clonezilla, which directory in this server you want to store the saved image (Please use absolute path, and do NOT assign it under /mnt/, /media/ or /tmp/) ? Clonezilla ile alınan disk image dosyaları hangi dizinde bulunacak. Benim sistemim de /storage dizinine mount edilmiş ikincil bir disk bulunuyor. Dolayısı ile backup disk image dosyalarını bu dizinde bulundurmak için ilgili path'i belirttim. Siz kendi sisteminizde nerede tutmak istiyorsanız o path'i belirtin. Öntanımlı olarak /home altında partimag dizini kullanılmaktadır. [/home/partimag] /storage/disk-images Directory for clonezilla saved images: /storage/disk-images ------------------------------------------------------ If there is a local harddrive with swap partition or writable file system in your client machine, do you want to use that swap partition or create a swap file in the writable filesystem so that client has more memory to use ? (This step will NOT destroy any data in that harddisk) Client üzerinde swap alanlı bir local harddisk varsa, DRBL ortamının sunacağı GNU/Linux'a ait swap bölümünün bu harddisk üzerinde oluşturulması ile ilgili bölüm. Bu işlem herhangi bir data kaybına neden olmuyor. Default olarak Enter'a basıp Yes diyelim. [Y/n] ****************************************************** OK! We will try to create a swap space for your client if it has a local hard drive! ------------------------------------------------------ What's the maximun size (Megabytes) for the swap space ? We will try to allocate the swap space for you, if it's not enough, 60% of the free space will be used. Swap için ayrılacak MB cinsinden maximum alan. Default 128MB, ancak yeterli olmazsa boş alanın %60'ı kullanılacak. Buna da Enter ile defaul 128 cevabını verelim. [128] maxswapsize=128 ****************************************************** ------------------------------------------------------ Which mode do you want the clients to use after they boot ? "1": Graphic mode (X window system) (default), "2": Text mode. Client bilgisayarlar, networkten boot edildiği zaman DRBL tarafından sağlanacak GNU/Linux'un grafik arayüzü olsun mu ? Yoksa text modda mı açılsın. Text mod gayet başarılı ve yeterli, o nedenle ben 2 dedim. [1] 2 The clients will use text mode when they boot. ****************************************************** ------------------------------------------------------ Do you want to set the root's password for clients instead of using same root's password copied from server ? (For better security) Sunucunun root passwordu yerine, başka bir password kullanılsın mı ? Biz herhangi bir thin client uygulaması yapmayacağımız, dolayısı ile bir şifre yazmak zorunda kalmayacağımız için buna default cevap olan NO'yu verin. Enter. [y/N] OK! Let's continue... ------------------------------------------------------ Do you want to set the pxelinux password for clients so that when client boots, a password must be entered to startup (For better security) Client bilgisayarları networkten boot işlemi şifre ile korumaya alınsın mı ? Hayır. [y/N] OK! Let's continue... ------------------------------------------------------ Do you want to set the boot prompt for clients ? Client bilgisayar için bir boot promt set edilsin mi ? Evet. [Y/n] How many 1/10 sec is the boot prompt timeout for clients ? Boot promt kaç saniye dursun. Enter diyelim ve öntanımlı değer olan 7 saniye'yi belirtelim. [70] OK! Let's continue... ------------------------------------------------------ ------------------------------------------------------ Do you want to use graphic background for PXE menu when client boots ? Note! If you use graphical PXELinux menu, however client fails to boot, you can switch to text mode by running "/opt/drbl/sbin/switch-pxe-bg-mode -m text". PXE (network boot menüsü için grafik arkaplan kullanılsın mı?) Hayır. [y/N] Use graphic PXE Linux menu for client. ------------------------------------------------------ ------------------------------------------------------ By using alias interface, every client can have 2 IPs, one of them is private IP for clients connected to DRBL server, and the other is public IP for clients directly connected to WAN from switch! Do you want to setup public IP for clients ? Clientlar için public ip tanımlaması yapılsın mı ? Bu aslında DRBL'nin farklı kullanımları için geçerli bir soru. Biz sadece Clonezilla kullanacağımız için client makinelerde o anlamda herhangi bir ip tanımlaması yapmayacağız. Hayır diyip geçin. [y/N] ------------------------------------------------------ Do you want to let DRBL clients have an option to run terminal mode ? i.e. you want to let that client run remote display (which will mostly use resources of server), say "Y" here. Client bilgisayarlar için terminal servisi olsun mu ? Hayır Note! 0. If you say yes to this option, this will be a very limited environment for client, i.e. NO local access for USB, CD, audio, printer, etc. in client. 1. If your server is not powerful, say "no" here. 2. By saying "yes" here, we will turn on xdmcp, It is never a safe thing to turn on that. Setting up /etc/hosts.allow and /etc/hosts.deny to only allow local access is another alternative but not the safest. Firewalling port 177 is the safest if you wish to have xdmcp on. Read the manual for more notes on the security of XDMCP. Please set it by yourself! 3. If you say "yes" here, you might have to restart your desktop environment manager (gdm/kdm) later, remember to save your data before you close applications! Do you want to let client has an option to run terminal mode ? [y/N] OK! Let's continue... ------------------------------------------------------ ------------------------------------------------------ Do you want to let DRBL server as a NAT server ? If not, your DRBL client will NOT be able to access Internat.Clientlarin internete erişmesi için DRBL üzerinde NAT uygulaması olsun mu? Demin de dediğim gibi, client tarafında herhangi bir değişiklik yapmayacağız. İnternete herzamanki gibi erişecekler. Bu nedenle hayır diyip geçin. [Y/n] N This DRBL server does NOT provide NAT service, so your DRBL client will NOT be able to access Internat. ****************************************************** The running kernel in the server supports NFS over TCP! Note! If you change the running kernel in the server, and not sure whether the kernel supports NFS over udp or tcp, you'd better to re-run "drblpush -i" again to avoid the client boots in failure! Press Enter to continue... ------------------------------------------------------ Searching installed Etherboot files for dhcpd.conf... done! ****************************************************** The calculated NETWORK for eth0:1 is 192.168.12.0. ****************************************************** ****************************************************** We are now ready to deploy the files to system! Do you want to continue ? Warning! If you go on, your firewall rules will be overwritten during the setup! The original rules will be backuped as iptables.drblsave in system config directory (/etc/sysconfig or /etc/default). Yapılandırma ayarları tamam. Artık yes diyerek kurulumun yapılıp sonlandırılmasını sağlayabiliriz. YES diyelim. [Y/n] ****************************************************** OK! Let's do it! ------------------------------------------------------ Checking the necessary disk space... done! Copying the config file to /etc/drbl... done! Backup the original /etc/hosts as /etc/hosts.drblsave... done! Generate the /etc/hosts for clients connected to eth0:1... done! Cleaning the stale files of the diskless nodes if they exist... done! Backuping the old MAC address files... done! *****************************************************. *****************************************************. The version number for your GNU/Linux: CO5.2 Keeping the old common root files if they exist... Keeping old nodes if they exist... Creating common root files... This might take several minutes........... done! Update the kernel for client if necessary... The DRBL client uses i686 kernel with version 2.6.18-92.el5... Trying to update the /tftpboot/node_root/lib/modules/2.6.18-92.el5 from server's /lib/modules/... This might take several minutes... Found kernel modules in /lib/modules/2.6.18-92.el5 and its arch "i686" matches client's "i686"... Syncing /lib/modules/2.6.18-92.el5 to client's common root... Syncing /boot/*-2.6.18-92.el5* to client's common root... Generating the /tftpboot/node_root/lib/modules/2.6.18-92.el5/modules.dep Copying the directory /etc/ to clients common root /tftpboot/node_root... Cleaning the ssh key file ssh_host_dsa_key copied from server... done! Cleaning the ssh key file ssh_host_dsa_key.pub copied from server... done! Cleaning the ssh key file ssh_host_key copied from server... done! Cleaning the ssh key file ssh_host_key.pub copied from server... done! Cleaning the ssh key file ssh_host_rsa_key copied from server... done! Cleaning the ssh key file ssh_host_rsa_key.pub copied from server... done! Commenting the TCPwrapper related file /tftpboot/node_root/etc/hosts.deny copied from server... done! Commenting the TCPwrapper related file /tftpboot/node_root/etc/hosts.allow copied from server... done! The startup services for DRBL client are: firstboot netfs portmap crond nfslock sshd crond xfs ypbind kudzu haldaemon messagebus acpid gpm cups drblthincli mkswapfile arm-wol Using udev for clients... Warning! Unable to find the fine-tune file /opt/drbl/setup/files/RH/CO5.2/rc.sysinit.CO5.2.drbl, use /opt/drbl/setup/files/RH/rc.sysinit.default-RH.drbl as /etc/rc.d/rc.sysinit for DRBL clients! This may cause some problems to DRBL clients! Warning! Unable to find the fine-tune file /opt/drbl/setup/files/RH/CO5.2/halt.CO5.2.drbl, use /opt/drbl/setup/files/RH/halt.default-RH.drbl as /etc/init.d/halt for DRBL clients! This may cause some problems to DRBL clients! Deleting the accounts (except root) in the clients common root template... done! Enabling the NIS client in the common root template... done! Creating some necessary files in the clients common root template....... done! Creating DRBL client: Clonezilla0-110 192.168.12.10... Creating DRBL client: Clonezilla0-111 192.168.12.11... Template client for DRBL SSI is 192.168.12.10 Disable the password in pxelinux simple menu for all clients... Disabling PXE password in config file /tftpboot/nbi_img/pxelinux.cfg/default... done! Now add necessary services to this DRBL server: DHCP, TFTP, NFS, NIS... Generating the NFS exports for DRBL clients... Backup the original /etc/exports as /etc/exports.drblsave Exporting to clients by IP address line-by-line... Full DRBL or Full Clonezilla mode, exporting client's directories etc, var, root... The /etc/exports setting is ok now! This DRBL server does NOT provide NAT service, so your DRBL client will NOT be able to access Internet. Now stop the NAT service... Flushing firewall rules: [ OK ] Setting chains to policy ACCEPT: filter [ OK ] Unloading iptables modules: [ OK ] Now set the YP securenets... Backup the original /var/yp/securenets as /var/yp/securenets.drblsave The /var/yp/securenets setting is done! Update YP... Now add the service: dhcpd xinetd portmap iptables ypserv ypbind yppasswdd ypxfrd nfs nfslock Force to add dhcpd service in this RH-like DRBL server... Force to add xinetd service in this RH-like DRBL server... Force to add portmap service in this RH-like DRBL server... Force to add iptables service in this RH-like DRBL server... Force to add ypserv service in this RH-like DRBL server... Force to add ypbind service in this RH-like DRBL server... Force to add yppasswdd service in this RH-like DRBL server... Force to add ypxfrd service in this RH-like DRBL server... Force to add nfs service in this RH-like DRBL server... Force to add nfslock service in this RH-like DRBL server... Now start the service: dhcpd xinetd portmap iptables ypserv ypbind yppasswdd ypxfrd nfs nfslock Starting dhcpd: [ OK ] Starting xinetd: [ OK ] Stopping portmap: [ OK ] Starting portmap: [ OK ] Applying iptables firewall rules: [ OK ] Loading additional iptables modules: ip_conntrack_netbios_n[ OK ] Starting YP server services: [ OK ] Binding to the NIS domain: [ OK ] Listening for an NIS domain server.. Starting YP passwd service: [ OK ] Starting YP map server: [ OK ] Starting NFS services: exportfs: can't open /var/lib/nfs/rmtab for reading [ OK ] Starting NFS quotas: [ OK ] Starting NFS daemon: [ OK ] Starting NFS mountd: [ OK ] Stopping NFS locking: [ OK ] Stopping NFS statd: [ OK ] Starting NFS statd: [ OK ] Turn on ip_forward now. The GDM or KDM config file is NOT found! Skip setting the DM! Maybe you will not be able to make this DRBL server as thin client server! Clean all the previous saved config file if they exist...done! Turn on the boot prompt for PXE client...done! Turn off the thin client option in PXE boot menu...done! Modifying /tftpboot/nbi_img/pxelinux.cfg/default to let DRBL client use text PXE boot menu... done! Full DRBL mode. Remove clientdir opt for label drbl in pxelinux config... Setting drbl_mode="full_drbl_mode" in /etc/drbl/drbl_deploy.conf and /etc/drbl/drblpush.conf... done! Full clonezilla mode. Remove clientdir opt for label clonezilla in pxelinux configSetting clonezilla_mode="full_clonezilla_mode" in /etc/drbl/drbl_deploy.conf and /etc/drbl/drblpush.conf... done! You have to use "/opt/drbl/sbin/dcs" -> clonezilla-start to start clonezilla serivce, so that there will be a clonezilla menu when client boots *****************************************************. Enjoy DRBL!!! http://drbl.nchc.org.tw; http://drbl.name NCHC Free Software Labs, Taiwan. http://free.nchc.org.tw *****************************************************. If you like, you can reboot the DRBL server now to make sure everything is ready... (This is not necessary, just an option.). *****************************************************. DRBL server is ready! Now set the client machines to boot from PXE or Etherboot (refer to http://drbl.sourceforge.net for more details). NOTE! If Etherboot is used in client machine, version 5.4.0 or newer is required! PS. The config file is saved as /etc/drbl/drblpush.conf. Therefore if you want to run drblpush with the same config again, you may run it as: /opt/drbl/sbin/drblpush -c /etc/drbl/drblpush.conf Kurulum tamamlandı. Artık clonezilla serverımız kullanıma hazır. Kurulum satırlarında, sizin de görmüş olabileceğiniz gibi bazı warning mesajları bulunuyor. Bu uyarılar, CentOS 5 ile alakalı; CentOS 5 uyumlu bazı dosyalar bulunamadı ve yerine Redhat için olan dosyalar kullanılacak. Eh CentOS bir nevi Redhat olduğuna göre sorun yok. Şimdi sisteminizi restart edin. (Yukarıda dediği gibi aslında bu sadece herşeyin sorunsuz olduğuna emin olmak için bir tedbir.)
Şimdi ki adım, bizim tercih ettiğimiz kurulumdan sonra yapılması gereken küçük bir yapılandırma işlemini gerçekleştirerek kurulumu sonlandırmaktan ibaret.
KURULUMU SONLANDIRMA
Öncelikle, biz Clonezilla'nın servis vermesi için sadece bir tek client bilgisayarı set ettik. (Mac collecting sırasında ethernet üzerinden boot edilen client bilgisayar.) Bu işlemden hareketle Clonezilla sunucusu sadece o tek bilgisayar için yapılandırma işlemlerini gerçekleştirdi. Bunu bu şekilde yapmış olmamın iki nedeni var. Birincisi, elbette networkümdeki tüm bilgisayarları Mac toplama işlemi sırasında tek tek network üzerinden boot etmeye üşendim :) İkincisi de zaten tüm client bilgisayarlar için aynı anda yapılandırma işlemi yapılmasına gerek yok. Bir bilgisayarın disk image'i backuplanacağı zaman o client için bir iki conf dosyasını editleyerek manuel bir ekleme işlemi yapmak çok kolay. Üstelik bu işlemi bir kereye mahsus yapıyoruz.
Neyse, şimdi global olarak yapmamız gereken diğer küçük ayrıntılara bakalım.
Bildiğiniz gibi bir bilgisayarın disk image'ini backuplamak için, ilgili bilgisayarı ethernet üzerinden boot ediyoruz. Üzerindeki diskleri kaale almadan direk olarak DRBL (Clonezilla) sunucusu ile konuşan client bilgisayar, disk olarak DRBL sunucusu üzerindeki -bu iş için ayrıca oluşturulmuş- /etc, /var gibi dizinleri kendi üzerine NFS vasıtası ile mount ediyor. Bu şekilde client bilgisayar bir Linux işletim sistemi ile açılıyor. Bu noktada, demin de bahsettiğim gibi biz kurulumu sadece bir client bilgisayar için conf yapılacak şekilde ayarlamış ve o şekilde kurulumu sonlandırmıştık. Bu nedenle NFS ile ilgili permission işlemleri sadece ilgili bilgisayara atanacak IP adresi için set edildi. Örnekte 192.168.100.10 ip adresi için ayarlama yapıldı ve DRBL sunucusu üzerinden paylaşılacak olan ve clientlara GNU/Linux sağlayacak dizinlere NFS üzerinden erişim izni sadece 192.168.100.10 ip'sinden yapılabilir durumda set edildi. Bu durumda, NFS ile ilgili erişim izni yapılandırmasını düzenlememiz gerekiyor.
Şimdi bu işlemi yapalım.
/etc dizini altında bulunan exports isimli dosyayı açın.
# vi /etc/exports
Bu dosyanın içeriği şu anda şu şekilde;
/tftpboot/node_root 192.168.100.10(ro,sync,async,no_root_squash,subtree_check) /usr 192.168.100.10(ro,sync,async,no_root_squash,subtree_check) /opt 192.168.100.10(ro,sync,async,no_root_squash,subtree_check) /home 192.168.100.10(rw,sync,async,no_root_squash,no_subtree_check) /var/spool/mail 192.168.100.10(rw,sync,async,root_squash,no_subtree_check) /storage/disk-images 192.168.100.10(rw,sync,async,no_root_squash,no_subtree_check)
Görüldüğü gibi client bilgisayarlara mount edilecek dizinlere sadece 192.168.100.10 ip adresli bilgisayardan (MAC adresini collect edip DHCP'den 192.168.100.10 ip'si tanımlanan bilgisayardan) erişime izin var. Hal böyle olunca diğer bir IP üzerinden NFS mount işlemi yapılamaz durumda. Bu exports dosyası DRBL tarafından otomatik olarak generate edildi ve elindeki tek bilgisayar için bu satırları girdi.
Şimdi biz NFS dizinlerine networkümüzdeki tüm makinelerin ulaşabilmesi için exports dosyası içerisindeki tüm 192.168.100.10 bölümlerini 192.168.100.0/24 olacak şekilde değiştirelim ve dosyayı bu şekilide kaydedelim. Bu şekilde tüm c classtan erişime izin vermiş olacağız.
Dosya içeriği şu şekilde olmalıdır.
/tftpboot/node_root 192.168.100.0/24(ro,sync,async,no_root_squash,subtree_check) /usr 192.168.100.0/24(ro,sync,async,no_root_squash,subtree_check) /opt 192.168.100.0/24(ro,sync,async,no_root_squash,subtree_check) /home 192.168.100.0/24(rw,sync,async,no_root_squash,no_subtree_check) /var/spool/mail 192.168.100.0/24(rw,sync,async,root_squash,no_subtree_check) /storage/disk-images 192.168.100.0/24(rw,sync,async,no_root_squash,no_subtree_check)
Sonrasında da değişikliğin devreye girmesi için nfs servisini restart edelim.
# service nfs restart
Clonezilla server ile ilgili olarak genel yapılandırma bu kadar.
Yukarı Git
BACKUP VE RESTORE İŞLEMLERİ NASIL
Artık, Clonezilla Server ile network üzerinden disk image backup/restore işlemlerinin nasıl yapıldığına göz atalım. Ancak bu konuya aşağıdaki linkini gördüğünüz ikinci bölümde devam edeceğim.
Bkz: Clonezilla Server – Bölüm 2: Network üzerinden Backup ve Restore işlemleri
Kaynaklar:
http://drbl.sourceforge.net/
http://www.clonezilla.org/
http://drbl.sourceforge.net/one4all/
Bu yazılar da ilginizi çekebilir:
- Clonezilla Server – Bölüm 2: Backup ve Restore İşlemleri Nasıl ?
- FreeBSD 6.2 Kurulumu – Part I: Başlangıç
- FreeBSD 6.2 Kurulumu – Part IV: Post-Installation
- VMWare Üzerine Backtrack 4 Kurulumu
- FreeBSD 6.2 Kurulumu – Part II: Disk Partitions
Yorumlar
Trackbacks
Yorumda bulunun.
Harika bir anlatım. Elinize sağlık.
Özellikle çok bilgisayar olan sınıflarda kurulum ve yedekleme işini çok kolaylaştıracağa benziyor.
[Cevapla]
Ben uzun süredir clonezillayı kullanıyordum (7 dk da 22 gb lık imajı yazabiliyor:) ancak, harici disk+clonezilla live cd si şeklindeydi; server kurmayı denemek istememe rağmen zaman darlığı ve lab daki ağın problemleri yüzünden deneyememiştim.
sizin anlatımınız sayesinde artık çok da karmaşık gelmiyor server kurulumu, zaman bulup deneyeceğim, bu güzel site için teşekkür ederim
[Cevapla]
Hocam valla çok saolsun bence bu kadar iyi ve ayrıntılı anlatlabilirdi.
Yarın denemeyi düşünüyorum.
Bu basit anlatıma rağmen beceremezsem ki olabilir :) yardımcı olurmusunuz?
[Cevapla]
Elbette takildiginiz bir yer olursa yardimci olmaya calisirim.
[Cevapla]
Yanlış anlamıyorsam bu işlemi yapabilmek için server’ın durdurulması gerekiyor, öyle değil mi ?
Eğer öyle ise hiç durmaması gereken server sistemlerinin yedeklerini almak nasıl olacak ya da bu durumda durdurmadan almanın bir yöntemi var mı diye sormak istiyorum. Çalıştığım yer hastane ve normalde sistemlerin durdurulması neredeyse imkansız. Halbuki ben her gün ve hatta günde iki defa bu sistemlerin yedeklerinin alınmasını istiyorum. Bu durumda clonzilla ile bunu yapmak mümkün mü acaba ?
Saygılarımla,
Murat SALİHOĞLU
[Cevapla]
Selamlar,
Evet, backup islemi icin sunucunun durdurulmasi gerekiyor. Clonezilla online backup icin kullanilan bir yazilim degil malesef.
[Cevapla]
merhaba,
ben kurulum sırasında bir sorunla karşılaştım. herşeyi harfi harfine yapıyorum hem sanalda hemde gerçek kurulum yapılandırma ayarlarında
Prepare the kernel for client, searching available kernel in the repository…
kısmında server takılıyor ve ilerlemiyor. yani asagidaki asamaya gecemedim.
Available kernel:
1: kernel-2.6.18-92.1.10.el5.i686.rpm (in updates repository)
ne yapmama gerekli yada nerede bir yanlislik var bilgilendirirseniz sevinirim…
tesekkurler..
Levent ILHAN
[Cevapla]
Selamlar,
Available Kernel başlığı altında verilen listeden hangisini seçiyorsunuz ? Normalde kendi üzerinde bulunan (in release repository)kernel’i seçmek için herhangi bir şey seçmeden enter’a basabilirsiniz. Böylece öntanımlı olarak ilgili kernel kullanılır ve sorun çıkarmaması gerekir.
Ayrıca, yukarıda paste ettiğiniz kernel sürümüne bakılırsa eski DRBL’nin eski sürümünü kullanıyorsunuz. Makaleyi hazırlarken DRBL’nin son sürümü 1.9.2-19 idi ancak simdi 1.9.9.21 sürümü mevcut. Güncel sürümü indirdiğinize emin misiniz ?
http://drbl.sourceforge.net/download/sourceforge/stable/pkg-files.php
[Cevapla]
tekrar merhaba,
ilginize ve kısa sürede cevabınıza gerçekten çok teşekkür ediyorum. sorunum seçeceğim kernel listesinin gelmemesi.
yani : “Prepare the kernel for client, searching available kernel in the repository…” burada takılıyor kalıyor.
diğer konuda da versiyonu buraya yapıştırırken siteden copy paste ettim :) yoksa evet bende 1.9.9.21 versiyonunu kullandım. centos versiyonumda 5.2.
teşekkürler..
Levent İLHAN
[Cevapla]
Anlaşılan o ki sorunun spesifik bir nedeni yok. Fakat yeni sürüm DRBL ile 5.2 gibi eski bir sürüm CentOS kullanmanız probleme neden oluyor olabilir.
Sisteminizi CentOS 5.6’ya update edip kullanmayı denediniz mi ?
[Cevapla]
tekrar merhaba,
5.6 versiyonunda da aynı sorunla karşılaştım.
teşekkürler..
Levent İLHAN
[Cevapla]
Do you want to upgrade operating system ?
[y/N]
kismini N diyerek geciyorsunuz ve sonrasinda herhangi bir çıktı vermeden duruyor öyle mi ?
Eğer öyle ise kernel bilgilerini almaya çalışırken bir bağlantı sorunu yaşıyor olabilir. Bunu tamamen tahminen söylüyorum, herhangi bir dayanağım yok. Ancak taıkdığı sırada nereye bağlantı kurmaya çalıştığına (tcp state’ine vs. ) bakar mısınız ? Ayrıca iptables stopped durumda değil mi ?
[Cevapla]
tekrar merhaba nedenini bilmediğim bir sebeple sorunum çözüldü :) ancak ilginiz için teşekkür ederim. ancak sormak istediğim konu Murat Salihoğlu nunda değindiği online backup yapamaması. bunun için bir çözüm varmı. yani acronisin manager console ve acency uygulamasın gibi bir çözümü varmı yada bunun gibi çalışan bildiğiniz bir sistem varmı.
teşekkürler..
Levent İLHAN
[Cevapla]
Sorunu nasil cozdugunuz konusunda bilgi verebilir misiniz ? Belki ayni sorunu yasayanlar icin kaynak olabilir…
Online backup konusunda gelince, clonezilla’nin bu ozelligi yok, zira uzak sistemleri diskless olarak boot etmesi gerekiyor… Dolayısı ile yedeklemek istediginiz sistemleri networkten boot edecek sekilde restart etmeniz gerekiyor…
[Cevapla]
tam olarak bir teşhis koyamadım 10 15 defa aynı işlemi yaptık sonra sorun çözüldü ve kernel listesi geldi.
peki farklı linux çözümleri varmı online backup la ilgili?
teşekkürler.
Levent İLHAN
[Cevapla]
Image seklinde degil ama online ve merkezi backup çözümü olarak zmanda kullanabilirsiniz…
http://www.zmanda.com/amanda.html
[Cevapla]
Çok işime yaradı makaleniz. Allah razı olsun sizden. Sayenizde rahatlıkla Image aldım ve 40 küsür Bilgisayar aldığım Image’yi gönderdim.
[Cevapla]
Hocam öncelikle emeğinize sağlık çok güzel bir paylaşım olmuş. Acaba windows üzerine clonezilla server kurabilir miyiz? Yoksa illa linux tabanlı bir işletim sistemi mi istiyor bu program?
[Cevapla]
Teşekkür ederim.
Yanlızca Linux üzerinde çalıştırılabiliyor.
[Cevapla]
Merhaba Çağrıbey, Ben clonezilla serverı usb boot ettim. ama yedeği kurmaya çalışırken yedeğin olduğu usb yi görmüyor ve bu yüzden diğer bilgisayarlara image yükleyemiyorum. USB yedeği görmemesinin nedeni ne olabilir?
[Cevapla]
Merhaba Hocam, Uzun zamandır clonezilla ile ilgili bu şekilde hazırlanan profesyonel bir makale arıyordum.
Benim sorum,
When using clonezilla, which directory in this server you want to store the
saved image (Please use absolute path, and do NOT assign it under /mnt/,
/media/ or /tmp/) ?
Yapıda kullandığım nas smb serveri kullanmak istiyorum. Etki alanı kullanıcı adı ve şifre var. Bunu nasıl yapabilirim?
Şimdiden çok teşekkür ederim.
[Cevapla]
Selamlar,
Bunun için clonezilla dökümanlarına bakmak lazım. Öyle bir desteği olmayabilir. Bu durumda NFS kullanmak bir çözüm olabilir.
[Cevapla]
Cevabınız için Teşekkür ederim. Ben clonezilla drbl server’ı virtualbox üzerine kurdum. Clonezilla’yı fiziksel yapımda kullanmak istiyorum. Fakat yapıda server2008 dhcp server’ı ile çakışma oluyor. server2008 dhcp server’ı stop ettiğimde problem yaşamıyorum. start ettiğimde aşağıdaki uyarıyı alıyorum. DRBL dhcp server üzerinde yapmam gereken ayarları paylaşabilirseniz müthiş bir çalışma yapmış olacağım. Çok Teşekkür ederim, iyi çalışmalar.
Only IP address offered by this DHCP server name will be accepted:
Unable to obtain IP address via wired link [eth0]!
**********************************************************************
FATAL ERROR: Failed to mouth root filesystem!!! Please check:
1. Is the driver of the network card loaded successfully in this computer? Press Shift-Page Up to check the message in the screen. If not, maybe this network card is too new so in this kernel “3.2.0-4-amd64” a suitable driver is not available! Run /bin/ls_pciid.sh then compare the results with the file /usr/lib/mkpxeinitrd-net/initrd-skel/etc/pcitable in the DRBL server.
2. The TCPwrapper setting (/etc/hosts.allow and /etc/hosts.deny) and firewall rules in your DRBL server, do you block the clients?
3. Is there any other DHCP server (server name is NOT “drbl”) in this subnet, and you force client to get IP address from DHCP server (server name is “drbl”)?
4. The DRBL server is able to reverse-map this client IP address to obtain hostname.**********************************************************************
/bin/sh: can’t access tty; job control turned off
[Cevapla]