Örneğin: FreeBSD imajı¶
Bu örnek OpenStack ve bsd-cloudinit
ile uyumlu asgari bir FreeBSD imajı oluşturur. bsd-cloudinit
programı bağımsız olarak yönetilir ve etkin şekilde geliştirilmektedir. Projenin mevcut durumuyla ilgili en iyi bilgi kaynağı bsd-cloudinit adresindedir.
Sanallaştırma platformu olarak virtio sürücülerine sahip KVM kullanılır çünkü OpenStack işletenler arasında en yaygını budur. Bulut sanallaştırmanız için başka bir platform kullanıyorsanız, imaj oluşturma adımında bu aynı platformu kullanın.
Bu örnek FreeBSD 10 imajı oluşturmayı gösterir. FreeBSD 9.2 imajı oluşturmak için gerekli değişikliklerle beraber bu adımları takip edin.
Prerequisites¶
Bir sanal sürücü yapın:
$ qemu-img create -f qcow2 freebsd.qcow2 1G
FreeBSD için desteklenen en küçük disk boyutu 1 GB’dır. Amaç mümkün olan en küçük taban imajı oluşturmak olduğundan, bu örnek bu asgari boyutu kullanır. Bu boyut isteğe bağlı
doc
,games
, velib32
koleksiyonlarını içermeye yeter.ports
koleksiyonunu içermesi için, 1 GB daha ekleyin. ``src``yi eklemek için 512 MB ekleyin.Kurulum ISO’sunu al:
$ curl ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/10.1/FreeBSD-10.1-RELEASE-amd64-bootonly.iso \ > FreeBSD-10.1-RELEASE-amd64-bootonly.iso
Yerel iş istasyonunuzda bir sanal makine başlatın. Üretim ortamınızda kullandığınızla aynı hipervizörü, sanal diski, ve sanal ağ sürücülerini kullanın.
Aşağıdaki komut en düşüm RAM miktarını kullanır, 256 MB:
$ kvm -smp 1 -m 256 -cdrom FreeBSD-10.1-RELEASE-amd64-bootonly.iso \ -drive if=virtio,file=freebsd.qcow2 \ -net nic,model=virtio -net user
Kurulum sürecini daha hızlı hale getirmek için 1 GB’a kadar ek RAM belirtebilirsiniz.
Bu sanal makine paketleri indiribilmek için internet erişimine de ihtiyaç duyar.
Not
Aynı hipervizörü kullanarak, üretimde olan aygıtların aynısını taklit ettiğinizden emin olabilirsiniz. Ancak paravirtualization yerine tam donanımsal sanallaştırma kullanırsanız aynı hipervizörü kullanmanıza gerek kalmaz; aynı tür sanallaştırma donanımı kullanmanız gerekir çünkü FreeBSD aygıt isimleri sürücüleriyle ilişkilidir. Kök blok aygıtınızın ismi veya üretimdeki ana ağ arayüzünün ismi imaj oluşturulurkenki isimlerden farklıysa, hatalar oluşabilir.
Artık indirilen kurulum ISO’sundan ön yüklenen ve daha önce oluşturduğunuz boş sanal diske bağlı bir sanal makineniz var.
Installation¶
İşletim sistemini yüklemek için, sanal makine içinde aşağıdaki adımları tamamlayın:
Sorulduğunda, ISO’yu Kurulum kipinde çalıştırın.
Öntanımlı tuş eşlemini kabul edin veya ihtiyacınıza göre bir eşleşme seçin.
İmajınız için bir makine adı sağlayın.
bsd-cloudinit
kullanırsanız, bu imajdan ön yüklenen bir sunucu olduğundan OpenStack tarafından sağlanan isimle bu değerin üzerine yazar.İsteğe bağlı
doc
,games
,lib32
,ports
, vesrc
sistem bileşenleri sorulduğunda, yalnızca ihtiyacınız olanları seçin. Seçili ek bileşenler seçilmeden de tamamen işlevsel bir kuruluma sahip olunabilir. Daha önce belirtildiği gibi, 1 GB diske sahip asgari bir sistemdoc
,games
, velib32
destekler.ports
koleksiyonu en az 1 GB ek alan gerektirir ve başka türevler de yüklemeyi düşünüyorsanız muhtemelen daha çok gerekcektir.src
koleksiyonu ek 512 MB gerektirir.Ana ağ arayüzünü DHCP kullanacak şekilde yapılandırın. virtio ağ sürücüsünü kullanan bu örnekte, bu arayüzün adı ``vtnet0``dır.
Öntanımlı ağ yansısını kabul edin.
Disk bölümlendirmeyi ayarlayın.
Disk bölümlendirme imaj oluşturma sürecinin önemli bir elemanıdır ve otomatik üretilen öntanımlı bölümlendirme şeması şu an
bsd-cloudinit
ile çalışmamaktadır.Öntanımlı çalışmadığından, elle bölümlendirmeyi seçmelisiniz. Bölümlendirme düzenleyici yalnızca bir blok aygıt listelemelidir. Disk aygıt sürücüsü için virtio kullanırsanız, ismi
vtbd0
olacaktır. Bu aygıtı seçin ve create komutunu üç kere çalıştırın:Bölüm tablosu oluşturmak için :guilabel:`Oluştur`u seçin. Bölümlendirme tablosu olmadığında bu eylem öntanımlıdır. Ardından listeden :guilabel:`GPT GUID Bölümlendirme Tablosu`nu seçin. Bu seçim öntanımlıdır.
İki bölüm oluşturun:
İlk bölüm: Bağlama noktası olmayan 64 kB
freebsd-boot
bölümü.İkinci bölüm: Geri kalan tüm boş alanı alan
/
bağlama noktasına sahipfreebsd-ufs
bölümü.
Aşağıdaki şekil 1 GB sanal diske sahip tamamlanmış bir bölümlendirme tablosu gösterir:
:guilabel:`Bitir`i seçin ve değişiklikleri kaydetmek için :guilabel:`Gönder`e tıklayın.
Not
Bu örneği değiştirirseniz,
/
yoluna bağlı kök bölüm aygıttaki son bölüm olmalıdır böylece çalışma zamanında sunucu türünüzün sağladığı disk boyutuna genişleyebilir. Ayrıca ``bsd-cloudinit``in şu an bu bölümün son bölüm olduğunu varsaydığını not edin.
Bir root parolası seçin.
CMOS zaman dilimini seçin.
Sanallaştırılmış CMOS nerdeyse her zaman zamanı UTC’de tutar, aksi hakkında bilginiz yoksa, UTC seçin.
Ortamınıza uygun zaman dilimini seçin.
Önyüklemede başlatılacak servisler listesinden :guilabel:`ssh`ı seçmelisiniz. İsteğe bağlı olarak diğer servisleri de seçin.
İsteğe bağlı olarak kullanıcılar ekleyin.
Bu aşamada kullanıcı eklemenize gerek yok.
bsd-cloudinit
programı mevcut değilse birfreebsd
hesabı ekler. Bu kullanıcı içinssh
anahtarları OpenStack ile ilişkilendirilmiştir. Bu kullanıcı hesabını özelleştirmek için, şu an oluşturabilirsiniz. Örneğin, kullanıcı kabuğunu özelleştirmek isteyebilirsiniz.Son yapılandırma
Bu menü önceki ayarları güncellemenizi sağlar. Ayarların doğru olduğunu kontrol edin, ve :guilabel:`çıkış`a tıklayın.
Çıktıktan sonra, elle yapılandırma adımlarını tamamlamak için bir kabuk açabilirsiniz. Bir kaç OpenStack’e özel değişiklik yapmak için :guilabel:`Evet`e tıklayın:
Konsolu ayarlayın:
# echo 'console="comconsole,vidconsole"' >> /boot/loader.conf
Bu konsol çıktısını seri konsola gidecek şekilde ayarlar, bu da nova consolelog ile ve VNC veya Spice yapılandırılmış siteler için video konsoluyla görüntülenebilir.
Ön yükleme gecikmesini asgariye indirin:
# echo 'autoboot_delay="1"' >> /boot/loader.conf
En son ``bsd-cloudinit-installer``i indirin. İndirme komutları fetch komutunun HTTPS URL’leri ele alma şeklinde değişiklik sebebiyle FreeBSD 10.1 ve 9.2 arasında değişiklik gösterir.
FreeBSD 10.1’de fetch komutu SSL eşlerini öntanımlı olarak doğrular, yani sertifika otoritesi kök sertifikalarını içeren
ca_root_nss
paketini kurmalı ve fetch komutuna onları nerde bulabileceğini söylemelisiniz. FreeBSD 10.1 için şu komutları çalıştırın:# pkg install ca_root_nss # fetch --ca-cert=/usr/local/share/certs/ca-root-nss.crt \ https://raw.github.com/pellaeon/bsd-cloudinit-installer/master/installer.sh
FreeBSD 9.2 fetch https için eş onaylamayı desteklemez. FreeBSD 9.2 için şu komutu çalıştırın:
# fetch https://raw.github.com/pellaeon/bsd-cloudinit-installer/master/installer.sh
Yükleyiciyi çalıştırın:
# sh ./installer.sh
En son
bsd-cloudinit
paketini indirmek ve kurmak, ve gerekli bağımlılıkları yüklemek için bu komutu girin.sudo``yu kurun ve ``freebsd
kullanıcısı için parolasız erişimi yapılandırın:# pkg install sudo # echo 'freebsd ALL=(ALL) NOPASSWD: ALL' > /usr/local/etc/sudoers.d/10-cloudinit
Sistemi kapatın:
# shutdown -h now