Alıştırma - VM’ye veri diski ekleme
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
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.
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.
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.
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.
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)
Ö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ğıdakissh
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
sdc
bağlı olmadığına dikkat edin. Sürücü henüz başlatılmadığından bu şekilde listelenir.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.
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ızssh
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.