Kurulum Sunucusu Ayarlama

Bu ek, daha önce Linux deneyimi olan kullanıcılar için hazırlanmıştır. Yeni bir kullanıcıysanız, bunun yerine asgari önyükleme ortamı veya dağıtım DVD’si kullanarak kurulum yapmak isteyebilirsiniz.

PXE Kurulumuna Genel Bakış

Preboot Execution Environment (Önyükleme Öncesi Yürütme Ortamı) veya PXE, bilgisayarların doğrudan ağ üzerinden sağlanan kaynaklardan önyükleme yapmasını sağlayan bir teknolojidir. Fedora’yı ağ üzerinden kurmak, kurulum ortamı oluşturmanız gerekmediği ve aynı anda birden fazla bilgisayara veya sanal makineye kurabilmeniz anlamına gelir. Süreç, gerekli kaynakları sağlamak için birlikte çalışan bir dizi bileşen ve özelliği içermektedir.

PXE özellikli bilgisayar

Çoğu modern bilgisayar, ağ üzerinden önyükleme özelliğine sahiptir. Genel olarak, önyükleme sırasında basılan bir işlev tuşu, bir önyükleme seçim menüsü getirecektir. Etkileşimsiz yönetim için tasarlanmış ortamlarda, sistemler genellikle önce ağdan önyüklemeyi deneyecek, ardından yerel depolamadan önyükleme yapacak şekilde yapılandırılacaktır ve kurulum sunucusu yalnızca gerektiğinde kurulumu sunacak şekilde yapılandırılır. Bilgisayarınızın kılavuzu, önyükleme önceliklerini ayarlama konusunda özel talimatlar sağlayacaktır.

DHCP Sunucusu

Bir sistem ağ üzerinden önyükleme sırasında bir adres istediğinde, DHCP sunucusu ayrıca önyükleme yapılacak dosyaların konumunu da sağlar. Bir ağda yalnızca bir DHCP sunucusu olmalıdır.

TFTP Sunucusu

Önyükleme öncesi ortam çok basit olduğundan, dosyalar çok basit bir şekilde sağlanmalıdır. Trivial File Transfer Protocol (Basit Dosya Aktarım Protokolü) veya TFTP, sisteme kurulum işlemine devam etmek için gereken önyükleyiciyi sağlar.

Önyükleyici

Bir işletim sistemini başlatma işi, önyükleme öncesi ortam için çok karmaşık olduğundan, çekirdeği ve ilgili dosyaları yüklemek için bir önyükleyici kullanılır. Ayrıca kurucuya yapılandırma bilgileri sağlar ve farklı yapılandırmalar arasından seçim yapmak için bir menü sunabilir.

Çekirdek ve Initramfs

Çekirdek, herhangi bir Linux işletim sisteminin çekirdeğidir ve initramfs, çekirdeğe gerekli araçları ve kaynakları sağlar. Bu dosyalar da tftp tarafından sağlanmaktadır.

Paket deposu

Kurulum için kullanılabilir bir Fedora deposu bulunmalıdır. Bu bölümdeki örnek, depo kaynağı olarak herkesin erişimine açık Fedora yansılarını kullanmaktadır, ancak NFS, FTP veya HTTP tarafından sağlanan yerel ağ üzerindeki bir depoyu da kullanabilirsiniz. Depolar, inst.repo= önyükleme seçeneği kullanılarak yapılandırılabilir; ayrıntılar için Kurulum Kaynağını Belirtme bölümüne bakın.

DHCP Sunucusunu Yapılandırma

