Alıştırma - VM’ye veri diski ekleme

Tamamlandı

Hukuk firmanız büyük/küçük harf yükünü genişletiyor ve çeşitli kaynaklardan kritik belgeleri depolamak için yeni bir Linux web sunucusu oluşturmakla görevlendirildiniz: müşteriler, diğer hukuk firmaları ve kolluk kuvvetleri. Web sunucusu, belgeleri karşıya yüklemenizi ve diskte depolamanızı sağlar.

Bahşiş

Bu alıştırmada Linux kullanılmıştır ancak VM oluşturma ve disk ekleme adımları Windows için de geçerlidir. Başlıca fark, diski bölümleme ve biçimlendirme işlemindedir. Windows’ta Uzak Masaüstü üzerinden sanal makinenize bağlanabilir ve yerleşik Disk Yönetimi araçlarını kullanabilir veya burada kullanacağınız Bash betiğine benzer bir PowerShell betiği dağıtabilirsiniz.

Amacınız bir Linux VM oluşturmak ve dizini depolamak /uploads için uploadDataDisk1 adlı yeni bir sanal sabit disk (VHD) eklemektir.

Azure CLI varsayılan değerlerini ayarlama

Azure CLI, varsayılan değerleri ayarlamanıza olanak tanır, böylece her komut çalıştırdığınızda bunları yinelemeniz gerekmez.

Varsayılan Azure konumunu veya bölgesini belirtirsiniz. Bu konum, Azure VM'nizin yerleştirildiği konumdur.

İdeal olan, bu konumun müşterilerinize yakın olmasıdır. Bu durumda Azure korumalı alanı ile kullanılabilen konumlardan size en yakın bölgeyi seçin.

Ücretsiz korumalı alan, Azure’ın küresel bölgelerinin bir alt kümesinde kaynak oluşturmanıza olanak tanır. Kaynak oluştururken bu listeden bir bölge seçin:

  • westus2
  • Orta Güney ABD
  • centralus
  • eastus
  • westeurope
  • southeastasia
  • japaneast
  • Güney Brezilya
  • australiasoutheast
  • centralindia
  1. Kullanmak istediğiniz varsayılan konumu ayarlamak için az configure komutunu çalıştırın. eastus değerini önceki adımda seçilen konumla değiştirin.

    az configure --defaults location=eastus
    

    Bahşiş

    Komutları panoya kopyalamak için Kopyala düğmesini kullanabilirsiniz. Yapıştırmak için Cloud Shell terminalinde yeni bir satıra sağ tıklayıp Yapıştır'ı seçin veya Shift+Insert klavye kısayolunu (macOS üzerinde⌘+V) kullanın.

  2. Varsayılan kaynak grubu adını Azure korumalı alanı aracılığıyla sizin için oluşturulmuş önceden yapılandırılmış kaynak grubuna ayarlayın: [sandbox resource group]

    az configure --defaults group="<rgn>[sandbox Resource Group]</rgn>"
    

Linux VM oluşturma

Burada, web sunucunuzu barındırmak için bir Linux VM oluşturacaksınız.

  1. Ubuntu Linux sanal makinesi oluşturmak için bu az vm create komutunu çalıştırın.

    az vm create \
      --name support-web-vm01 \
      --image Canonical:UbuntuServer:16.04-LTS:latest \
      --size Standard_DS1_v2 \
      --admin-username azureuser \
      --generate-ssh-keys
    
    • Sanal makinenin adı support-web-vm01 şeklindedir.
    • Boyutu Standard_DS1_v2’dir.
    • Yönetici kullanıcı adı azureuser şeklindedir. Uygulamada bu ad istediğiniz bir ad olabilir.
    • bağımsız --generate-ssh-keys değişkeni sizin için bir SSH anahtar bölmesi oluşturur ve SSH üzerinden VM'nize bağlanmanıza olanak tanır.

    Sanal makinenin dağıtılması birkaç dakika sürer. VM hazır olduğunda ilgili bilgiler JSON biçiminde gösterilir. Bir örnek aşağıda verilmiştir:

    {
      "fqdns": "",
      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/680469d8-edB7-42ec-b118-cd80d51741e7/providers/Microsoft.Compute/virtualMachines/support-web-vm01",
      "location": "eastus",
      "macAddress": "00-0D-3A-10-63-0A",
      "powerState": "VM running",
      "privateIpAddress": "10.0.0.4",
      "publicIpAddress": "104.211.38.211",
      "resourceGroup": "680469d8-edB7-42ec-b118-cd80d51741e7",
      "zones": ""
    }
    

    Dekont

    Bu derste, diskleri yönetmeyi öğrenmek için bu VM'yi kullanacaksınız. Uygulamada, web sunucusunu ve diğer yazılımları da yükleyebilir ve gerekli bağlantı noktalarını dış dünyada kullanılabilir hale getirmek için az vm open-port komutunu çalıştırabilirsiniz.

