Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Esnek ölçek kümeleri ✔️ Tekdüzen ölçek kümeleri
Bu makalede, Red Hat Enterprise Linux (RHEL) sanal makinesini (VM) Azure'da kullanmak üzere hazırlamayı öğreneceksiniz. Bu makalede ele alınan RHEL sürümleri 7.x, 8.X., 9.x'tır. Bu makalede ele alınan hazırlık hiper yöneticileri Hyper-V, çekirdek tabanlı VM (KVM), VMware ve Kickstart'tır.
Red Hat'in Bulut Erişimi programına katılım için uygunluk gereksinimleri hakkında daha fazla bilgi için Red Hat Cloud Access web sitesine ve Azure'da RHEL çalıştırma bölümüne bakın. RHEL görüntüleri derlemeyi otomatikleştirmenin yolları için bkz . Azure Görüntü Oluşturucusu.
Önkoşullar
Not
Bu belgede RHEL7'nin zaten dağıtıldığından ve tamamen lisanslandırıldığından söz edilir. EOL'ye ulaşan veya EOL'yi aşan karşıya yüklenen görüntüler, makul bir iş çabası kapsamında desteklenir. Daha fazla bilgi için bkz. Red Hat Ürün Yaşam Döngüleri.
RHEL yükleme notları
- Azure, VHDX biçimini desteklemez. Azure yalnızca sabit VHD destekler. Diski VHD biçimine dönüştürmek için Hyper-V Yöneticisi'ni veya cmdlet'ini
convert-vhdkullanabilirsiniz. VirtualBox kullanıyorsanız, diski oluştururken varsayılan dinamik olarak ayrılan seçeneğin aksine Sabit boyut'u seçin. - Azure, Nesil 1 (BIOS önyükleme) ve Nesil 2 (UEFI önyükleme) sanal makineleri (VM) destekler.
- VHD için izin verilen en büyük boyut 1.023 GB'tır.
- Vfat çekirdek modülü çekirdekte etkinleştirilmelidir.
- Mantıksal Birim Yöneticisi (LVM) desteklenir ve Azure VM'lerindeki işletim sistemi diskinde veya veri disklerinde kullanılabilir. Genel olarak, LVM yerine işletim sistemi diskinde standart bölümler kullanmanızı öneririz. Bu uygulama, özellikle sorun giderme için başka bir özdeş VM'ye bir işletim sistemi diski eklemeniz gerektiğinde, kopyalanan VM'lerle LVM ad çakışmalarını önler. Daha fazla bilgi için LVM ve RAID belgelerine bakın.
- Evrensel Disk Biçimi (UDF) dosya sistemlerini bağlamak için çekirdek desteği gereklidir. Azure'da ilk önyüklemede, ekli UDF biçimli medya sağlama yapılandırmasını Linux VM'ye geçirir. Azure Linux aracısı, yapılandırmasını okumak ve VM'yi sağlamak için UDF dosya sistemini bağlayabilmelidir. Bu adım olmadan kaynak sağlama başarısız olur.
- İşletim sistemi diskinde değiştirme bölümü yapılandırmayın. Daha fazla bilgi için aşağıdaki adımları okuyun.
- 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 aşağıdaki adımları okuyun. Ayrıca bkz. Linux yükleme notları.
Not
Cloud-init >= 21.2, UDF gereksinimini kaldırır. Ancak UDF modülü etkinleştirilmeden sağlanan CD-ROM bağlanamıyor ve özel verilerin uygulanmasını engelliyor. Geçici çözüm, kullanıcı verilerini kullanarak özel veriler uygulamaktır. Özel verilerden farklı olarak kullanıcı verileri şifrelenmez. Daha fazla bilgi için bkz . Kullanıcı veri biçimleri.
- Hyper-V Yöneticisi'nin kullanıldığı RHEL 7
- Hyper-V Yöneticisi'nin kullanıldığı RHEL 8/9/10
- KVM kullanan RHEL 7
- RHEL 8/9/10'un KVM kullanarak kullanımı
- VMware kullanan RHEL 7
- VMware kullanarak RHEL 8/9/10
- RHEL 7 için Kickstart kullanma
- RHEL 8/9/10'u Kickstart kullanarak
Hyper-V Yöneticisi'nde VM'yi seçin.
VM için bir konsol penceresi açmak için Bağlan'ı seçin.
Dosyayı oluşturun veya düzenleyin
/etc/sysconfig/networkve aşağıdaki metni ekleyin:NETWORKING=yes HOSTNAME=localhost.localdomainDosyayı oluşturun veya düzenleyin
/etc/sysconfig/network-scripts/ifcfg-eth0ve aşağıdaki metni ekleyin:DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp TYPE=Ethernet USERCTL=no PEERDNS=yes IPV6INIT=no PERSISTENT_DHCLIENT=yes NM_CONTROLLED=yesNot
Hızlandırılmış Ağ'ı kullandığınızda, sağlanan yapay arabirimin udev kuralı kullanılarak yönetilmeyen şekilde yapılandırılması gerekir. Bu eylem,
NetworkManager'in birincil arabirimle aynı IP'yi atamasını engeller.Uygulamak için:
sudo tee <<EOF /etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rules > /dev/null # Accelerated Networking on Azure exposes a new SRIOV interface to the VM. # This interface is transparently bonded to the synthetic interface, # so NetworkManager should just ignore any SRIOV interfaces. SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION!="remove", ENV{NM_UNMANAGED}="1" EOFAğ hizmetinin önyükleme sırasında başlatıldığından emin olun.
sudo systemctl enable networkRHEL deposundan paketlerin yüklenmesini etkinleştirmek için Red Hat aboneliğinizi kaydedin:
sudo subscription-manager register --auto-attach --username=XXX --password=XXXGrub yapılandırmanızdaki çekirdek önyükleme satırını, Azure için daha fazla çekirdek parametresi içerecek şekilde değiştirin. Bu değişikliği yapmak için bir metin düzenleyicisinde açın
/etc/default/grubve parametresiniGRUB_CMDLINE_LINUXdüzenleyin. Örneğin:GRUB_TIMEOUT=10 GRUB_CMDLINE_LINUX="console=tty1 console=ttyS0,115200n8 earlyprintk=ttyS0 net.ifnames=0 nvme_core.io_timeout=240" GRUB_TERMINAL="serial console" GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"Bu değişiklikler NIC'ler için yeni adlandırma kuralını kapatır, tüm konsol iletilerinin ilk seri bağlantı noktasına gönderilmesini sağlar ve hata ayıklama sorunlarında Aure desteğine yardımcı olabilecek konsolla etkileşimi etkinleştirir.
rhgb quiet crashkernel=autoGrafik ve sessiz önyüklemeler, tüm günlüklerin seri bağlantı noktasına gönderilmesini istediğiniz bulut ortamında kullanışlı değildir. İsterseniz seçeneği yapılandırılmış olarak bırakabilirsiniz
crashkernel. Bu parametre, VM'deki kullanılabilir bellek miktarını 128 MB veya daha fazla azaltır; bu da daha küçük VM boyutları için sorun olabilir.düzenlemeyi
/etc/default/grubtamamladı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.cfgNot
UEFI özellikli bir VM'yi karşıya yüklüyorsanız, grub'u güncelleştirmek için kullanılacak komut
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfgşeklindedir.SSH sunucusunun yüklü olduğundan ve önyükleme zamanında başlatacak şekilde yapılandırıldığından emin olun; bu genellikle varsayılandır. Aşağıdaki satırı içerecek şekilde değiştirin
/etc/ssh/sshd_config:ClientAliveInterval 180WALinuxAgent paketi,
WALinuxAgent-<version>Extras deposundan kullanılabilir.sudo subscription-manager repos --enable=rhel-7-server-extras-rpmsAzure Linux aracısını,
cloud-initve diğer gerekli yardımcı programları yükleyin:sudo yum install -y WALinuxAgent cloud-init cloud-utils-growpart gdisk hyperv-daemons sudo systemctl enable waagent.service sudo systemctl enable cloud-init.serviceSağlamayı işlemek için yapılandırın
cloud-init:waagentcloud-initiçin yapılandırın.sudo sed -i 's/Provisioning.Agent=auto/Provisioning.Agent=auto/g' /etc/waagent.conf 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.confNot
Belirli bir VM'yi geçiriyorsanız ve genelleştirilmiş bir görüntü oluşturmak istemiyorsanız
Provisioning.Agent=disabledyapılandırmasını/etc/waagent.confüzerinde ayarlayın.Bağlamaları yapılandırma:
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.cfgAzure veri kaynağını yapılandırın:
sudo echo "Allow only Azure datasource, disable fetching network setting via IMDS" sudo tee /etc/cloud/cloud.cfg.d/91-azure_datasource.cfg <<EOF datasource_list: [ Azure ] datasource: Azure: apply_network_config: False EOFYapılandırıldıysa, mevcut takas dosyasını kaldırın:
if [[ -f /mnt/resource/swapfile ]]; then echo "Removing swapfile" #RHEL uses a swapfile by default swapoff /mnt/resource/swapfile rm /mnt/resource/swapfile -f fiGünlüğü yapılandırma
cloud-init:sudo echo "Add console log file" sudo tee <<EOF /etc/cloud/cloud.cfg.d/05_logging.cfg > /dev/null # 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
Değiştirme yapılandırması:
İşletim sistemi diskinde değiştirme alanı oluşturmayın.
Daha önce Azure Linux aracısı, VM Azure'da sağlandıktan sonra VM'ye bağlı yerel kaynak diskinde değiştirme alanını otomatik olarak yapılandırmak için kullanılıyordu,
cloud-initşimdi bu eylemi işleyecek. Takas dosyasını oluşturmak için kaynak diski biçimlendirmek için Linux aracısını kullanmamalısınız. aşağıdaki parametreleri/etc/waagent.confuygun şekilde değiştirin:ResourceDisk.Format=n ResourceDisk.EnableSwap=nDeğiştirme işlemini bağlamak, biçimlendirmek ve oluşturmak istiyorsanız şunları yapabilirsiniz:
Özel veriler aracılığıyla her VM oluşturduğunuzda bu kodu yapılandırma olarak
cloud-initgeçirin. Bu yöntemi öneririz.VM her oluşturulduğunda bu adımı gerçekleştiren bir
cloud-inityönergesi imaja gömülü olarak kullanın.sudo echo 'DefaultEnvironment="CLOUD_CFG=/etc/cloud/cloud.cfg.d/00-azure-swap.cfg"' >> /etc/systemd/system.conf sudo tee /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
Sağlama sorunlarını gidermeye yardımcı olmak için telemetriyi yapılandırın
cloud-init:sudo tee -a /etc/cloud/cloud.cfg.d/10-azure-kvp.cfg <<EOF # This config enables cloud-init to report provisioning telemetry to aid with troubleshooting Reporting: logging: type: log telemetry: type: hyperv EOFAboneliğin kaydını silmek istiyorsanız aşağıdaki komutu çalıştırın:
sudo subscription-manager unregisterVM'yi devre dışı bırakın ve Azure'da sağlamak için hazırlayın.
Dikkat
Belirli bir VM'yi taşıyorsanız ve genelleştirilmiş bir görüntü oluşturmak istemiyorsanız provizyondan kaldırma adımını atlayın. komutu
waagent -force -deprovision+userçalıştırılırsa kaynak makine kullanılamaz duruma gelir. Bu adım yalnızca genelleştirilmiş bir görüntü oluşturmaya yöneliktir.sudo rm -f /var/log/waagent.log sudo cloud-init clean --logs --seed sudo waagent -force -deprovision+user sudo rm -f ~/.bash_history sudo export HISTSIZE=0Hyper-V Yöneticisi'nde Eylem>Kapat'ı seçin. Linux VHD'niz artık Azure'a yüklenmeye hazırdır.