Azure’da Ubuntu sanal makinesi hazırlama
Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Esnek ölçek kümeleri
Ubuntu artık Ubuntu Bulut Görüntüleri web sayfasında indirilmek üzere resmi Azure sanal sabit diskleri (VHD) yayımlıyor. Aşağıdaki el ile uygulanan yordamı kullanmak yerine Azure için kendi özelleştirilmiş Ubuntu görüntünüzü oluşturmanız gerekiyorsa, bu bilinen çalışan VHD'lerle başlayın ve gerektiğinde bunları özelleştirin. En son görüntü sürümlerini her zaman aşağıdaki konumlarda bulabilirsiniz:
- Ubuntu 18.04/Bionic: bionic-server-cloudimg-amd64-azure.vhd.zip
- Ubuntu 20.04/Odak: focal-server-cloudimg-amd64-azure.vhd.zip
- Ubuntu 22.04/Jammy: jammy-server-cloudimg-amd64-azure.vhd.zip
Önkoşullar
Bu makalede, bir VHD'ye zaten bir Ubuntu Linux işletim sistemi (OS) yüklediğiniz varsayılır. .vhd dosyaları oluşturmak için birden çok araç vardır. Hyper-V gibi bir sanallaştırma çözümü örnek olarak verilmiştir. Yönergeler için bkz . Hyper-V rolünü yükleme ve bir sanal makine (VM) yapılandırma.
Ubuntu yükleme notları
- Azure için Linux hazırlama hakkında daha fazla ipucu için bkz . Genel Linux yükleme notları.
- VHDX biçimi Azure'da desteklenmez, yalnızca sabit VHD'de desteklenir. Hyper-V Yöneticisi'ni veya cmdlet'ini kullanarak diski VHD biçimine
Convert-VHD
dönüştürebilirsiniz. - Linux sistemini yüklediğinizde, genellikle birçok yükleme için varsayılan olan Mantıksal Birim Yöneticisi (LVM) yerine standart bölümler kullanmanızı öneririz. 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 , veri disklerinde de kullanılabilir.
- İşletim sistemi diskinde değiştirme bölümü veya takas dosyası yapılandırma. Geçici kaynak diskinde
cloud-init
takas dosyası veya değiştirme bölümü oluşturmak için sağlama aracısını yapılandırabilirsiniz. Bu işlem hakkında daha fazla bilgi için aşağıdaki adımlara bakı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ı.
El ile uygulanan adımlar
Not
Azure için kendi özel Ubuntu görüntünüzü oluşturmaya çalışmadan önce, bunun yerine Ubuntu Bulut Görüntüleri web sayfasındaki önceden oluşturulmuş ve test edilmiş görüntüleri kullanmayı göz önünde bulundurun.
Hyper-V Yöneticisi'nin orta bölmesinde VM'yi seçin.
VM penceresini açmak için Bağlan'ı seçin.
Ubuntu'nun Azure deposunu kullanmak için görüntüdeki geçerli depoları değiştirin.
düzenlemeden
/etc/apt/sources.list
önce bir yedekleme yapmanızı öneririz:sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i 's#http://archive\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list sudo sed -i 's#http://[a-z][a-z]\.archive\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list sudo sed -i 's#http://security\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list sudo sed -i 's#http://[a-z][a-z]\.security\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list sudo apt-get update
Ubuntu Azure görüntüleri artık Azure tarafından uyarlanmış çekirdeği kullanıyor. İşletim sistemini azure tarafından uyarlanmış en son çekirdekle güncelleştirin ve Azure Linux araçlarını yükleyin (Hyper-V bağımlılıkları dahil):
sudo apt update sudo apt install linux-azure linux-image-azure linux-headers-azure linux-tools-common linux-cloud-tools-common linux-tools-azure linux-cloud-tools-azure sudo apt full-upgrade sudo reboot
GRUB için çekirdek önyükleme satırını, Azure için ek çekirdek parametreleri içerecek şekilde değiştirin. Bu adımı gerçekleştirmek için bir metin düzenleyicisinde açın
/etc/default/grub
, adlıGRUB_CMDLINE_LINUX_DEFAULT
değişkeni bulun (veya gerekirse ekleyin) ve aşağıdaki parametreleri içerecek şekilde düzenleyin:GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0,115200n8 earlyprintk=ttyS0,115200 rootdelay=300 quiet splash"
Bu dosyayı kaydedip kapatın ve komutunu çalıştırın
sudo update-grub
. Bu adım, tüm konsol iletilerinin ilk seri bağlantı noktasına gönderilmesini sağlar ve bu da hata ayıklama sorunlarıyla ilgili Azure teknik desteğine yardımcı olabilir.SSH sunucusunun yüklendiğinden ve önyükleme zamanında başlatacak şekilde yapılandırıldığından emin olun. Bu ayar genellikle varsayılan ayardır.
Yükleme
cloud-init
(sağlama aracısı) ve Azure Linux aracısı (konuk uzantıları işleyicisi).Cloud-init
, sistem ağ yapılandırmasını (sağlama sırasında ve sonraki her önyükleme sırasında) yapılandırmak vegdisk
kaynak diskleri bölümlendirmek için kullanırnetplan
.sudo apt update sudo apt install cloud-init gdisk netplan.io walinuxagent && systemctl stop walinuxagent
Not
Paket
walinuxagent
yüklüyse veNetworkManager-gnome
paketlerini kaldırabilirNetworkManager
.Azure'da sağlamayla
cloud-init
çakışabilecek varsayılan yapılandırmaları ve kalannetplan
yapıtları kaldırıncloud-init
:sudo rm -f /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg /etc/cloud/cloud.cfg.d/curtin-preserve-sources.cfg /etc/cloud/cloud.cfg.d/99-installer.cfg /etc/cloud/cloud.cfg.d/subiquity-disable-cloudinit-networking.cfg sudo rm -f /etc/cloud/ds-identify.cfg sudo rm -f /etc/netplan/*.yaml
Azure veri kaynağını kullanarak sistemi sağlamak için yapılandırın
cloud-init
:cat <<EOF | sudo tee /etc/cloud/cloud.cfg.d/90_dpkg.cfg datasource_list: [ Azure ] EOF cat <<EOF | sudo tee /etc/cloud/cloud.cfg.d/90-azure.cfg system_info: package_mirrors: - arches: [i386, amd64] failsafe: primary: http://archive.ubuntu.com/ubuntu security: http://security.ubuntu.com/ubuntu search: primary: - http://azure.archive.ubuntu.com/ubuntu/ security: [] - arches: [armhf, armel, default] failsafe: primary: http://ports.ubuntu.com/ubuntu-ports security: http://ports.ubuntu.com/ubuntu-ports EOF cat <<EOF | sudo tee /etc/cloud/cloud.cfg.d/10-azure-kvp.cfg reporting: logging: type: log telemetry: type: hyperv EOF
Azure Linux aracısını sağlamayı gerçekleştirmek için güvenecek
cloud-init
şekilde yapılandırın. Bu seçenekler hakkında daha fazla bilgi için WALinuxAgent projesine bakın.sudo sed -i 's/Provisioning.Enabled=y/Provisioning.Enabled=n/g' /etc/waagent.conf sudo sed -i 's/Provisioning.UseCloudInit=n/Provisioning.UseCloudInit=y/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.conf
cat <<EOF | sudo tee -a /etc/waagent.conf # For Azure Linux agent version >= 2.2.45, this is the option to configure, # enable, or disable the provisioning behavior of the Linux agent. # Accepted values are auto (default), waagent, cloud-init, or disabled. # A value of auto means that the agent will rely on cloud-init to handle # provisioning if it is installed and enabled, which in this case it will. Provisioning.Agent=auto EOF
Temiz
cloud-init
ve Azure Linux aracısı çalışma zamanı yapıtları ve günlükleri:sudo cloud-init clean --logs --seed sudo rm -rf /var/lib/cloud/ sudo systemctl stop walinuxagent.service sudo rm -rf /var/lib/waagent/ sudo rm -f /var/log/waagent.log
VM'nin sağlamasını kaldırın ve Azure'da sağlama için hazırlayın.
Not
sudo waagent -force -deprovision+user
komutu, sistemi temizlemeye ve yeniden sağlama için uygun hale getirme girişiminde bulunarak görüntüyü genelleştirir. seçeneği+user
, sağlanan son kullanıcı hesabını ve ilişkili verileri siler.sudo waagent -force -deprovision+user sudo rm -f ~/.bash_history
Uyarı
Önceki komutu kullanarak sağlamayı kaldırma, görüntünün tüm hassas bilgilerden temizlendiğini ve yeniden dağıtım için uygun olduğunu garanti etmez.
Hyper-V Yöneticisi'nde Eylem>Kapat'ı seçin.
Azure yalnızca sabit boyutlu VHD'leri kabul eder. VM'nin işletim sistemi diski sabit boyutlu bir VHD değilse PowerShell cmdlet'ini
Convert-VHD
-VHDType Fixed
kullanın ve seçeneğini belirtin. Daha fazla bilgi içinConvert-VHD
Convert-VHD'deki belgeleri inceleyin.Azure'da 2. Nesil VM getirmek için şu adımları izleyin:
Dizini şu dizinle
boot EFI
değiştirin:cd /boot/efi/EFI
ubuntu
Dizini adlıboot
yeni bir dizine kopyalayın:sudo cp -r ubuntu/ boot
Dizini yeni oluşturulan önyükleme diziniyle değiştirin:
cd boot
Dosyayı yeniden adlandırın
shimx64.efi
:sudo mv shimx64.efi bootx64.efi
Dosyayı olarak
bootx64.cfg
yeniden adlandırıngrub.cfg
:sudo mv grub.cfg bootx64.cfg
İlgili içerik
Artık Azure'da yeni VM'ler oluşturmak için Ubuntu 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.