VM'ye boş veri diski ekleme

Burada boş bir veri diski oluşturup vm'nize eklersiniz. Başlangıçta, veri diskinizin boyutu 64 GB'tır. Daha sonra bu diski VM'nizdeki dizine /uploads bağlarsınız.

Bahşiş

Öğrenme amacıyla VM ve veri diskini ayrı adımlar olarak oluşturacaksınız. Uygulamada, VM oluşturulduğunda veri diskleri eklemek için az vm create komutuna --data-disk-sizes-gb bağımsız değişkenini belirtebilirsiniz.

  1. VM’ye yeni bir boş disk eklemek için aşağıdaki az vm disk attach komutunu çalıştırın.

    az vm disk attach \
      --vm-name support-web-vm01 \
      --name uploadDataDisk1 \
      --size-gb 64 \
      --sku Premium_LRS \
      --new
    

    Şu komut:

    • Diski uploadDataDisk1 olarak adlandırır.
    • Boyutunu 64 GB olarak ayarlar.
    • Yerel yedeklilik ile premium depolama kullanımını belirtir.

Diski kullanmak için bölümlemeniz ve biçimlendirmeniz gerekir. Şimdi bunu yapalım.

Veri diskinizi başlatma ve biçimlendirme

Boş veri sürücünüzün başlatılması ve biçimlendirilmesi gerekir. Bunun için yapılan işlem, fiziksel bir disk ile aynıdır.

Tek seferlik görevler için sanal makinenize SSH üzerinden el ile bağlanabilir ve ihtiyaç duyduğunuz komutları çalıştırabilirsiniz. Ancak, işlemi daha tekrarlanabilir ve daha az hataya açık hale getirmek için komutlarınızı bir Bash betiğinde veya PowerShell betiğinde (varsa) belirtebilirsiniz.

İşlemi otomatikleştirmek için betik kullanmanın ek bir avantajı vardır: betiğiniz, işlemin nasıl gerçekleştirildiğini gösteren belgeler görevi görür. Başkaları betiğinizi okuyarak sisteminizin nasıl yapılandırıldığını anlayabilir. İşlemi değiştirmeniz gerekiyorsa, değişikliğinizi üretime dağıtmadan önce betiğinizi değiştirebilir ve geçici bir karalama VM'sinde test edebilirsiniz.

Bu dersteki işlemi otomatikleştirmek için Özel Betik Uzantısı'nı kullanırsınız. Özel Betik Uzantısı, Azure VM'lerinizde betik indirip çalıştırmanın kolay bir yoludur. VM'niz kullanıma hazır olduğunda sistemi yapılandırmak için kullanabileceğiniz yöntemlerden sadece biridir.

Betiklerinizi Azure depolama alanında veya GitHub gibi genel bir konumda depolayabilirsiniz. Betikleri el ile veya otomatikleştirilmiş bir dağıtımın parçası olarak çalıştırabilirsiniz. Burada, GitHub'dan önceden hazırlanmış bir Bash betiğini indirmek ve vm'nizde yürütmek için bir Azure CLI komutu çalıştıracaksınız.