dhcpd kurma ve yapılandırma
  1. dhcp sunucusu paketini kurun.

    # dnf install dhcp
  2. /etc/dhcp/dhcpd.conf konumunda dhcp sunucusu için basit bir yapılandırma oluşturun.

    subnet 192.168.1.0 netmask 255.255.255.0 {
    authoritative;
    default-lease-time 600;
    max-lease-time 7200;
    ddns-update-style none;
    
    option domain-name-servers 192.168.1.1;
    option routers 192.168.1.1;
    
    }
  3. Yapılandırmanızı test edin ve karşılaştığınız sorunları giderin.

    systemctl start dhcpd
    journalctl --unit dhcpd --since -2m --follow
  4. İstemcileri önyükleyicilerine ve onları sağlayan sunucuya yönlendirmek için /etc/dhcp/dhcpd.conf içindeki alt ağ yapılandırmanıza girdiler ekleyin. DHCP istemcileri, sunucuya adres istekleriyle birlikte tanımlayıcı bilgiler sağladığından, BIOS istemcileri ve UEFI istemcilerinin her biri doğru önyükleyiciye yönlendirilebilir.

    # olası mimari (arch) seçeneği değerleri için RFC4758'e bakın
    option arch code 93 = unsigned integer 16;
    
    subnet 192.168.1.0 netmask 255.255.255.0 {
    if option arch = 00:07 {
    filename "uefi/shim.efi";
    } else {
    filename "pxelinux.0";
    }
    
    next-server 192.168.1.2;
    
    ...
  5. Yapılandırmayı denetlemek ve gereken değişiklikleri yapmak için dhcp hizmetini yeniden başlatın.

    systemctl restart dhcpd
    journalctl --unit dhcpd --since -2m --follow

TFTP sunucusunu kurma

TFTP sunucusunu kurma
  1. tftp sunucusu paketini kurun.

    # dnf install tftp-server
  2. tftp soketini başlatın ve etkinleştirin. systemd, gerektiğinde tftpd hizmetini otomatik olarak başlatacaktır.

    # systemctl start tftp.socket
    # systemctl enable tftp.socket

PXE istemcileri için önyükleyiciyi sağlama ve yapılandırma

Önyükleyici dosyalarını edinme
  1. BIOS istemcileri için syslinux önyükleyicisini edinin.

    1. syslinux paketini kurun.

      # dnf install syslinux
    2. Önyükleyici dosyaları için bir dizin oluşturun ve bunları orada kullanılabilir hale getirin.

      # mkdir -p /var/lib/tftpboot/pxelinux.cfg
      # cp /usr/share/syslinux/{pxelinux.0,vesamenu.c32,ldlinux.c32,libcom32.c32,libutil.c32} /var/lib/tftpboot/
  2. UEFI sistemleri için önyükleyici dosyalarını edinin.

    1. shim ve grub2-efi paketlerini kurun. Sunucunuz bir BIOS sistemiyse, paketleri geçici bir kurulum köküne kurmalısınız. Bunları doğrudan bir BIOS makinesine kurmak, sistemi UEFI önyüklemesi için yapılandırmaya çalışacak ve sorunlara neden olacaktır.

      # dnf install shim grub2-efi-x64 --installroot=/tmp/fedora --releasever 28
    2. Önyükleyici dosyaları için bir dizin oluşturun ve bunları orada kullanılabilir hale getirin.

      # mkdir -p /var/lib/tftpboot/uefi
      # cp /tmp/fedora/boot/efi/EFI/fedora/{shim.efi,grubx64.efi} /var/lib/tftpboot/uefi/
İstemci önyükleyicilerini yapılandırma
  1. /var/lib/tftpboot/pxelinux.cfg/default konumunda BIOS istemcileri için bir önyükleme menüsü oluşturun.

    +

default vesamenu.c32
prompt 1
timeout 600

label linux
menu label ^Install Fedora {PRODVER} 64-bit
menu default
kernel f{PRODVER}/vmlinuz
append initrd=f{PRODVER}/initrd.img inst.stage2=http://download.fedoraproject.org/pub/fedora/linux/releases/{PRODVER}/Server/x86_64/os/ ip=dhcp

label server
menu label ^Install Fedora {PRODVER} ( Minimal Image )
menu default
kernel f{PRODVER}/vmlinuz
append initrd=f{PRODVER}/initrd.img inst.stage2=http://download.fedoraproject.org/pub/fedora/linux/releases/{PRODVER}/Server/x86_64/os/ ip=dhcp ks=https://example.com/fedora/kickstarts/minimal.ks

label rescue
menu label ^Rescue installed system
kernel f{PRODVER}/vmlinuz
append initrd=f{PRODVER}initrd.img ip=dhcp root=live:http://download.fedoraproject.org/pub/fedora/linux/releases/{PRODVER}/Server/x86_64/os/LiveOS/squashfs.img rescue

label local
menu label Boot from ^local drive
localboot 0xffff
  1. /var/lib/tftpboot/pxelinux/uefi konumunda UEFI istemcileri için bir önyükleme menüsü oluşturun.

    function load_video {
    	insmod efi_gop
    	insmod efi_uga
    	insmod video_bochs
    	insmod video_cirrus
    	insmod all_video
    }
    
    load_video
    set gfxpayload=keep
    insmod gzio
    
    menuentry 'Install Fedora 64-bit'  --class fedora --class gnu-linux --class gnu --class os {
    	linuxefi f28/vmlinuz ip=dhcp inst.repo=http://download.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/os/
    	initrdefi f28/initrd.img
    }
    
    menuentry 'Install Fedora 28 Server'  --class fedora --class gnu-linux --class gnu --class os {
    	kernel f28/vmlinuz
    	append initrd=f28/initrd.img inst.repo=http://download.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/os/ ip=dhcp ks=https://git.fedorahosted.org/cgit/spin-kickstarts.git/plain/fedora-install-server.ks?h=f21
    }
    
    menuentry 'Rescue installed system'  --class fedora --class gnu-linux --class gnu --class os {
    	kernel f28/vmlinuz
    	append f28/initrd=initrd.img root=live:http://download.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/os/LiveOS/squashfs.img rescue
    }

Çekirdek ve initrd edinme

Çekirdek ve initrd indirme
  1. Dosyalar için bir dizin oluşturun.

    # mkdir -p /var/lib/tftpboot/f28
  2. Çekirdeği indirin.

    # wget http://download.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/os/images/pxeboot/vmlinuz -O /var/lib/tftpboot/f28/vmlinuz
  3. Initrd’yi indirin.

    # wget http://download.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/os/images/pxeboot/initrd.img -O /var/lib/tftpboot/f28/initrd.img

Depoları sağlama

Bu bölümdeki örnekler, paket kaynağı olarak herkesin erişimine açık Fedora yansılarını kullanmaktadır. Daha hızlı kurulumlar, birçok sisteme kurulum veya daha fazla yalıtılmış ortamlar için yerel bir depo bulundurmak isteyebilirsiniz.

Fedora Altyapı ekibi, https://fedoraproject.org/wiki/Infrastructure/Mirroring adresinde yerel bir yansı yapılandırma talimatlarını bulundurmaktadır. Depo sağlamak için tercih edilen yöntem HTTP’dir ve httpd yapılandırması için https://docs.fedoraproject.org/ adresinde bulunan Fedora Sistem Yöneticisi Kılavuzuna başvurabilirsiniz.

Cobbler ile gelişmiş ağ kurulumları

Fedora, daha karmaşık ortamlar için cobbler kurulum sunucusunu sunmaktadır. Kickstart yapılandırmalarını yönetmek, depoları eş güdümlemek, dns kayıtlarını, dhcp sunucularını ve hatta puppet bildirimlerini sağlamak gibi görevler cobbler tarafından etkin bir şekilde otomatikleştirilir.

Cobbler tarafından sağlanan tüm özelliklerden yararlanmak nispeten basit olsa da, bu güçlü aracın tam işlevselliği bu kılavuzda belgelenemeyecek kadar geniştir. Cobbler topluluğu, Fedora deposundaki paketlere eşlik edecek belgelendirmeyi https://cobbler.github.io/ adresinde sağlamaktadır.

Alternatif olarak, Foreman ile de ilgilenebilirsiniz. Resmi belgelendirmeyi ve indirmeleri https://www.theforeman.org/ adresindeki proje web sitesinde bulabilirsiniz.