Azure Linux VM için SWAP bölümü oluşturma
Şunlar için geçerlidir: ✔️ Linux VM'leri
Azure Linux VM'lerinde swap bölümü oluşturmak için cloud-init'i vm'nin kısa ömürlü (kaynak) diskinde otomatik olarak oluşturacak şekilde ayarlamanız gerekir. Kaynak diski varsayılan olarak altına /mnt
bağlanır. Linux VM'sinin barındırıldığı fiziksel sunucuda bulunur ve daha düşük gecikme süresine sahiptir. İşletim sistemi disklerinde veya veri disklerinde işletim sistemi ve uygulamaların performansını etkileyebilecek SWAP bölümleri oluşturmanız önerilmez. Kaynak diskin yalnızca geçici depolama alanı olduğundan normal verileri depolamak için hiçbir zaman kullanılmaması gerektiğini unutmayın. Vm başka bir konağa taşındığında veya durdurulduğunda/serbest bırakıldığında, bu diske yazılan tüm veriler silinir. Kaynak diskinin yalnızca SWAP ve önbelleğe alma dosyaları gibi kaldırılabilir veriler için kullanılması önerilir. Daha fazla bilgi için bkz . Geçici disk.
Waagent yapılandırmasında SWAP oluşturmayı devre dışı bırakma
SWAP oluşturma işlemi /etc/waagent.conf içinde yapılandırıldıysa, devre dışı bırakmanız gerekir.
Bu görev artık Cloud-Init tarafından işlendiğinden/etc/waagent.conf içinde kaynak disk biçimlendirmesini ve SWAP yapılandırmasını devre dışı bırakın. Parametreleri aşağıdaki gibi ayarlayın:
# Format if unformatted. If 'n', resource disk will not be mounted. ResourceDisk.Format=n # Create and use SWAPfile on resource disk. ResourceDisk.EnableSWAP=n #Mount point for the resource disk ResourceDisk.MountPoint=/mnt #Size of the SWAPfile. ResourceDisk.SWAPSizeMB=0
Azure Linux Aracısı'nı yeniden başlatın. Farklı Linux dağıtımlarına yönelik yeniden başlatma komutları hakkında bilgi için bkz . Vm'de Azure Linux Aracısı'nı güncelleştirme.
SWAP bölümü oluşturma
Aşağıdaki seçeneklerden birini kullanarak bir SWAP bölümü oluşturabilirsiniz.
Not
SWAP bölümü oluşturulduğunda, üzerinde bir takas dosyası da oluşturulur.
1. Seçenek: Betikleri kullanarak kaynak veya özel disk yolu altında bir SWAP bölümü oluşturma
Aşağıdaki betikle /var/lib/cloud/scripts/per-boot altında swap.sh adlı bir SWAP oluşturma betiği oluşturun:
#!/bin/sh # Percent of space on the ephemeral disk to dedicate to swap. Here 30% is being used. Modify as appropriate. PCT=0.3 # Location of the swap file. Modify as appropriate based on the location of the ephemeral disk. LOCATION=/mnt if [ ! -f ${LOCATION}/swapfile ] then # Get size of the ephemeral disk and multiply it by the percent of space to allocate size=$(/bin/df -m --output=target,avail | /usr/bin/awk -v percent="$PCT" -v pattern=${LOCATION} '$0 ~ pattern {SIZE=int($2*percent);print SIZE}') echo "$size MB of space allocated to swap file" # Create an empty file first and set correct permissions /bin/dd if=/dev/zero of=${LOCATION}/swapfile bs=1M count=$size /bin/chmod 0600 ${LOCATION}/swapfile # Make the file available to use as swap /sbin/mkswap ${LOCATION}/swapfile fi # Enable swap /sbin/swapon ${LOCATION}/swapfile /sbin/swapon -a # Display current swap status /sbin/swapon -s
Betik her önyüklemede yürütülür ve kaynak diskteki kullanılabilir alanın %30'unu ayırır. Değerleri durumunuz temelinde özelleştirebilirsiniz.
Betiği yürütülebilir yapın:
chmod +x /var/lib/cloud/scripts/per-boot/swap.sh
VM'yi durdurun ve başlatın. VM'nin durdurulması ve başlatılması yalnızca SWAP dosyasını oluşturduktan sonra ilk kez gereklidir.
Seçenek 2: cloud-init kullanarak kaynak disk yolu altında bir SWAP bölümü oluşturma
Hem SWAP hem de kaynak diskini
CLOUD_CFG
ayarlamak için /systemd/system.conf içinde değişkenini oluşturun:sudo echo 'DefaultEnvironment="CLOUD_CFG=/etc/cloud/cloud.cfg.d/00-azure-swap.cfg"' >> /etc/systemd/system.conf
SWAP, kaynak disk oluşturma ve bağlama noktalarını ayarlayan bir YAML dosyası oluşturun:
sudo cat > /etc/cloud/cloud.cfg.d/00-azure-swap.cfg << EOF #cloud-config 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"] - ["ephemeral0.2", "none", "swap", "sw,nofail,x-systemd.requires=cloud-init.service,x-systemd.device-timeout=2", "0", "0"] EOF
Kaynak diskte SWAP bölümünü oluşturmak için VM'yi durdurun ve başlatın veya yeniden dağıtın.
Seçenek 3: cloud-init kullanarak özel kaynak disk yolu altında bir SWAP bölümü oluşturma
Hem SWAP hem de kaynak diskini
CLOUD_CFG
ayarlamak için /systemd/system.conf içinde değişkenini oluşturun:sudo echo 'DefaultEnvironment="CLOUD_CFG=/etc/cloud/cloud.cfg.d/00-azure-swap.cfg"' >> /etc/systemd/system.conf
SWAP, kaynak disk oluşturma ve özel bağlama noktalarını ayarlayan bir YAML dosyası oluşturun ("azure" örnektir):
sudo cat > /etc/cloud/cloud.cfg.d/00-azure-swap.cfg << EOF #cloud-config 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", "/azure"] - ["ephemeral0.2", "none", "swap", "sw,nofail,x-systemd.requires=cloud-init.service,x-systemd.device-timeout=2", "0", "0"] EOF
Not
Özel bağlama noktasının YAML dosyasında belirtilen konumda bulunduğundan emin olun.
Kaynak diskte SWAP bölümünü oluşturmak için VM'yi durdurun ve başlatın veya yeniden dağıtın.
Yardım için bize ulaşın
Sorularınız veya yardıma ihtiyacınız varsa bir destek isteği oluşturun veya Azure topluluk desteği isteyin. Ürün geri bildirimini Azure geri bildirim topluluğuna da gönderebilirsiniz.