NFS Root Mekanizması
NFS desteği Linux'ta çok uzun yıllardır bulunmaktadır. Linux sisteminizden ağ üzerindeki herhangi bir veya birden çok NFS paylaşımını, çeşitli dizinlere mount etmek suretiyle kullanabilirsiniz.
Ancak kök dosya sistemi NFS üzerinden kullanmak, biraz daha farklı bir senaryodur. Sistem açıldıktan sonra, NFS yardımcı araçlarını kullanmak suretiyle paylaşımların mount edilmesi senaryosuna göre önemli farklar içerir.
Bu süreç NFS Root mekanizması olarak adlandırılır ve özellikle gömülü sistemlerde sıklıkla kullanılır. Çıkış amacı başlangıçta disksiz istemcileri ağdaki bir NFS paylaşımı üzerinden başlatmak olsa da, gömülü Linux sistemlerinin yaygınlaşmasıyla kullanım alanı da genişlemiştir.
Kök dosya sistemini NFS üzerinden alabilmek için çekirdek içerisinde aşağıdaki destekler aktif olmalıdır:
- TCP/IP katmanı
- Çekirdek seviyesinde statik veya dinamikIP yapılandırması desteği
- NFS istemci desteği
- NFS Root desteği
Bunları açacak olursak, TCP/IP protokolü gereken iletişim protokollerinin temelini sağlama noktasında mecburen gereklidir. Statik veya dinamik IP yapılandırmasından kasıt, henüz kök dosya sistemi mount edilmeden IP atama işlevlerini gerçekleştirdiğimiz ifconfig
gibi uygulamaları kullanamayacağımız için, Linux çekirdeğinin bize IP atama işlemleri için sunduğu olanaklar kümesidir. Her bir seçenek çekirdek derleme süreci içerisinde ayrı ayrı aktifleştirilebilmektedir. Statik IP ataması yapılabildiği gibi çekirdek seviyesinde basit bir DHCP istemci desteği de verilebilmektedir.
NFS istemci desteği, herhangi bir NFS paylaşımının mount edilebilmesi için gereklidir. NFS Root desteği ise, Linux çekirdeğinin normalde bir major:minor ile tanımladığı root dosya sisteminin ne olacağı bilgisini (root=/dev/sda1
, root=1f03
vb.) /dev/nfs
gibi pseudo aygıt dosyası üzerinden alabilmesi için gereklidir.
Tipik bir nfs root senaryosunda çekirdek parametreleri aşağıdaki gibi olur:
root=/dev/nfs nfsroot=SERVER_IP:NFS_SHARE_PATH,vers=3 ip=CLIENT_IP