Öğrenme amacıyla vm'nizde birkaç komut çalıştırarak VM'nin beklediğiniz gibi yapılandırıldığını doğrulayalım.

  1. Sanal makinenizin genel IP adresini almak ve IP adresini bir Bash değişkeni olarak kaydetmek için az vm show komutunu çalıştırın.

    ipaddress=$(az vm show \
      --name support-web-vm01 \
      --show-details \
      --query [publicIps] \
      --output tsv)
    
  2. Önceki adımda oluşturduğunuz değişken verileri kullanarak ipaddress vm'nizde SSH bağlantısı üzerinden komutunu çalıştırmak için aşağıdaki ssh komutu çalıştırınlsblk. azureuser değerinin VM oluşturma sırasında kullandığımız yönetici kullanıcı adı olduğunu unutmayın. Farklı bir ad seçtiyseniz burada onu kullanmanız gerekir. İstendiğinde evet yazın.

    ssh azureuser@$ipaddress lsblk
    

    Bu komutun çıkışı aşağıdakine benzer olmalıdır.

    NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sdb       8:16   0    7G  0 disk 
    └─sdb1    8:17   0    7G  0 part /mnt
    sr0      11:0    1  628K  0 rom  
    sdc       8:32   0   64G  0 disk 
    sda       8:0    0   30G  0 disk 
    ├─sda14   8:14   0    4M  0 part 
    ├─sda15   8:15   0  106M  0 part /boot/efi
    └─sda1    8:1    0 29.9G  0 part /
    

    Oluşturduğunuz 64 GB'lık sürücünün sdcbağlı olmadığına dikkat edin. Sürücü henüz başlatılmadığından bu şekilde listelenir.

  3. Vm'nizde önceden hazırlanmış Bash betiğini çalıştırmak için aşağıdaki az vm extension set komutu çalıştırın.

    Uyarı

    Betik /etc/fstab değerini değiştirir. /etc/fstab dosyasının hatalı değiştirilmesi sonucunda önyüklemesi yapılamayan bir sistem ortaya çıkar. Yapılandırma değişikliklerini üretime uygulamadan önce mutlaka geçici bir boş sistem üzerinde test edin. Bu dosyayı düzgün şekilde değiştirme hakkında bilgi edinmek için dağıtımcınızın belgelerine bakın. Gerekirse yapılandırmayı geri yükleyebilmeniz için üretim ortamında bu dosyanın bir yedeğini oluşturmanız da önerilir.

    az vm extension set \
      --vm-name support-web-vm01 \
      --name customScript \
      --publisher Microsoft.Azure.Extensions \
      --settings '{"fileUris":["https://raw.githubusercontent.com/MicrosoftDocs/mslearn-add-and-size-disks-in-azure-virtual-machines/master/add-data-disk.sh"]}' \
      --protected-settings '{"commandToExecute": "./add-data-disk.sh"}'
    

    Komut çalışırken, isterseniz Bash betiğini ayrı bir tarayıcı sekmesinden inceleyebilirsiniz.

    Özetlersek, betik:

    • /dev/sdc sürücüsünü bölümler.
    • Sürücü üzerinde bir ext4 dosya sistemi oluşturur.
    • /uploads Bağlama noktamız olarak kullandığımız dizini oluşturur.
    • Diski bağlama noktasına iliştirir.
    • Sistem yeniden başlatıldıktan sonra sürücünün otomatik olarak bağlanması için /etc/fstab değerini güncelleştirir.
  4. Yapılandırmayı doğrulamak için, daha önce lsblk komutunu bir SSH bağlantısı üzerinden sanal makinenizde çalıştırmak için kullandığınız ssh komutunu çalıştırın.

    ssh azureuser@$ipaddress lsblk
    

    sdc/sdc1 diskinin bölümlendiğini ve beklediğiniz gibi /uploads dizinine bağlandığını görürsünüz.

    NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sdb       8:16   0    7G  0 disk 
    └─sdb1    8:17   0    7G  0 part /mnt
    sr0      11:0    1  628K  0 rom  
    sdc       8:32   0   64G  0 disk 
    └─sdc1    8:33   0   64G  0 part /uploads
    sda       8:0    0   30G  0 disk 
    ├─sda14   8:14   0    4M  0 part 
    ├─sda15   8:15   0  106M  0 part /boot/efi
    └─sda1    8:1    0 29.9G  0 part /
    

Bahşiş

Bazı Linux çekirdekleri, disklerdeki kullanılmayan blokları atmak için TRIM'i destekler. Bu özellik Azure disklerinde sağlanır ve büyük dosyalar oluşturup sonra da bunları siliyorsanız, tasarruf etmenizi sağlayabilir. Azure belgelerinden bu özelliği açma hakkında bilgi edinin.

Özet

Burada bir veri diski oluşturup sanal makinenize bağladınız. İşlemi daha tekrarlanabilir hale getirmek için VM'nizde önceden hazırlanmış bir Bash betiği çalıştırmak için Özel Betik Uzantısı'nı kullandınız. Bash betiği, web sunucunuzun diskinize yazabilmesi için diskinizi bölümler, biçimlendirir ve bağlar.

SANAL makinenizdeki veri diski hazır olduğuna göre, oluşturabileceğiniz çeşitli disk türleri hakkında biraz daha fazla bilgi edinelim. İlk olarak Standart veya Premium depolamayı seçip seçmeyeceğinize karar vermelisiniz.