Azure için Oracle Linux sanal makinesi hazırlama
Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Esnek ölçek kümeleri
Bu makalede, bir sanal sabit diske oracle Linux işletim sistemi yüklediğiniz varsayılır. .vhd dosyaları oluşturmak için birden çok araç vardır, örneğin Hyper-V gibi bir sanallaştırma çözümü. Yönergeler için bkz . Hyper-V Rolünü Yükleme ve Sanal Makine Yapılandırma.
Oracle Linux yükleme notları
- Linux'ı Azure için hazırlama hakkında daha fazla ipucu için bkz . Genel Linux Yükleme Notları .
- Bölünemez Kurumsal Çekirdek (UEK) veya Red Hat Uyumlu Çekirdek ile Hyper-V ve Azure desteği Oracle Linux.
- Oracle'ın UEK2'si Hyper-V ve Azure'da desteklenmez çünkü gerekli sürücüleri içermez.
- VHDX biçimi Azure'da desteklenmez, yalnızca sabit VHD'dir. Hyper-V Yöneticisi'ni veya convert-vhd cmdlet'ini kullanarak diski VHD biçimine dönüştürebilirsiniz.
- UDF dosya sistemlerini bağlamak için çekirdek desteği gereklidir. Azure'da ilk önyüklemede, sağlama yapılandırması Konuk'a bağlı UDF biçimli medya aracılığıyla Linux VM'ye geçirilir. Azure Linux aracısı, yapılandırmasını okumak ve VM'yi sağlamak için UDF dosya sistemini bağlayabilmelidir.
- Linux sistemini yüklerken LVM yerine standart bölümler kullanmanızı öneririz (çoğu yükleme için genellikle varsayılandır). Bu standart bölümler, özellikle sorun giderme için başka bir VM'ye bir işletim sistemi diski eklenmesi gerekiyorsa, kopyalanan VM'lerle LVM adı çakışmalarını önler. LVM veya RAID tercih edilirse veri disklerinde kullanılabilir.
- 2.6.37'den önceki Linux çekirdek sürümleri, daha büyük VM boyutlarına sahip Hyper-V üzerinde NUMA'nın desteklemiyor. Bu sorun öncelikli olarak yukarı akış Red Hat 2.6.32 çekirdeğini kullanan eski dağıtımları etkiler ve Oracle Linux 6.6 ve sonraki sürümlerde düzeltilmiştir.
- İşletim sistemi diskinde değiştirme bölümü yapılandırmayın.
- Azure'da tüm VHD'lerin 1 MB'a hizalanmış bir sanal boyutu olmalıdır. Ham diskten VHD'ye dönüştürürken, dönüştürmeden önce ham disk boyutunun 1 MB'ın katı olduğundan emin olmanız gerekir. Daha fazla bilgi için bkz . Linux Yükleme Notları .
- Deponun etkinleştirildiğinden
Addons
emin olun. Dosyayı/etc/yum.repos.d/public-yum-ol6.repo
(Oracle Linux 6) veya/etc/yum.repos.d/public-yum-ol7.repo
(Oracle Linux 7) düzenleyin ve satırıenabled=0
enabled=1
bu dosyadaki [ol6_addons] veya [ol7_addons] altında olarak değiştirin.
Oracle Linux 6.X
Önemli
Oracle Linux 6.x'in zaten EOL olduğunu göz önünde bulundurun. Oracle Linux sürüm 6.10, 07/2024 tarihinde sona erecek els desteğine sahiptir.
Sanal makinenin Azure'da çalışması için işletim sisteminde belirli yapılandırma adımlarını tamamlamanız gerekir.
Hyper-V Yöneticisi'nin orta bölmesinde sanal makineyi seçin.
Sanal makinenin penceresini açmak için Bağlan'a tıklayın.
Aşağıdaki komutu çalıştırarak NetworkManager'ı kaldırın:
sudo rpm -e --nodeps NetworkManager
Dekont
Paket henüz yüklü değilse, bu komut bir hata iletisiyle başarısız olur. Bu iletiler beklenir.
Dizinde
/etc/sysconfig/
aşağıdaki metni içeren network adlı bir dosya oluşturun:NETWORKING=yes HOSTNAME=localhost.localdomain
Dizininde
/etc/sysconfig/network-scripts/
aşağıdaki metni içeren ifcfg-eth0 adlı bir dosya oluşturun:DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp TYPE=Ethernet USERCTL=no PEERDNS=yes IPV6INIT=no
Ethernet arabirimleri için statik kurallar oluşturmaktan kaçınmak için udev kurallarını değiştirin. Bu kurallar, Microsoft Azure veya Hyper-V'de bir sanal makineyi klonlarken sorunlara neden olabilir:
sudo ln -s /dev/null /etc/udev/rules.d/75-persistent-net-generator.rules sudo rm -f /etc/udev/rules.d/70-persistent-net.rules
Aşağıdaki komutu çalıştırarak ağ hizmetinin önyükleme zamanında başlatıldığından emin olun:
sudo chkconfig network on
Aşağıdaki komutu çalıştırarak python-pyasn1'i yükleyin:
sudo yum install python-pyasn1
Grub yapılandırmanızdaki çekirdek önyükleme satırını, Azure için daha fazla çekirdek parametresi içerecek şekilde değiştirin. Bunu yapmak için metin düzenleyicisinde "/boot/grub/menu.lst" dosyasını açın ve çekirdeğin aşağıdaki parametreleri içerdiğinden emin olun:
console=ttyS0 earlyprintk=ttyS0
Bu ayar, tüm konsol iletilerinin ilk seri bağlantı noktasına gönderilmesini sağlar ve hata ayıklama sorunlarıyla ilgili Azure desteği yardımcı olabilir.
Yukarıdakilere ek olarak, aşağıdaki parametreleri kaldırmanızı öneririz:
rhgb quiet crashkernel=auto
Grafik ve sessiz önyükleme, tüm günlüklerin seri bağlantı noktasına gönderilmesini istediğimiz bir bulut ortamında kullanışlı değildir.
İsterseniz
crashkernel
seçenek yapılandırılabilir, ancak bu parametrenin VM'deki kullanılabilir bellek miktarını 128 MB veya daha fazla azalttığını ve daha küçük VM boyutlarında sorunlu olabileceğini unutmayın.SSH sunucusunun yüklendiğinden ve önyükleme zamanında başlatacak şekilde yapılandırıldığından emin olun. Bu genellikle varsayılandır.
Aşağıdaki komutu çalıştırarak Azure Linux Aracısı'nı yükleyin. En son sürüm 2.0.15'tir.
sudo yum install WALinuxAgent
WALinuxAgent paketinin yüklenmesi, 2. adımda açıklandığı gibi henüz kaldırılmamışsa NetworkManager ve NetworkManager-gnome paketlerini kaldırır.
İşletim sistemi diskinde değiştirme alanı oluşturmayın.
Azure Linux Aracısı, Azure'da sağlama sonrasında VM'ye bağlı yerel kaynak diskini kullanarak değiştirme alanını otomatik olarak yapılandırabilir. Yerel kaynak diski geçici bir disktir ve VM'nin yetkisi kaldırıldığında boşaltılabilir. Azure Linux Aracısı'nı yükledikten sonra (önceki adıma bakın), /etc/waagent.conf dosyasında aşağıdaki parametreleri uygun şekilde değiştirin:
ResourceDisk.Format=y ResourceDisk.Filesystem=ext4 ResourceDisk.MountPoint=/mnt ResourceDisk.EnableSwap=y ResourceDisk.SwapSizeMB=2048 ## NOTE: set this to whatever you need it to be.
Sanal makinenin sağlamasını kaldırıp Azure'da sağlama için hazırlamak için aşağıdaki komutları çalıştırın:
sudo waagent -force -deprovision sudo export HISTSIZE=0 sudo logout
Eylem -> Hyper-V Yöneticisi'nde Kapat'a tıklayın. Linux VHD'niz artık Azure'a yüklenmeye hazırdır.
Oracle Linux 7.0 ve üzeri
Oracle Linux 7'deki değişiklikler
Azure için Oracle Linux 7 sanal makinesi hazırlamak Oracle Linux 6'ya benzer, ancak dikkate değer birkaç önemli fark vardır:
- Oracle Linux'u Bölünemez Kurumsal Çekirdek (UEK) veya Red Hat Uyumlu Çekirdek ile Azure desteği. UEK ile Oracle Linux önerilir.
- NetworkManager paketi artık Azure Linux aracısı ile çakışmaz. Bu paket varsayılan olarak yüklenir ve kaldırılmaması önerilir.
- GRUB2 artık varsayılan önyükleme yükleyicisi olarak kullanıldığından çekirdek parametrelerini düzenleme yordamı değişmiştir (aşağıya bakın).
- XFS artık varsayılan dosya sistemidir. İsterseniz ext4 dosya sistemi hala kullanılabilir.
Yapılandırma adımları
Hyper-V Yöneticisi'nde sanal makineyi seçin.
Sanal makine için bir konsol penceresi açmak için Bağlan'e tıklayın.
Dizinde
/etc/sysconfig/
aşağıdaki metni içeren network adlı bir dosya oluşturun:NETWORKING=yes HOSTNAME=localhost.localdomain
Dizininde
/etc/sysconfig/network-scripts/
aşağıdaki metni içeren ifcfg-eth0 adlı bir dosya oluşturun:DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp TYPE=Ethernet USERCTL=no PEERDNS=yes IPV6INIT=no
Ethernet arabirimleri için statik kurallar oluşturmaktan kaçınmak için udev kurallarını değiştirin. Bu kurallar, Microsoft Azure veya Hyper-V'de bir sanal makineyi klonlarken sorunlara neden olabilir:
sudo ln -s /dev/null /etc/udev/rules.d/75-persistent-net-generator.rules
Aşağıdaki komutu çalıştırarak ağ hizmetinin önyükleme zamanında başlatıldığından emin olun:
sudo chkconfig network on
Aşağıdaki komutu çalıştırarak python-pyasn1 paketini yükleyin:
sudo yum install python3-pyasn1
Geçerli yum meta verilerini temizlemek ve güncelleştirmeleri yüklemek için aşağıdaki komutu çalıştırın:
sudo yum clean all sudo yum -y update
Grub yapılandırmanızdaki çekirdek önyükleme satırını, Azure için daha fazla çekirdek parametresi içerecek şekilde değiştirin. Bunu yapmak için metin düzenleyicisinde "/etc/default/grub" dosyasını açın ve parametresini
GRUB_CMDLINE_LINUX
düzenleyin, örneğin:GRUB_CMDLINE_LINUX="console=ttyS0 earlyprintk=ttyS0 net.ifnames=0"
Bu, tüm konsol iletilerinin hata ayıklama sorunlarıyla Azure desteği yardımcı olabilecek ilk seri bağlantı noktasına gönderilmesini de sağlar. Ayrıca, Bölünemez Kurumsal Çekirdek ile Oracle Linux 7'deki NIC'ler için adlandırma kurallarını kapatır. Yukarıdakilere ek olarak, aşağıdaki parametrelerin kaldırılması önerilir:
rhgb quiet crashkernel=auto
Grafik ve sessiz önyükleme, tüm günlüklerin seri bağlantı noktasına gönderilmesini istediğimiz bir bulut ortamında kullanışlı değildir.
İsterseniz
crashkernel
seçenek yapılandırılabilir, ancak bu parametrenin VM'deki kullanılabilir bellek miktarını 128 MB veya daha fazla azaltacağını ve daha küçük VM boyutlarında sorunlu olabileceğini unutmayın.Yukarıdaki başına "/etc/default/grub" düzenlemesini tamamladıktan sonra grub yapılandırmasını yeniden derlemek için aşağıdaki komutu çalıştırın:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
SSH sunucusunun yüklendiğinden ve önyükleme zamanında başlatacak şekilde yapılandırıldığından emin olun. Bu genellikle varsayılandır.
Azure Linux Aracısı'nı ve bağımlılıklarını yükleyin:
sudo yum install WALinuxAgent sudo systemctl enable waagent
Sağlamayı işlemek için cloud-init yükleme
sudo yum install -y cloud-init cloud-utils-growpart gdisk hyperv-daemons
cloud-init için waagent yapılandırma
sudo sed -i 's/Provisioning.UseCloudInit=n/Provisioning.UseCloudInit=y/g' /etc/waagent.conf sudo sed -i 's/Provisioning.Enabled=y/Provisioning.Enabled=n/g' /etc/waagent.conf
sudo echo "Adding mounts and disk_setup to init stage" sudo sed -i '/ - mounts/d' /etc/cloud/cloud.cfg sudo sed -i '/ - disk_setup/d' /etc/cloud/cloud.cfg sudo sed -i '/cloud_init_modules/a\\ - mounts' /etc/cloud/cloud.cfg sudo sed -i '/cloud_init_modules/a\\ - disk_setup' /etc/cloud/cloud.cfg
echo "Allow only Azure datasource, disable fetching network setting via IMDS"
sudo cat > /etc/cloud/cloud.cfg.d/91-azure_datasource.cfg <<EOF datasource_list: [ Azure ] datasource: Azure: apply_network_config: False EOF if [[ -f /mnt/resource/swapfile ]]; then echo Removing swapfile - Oracle Linux uses a swapfile by default swapoff /mnt/swapfile rm /mnt/swapfile -f fi echo "Add console log file" cat >> /etc/cloud/cloud.cfg.d/05_logging.cfg <<EOF # This tells cloud-init to redirect its stdout and stderr to # 'tee -a /var/log/cloud-init-output.log' so the user can see output # there without needing to look on the console. output: {all: '| tee -a /var/log/cloud-init-output.log'} EOF
Yapılandırmayı değiştirme. İşletim sistemi diskinde değiştirme alanı oluşturmayın.
Daha önce Azure Linux Aracısı, Azure'da sanal makine sağlandıktan sonra sanal makineye bağlı yerel kaynak diski kullanılarak değiştirme alanını yapılandırmak için otomatik olarak kullanılıyordu. Ancak, bu artık cloud-init tarafından işlenir, kaynak diskini biçimlendirmek için Linux Aracısı'nı kullanmamalısınız takas dosyasını oluşturun, aşağıdaki parametreleri
/etc/waagent.conf
uygun şekilde değiştirin:sudo sed -i 's/ResourceDisk.Format=y/ResourceDisk.Format=n/g' /etc/waagent.conf sudo sed -i 's/ResourceDisk.EnableSwap=y/ResourceDisk.EnableSwap=n/g' /etc/waagent.conf
Bağlama, biçimlendirme ve değiştirme oluşturmak istiyorsanız şunları yapabilirsiniz:
- Her VM oluşturduğunuzda bunu cloud-init yapılandırması olarak geçirin
- Vm her oluşturulduğunda bunu yapacak görüntüde pişirilen bir cloud-init yönergesi kullanın:
echo 'DefaultEnvironment="CLOUD_CFG=/etc/cloud/cloud.cfg.d/00-azure-swap.cfg"' >> /etc/systemd/system.conf cat > /etc/cloud/cloud.cfg.d/00-azure-swap.cfg << EOF #cloud-config # Generated by Azure cloud image build disk_setup: ephemeral0: table_type: mbr layout: [66, [33, 82]] overwrite: True fs_setup: - device: ephemeral0.1 filesystem: ext4 - device: ephemeral0.2 filesystem: swap mounts: - ["ephemeral0.1", "/mnt/resource"] - ["ephemeral0.2", "none", "swap", "sw,nofail,x-systemd.requires=cloud-init.service,x-systemd.device-timeout=2", "0", "0"] EOF
Sanal makinenin sağlamasını kaldırıp Azure'da sağlama için hazırlamak için aşağıdaki komutları çalıştırın:
sudo cloud-init clean sudo rm -f /var/log/waagent.log sudo waagent -force -deprovision sudo rm -f ~/.bash_history sudo export HISTSIZE=0
Dekont
Belirli bir sanal makineyi geçiriyorsanız ve genelleştirilmiş bir görüntü oluşturmak istemiyorsanız sağlamayı kaldırma adımını atlayın.
Eylem -> Hyper-V Yöneticisi'nde Kapat'a tıklayın. Linux VHD'niz artık Azure'a yüklenmeye hazırdır.
Sonraki adımlar
Artık Azure'da yeni sanal makineler oluşturmak için Oracle Linux .vhd'nizi kullanmaya hazırsınız. .vhd dosyasını Azure'a ilk kez yüklüyorsanız bkz . Özel diskten Linux VM oluşturma.