Oefening: Een gegevensschijf toevoegen aan een VM
Uw advocatenkantoor breidt de belasting van de zaak uit en u moet een nieuwe Linux-webserver maken voor het opslaan van kritieke documenten uit verschillende bronnen: clients, andere advocatenkantoren en advocatenkantoren. Met de webserver kunt u documenten uploaden en opslaan op schijf.
Tip
In deze oefening wordt Linux als voorbeeld gebruikt, maar het basisproces voor het maken van virtuele machines en het toevoegen van schijven verloopt hetzelfde voor Windows. Het belangrijkste verschil is het partitioneren en formatteren van de schijf. In Windows kunt u verbinding maken met uw virtuele machine via Extern bureaublad en de ingebouwde hulpprogramma's van Schijfbeheer gebruiken of een PowerShell-script implementeren dat vergelijkbaar is met het Bash-script dat u hier gebruikt.
Het doel is om een Virtuele Linux-machine te maken en een nieuwe virtuele harde schijf (VHD) met de naam uploadDataDisk1 te koppelen om de /uploads
map op te slaan.
Standaardwaarden voor Azure CLI instellen
Met de Azure CLI kunt u standaardwaarden instellen, zodat u ze niet telkens hoeft te herhalen wanneer u een opdracht uitvoert.
U kunt de standaardlocatie of regio van Azure opgeven. Op deze locatie wordt uw Virtuele Azure-machine geplaatst.
In het ideale voorbeeld ligt deze locatie dicht bij uw klanten. Selecteer in dit geval de voor u dichtstbijzijnde regio uit de locaties die voor de Azure-sandbox beschikbaar zijn.
Met de gratis sandbox kunt u resources maken in een subset met wereldwijde Azure-regio's. Selecteer een regio in deze lijst wanneer u resources maakt:
- westus2
- US - zuid-centraal
- centralus
- eastus
- westeurope
- southeastasia
- japaneast
- brazilsouth
- australiasoutheast
- centralindia
Voer
az configure
uit om de gewenste standaardlocatie in te stellen. Vervang eastus door de locatie die u in de vorige stap hebt gekozen.az configure --defaults location=eastus
Tip
U kunt de knop Kopiëren gebruiken om opdrachten te kopiëren naar het klembord. Als u wilt plakken, klikt u met de rechtermuisknop op een nieuwe regel in de Cloud Shell-terminal en selecteert u Plakken of gebruikt u de sneltoets Shift+Insert (⌘+V in macOS).
Stel de standaardnaam van de resourcegroep in op de vooraf geconfigureerde resourcegroep die voor u is gemaakt via de Azure-sandbox:
[sandbox-resourcegroep] az configure --defaults group="<rgn>[sandbox Resource Group]</rgn>"
Een virtuele Linux-machine maken
Hier maakt u een Virtuele Linux-machine om uw webserver te hosten.
Voer deze opdracht
az vm create
uit om uw virtuele Ubuntu Linux-machine te maken.az vm create \ --name support-web-vm01 \ --image Canonical:UbuntuServer:16.04-LTS:latest \ --size Standard_DS1_v2 \ --admin-username azureuser \ --generate-ssh-keys
- De naam van de virtuele machine is support-web-vm01.
- De grootte is Standard_DS1_v2.
- De gebruiker met beheerdersrechten is azureuser. In de praktijk kunt u elke gewenste naam kiezen.
- Het
--generate-ssh-keys
argument genereert een SSH-keypair voor u, zodat u via SSH verbinding kunt maken met uw virtuele machine.
Het implementeren van de VM duurt een paar minuten. Wanneer de virtuele machine klaar is, krijgt u informatie over deze vm in JSON-indeling. Hier volgt een voorbeeld:
{ "fqdns": "", "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e", "zones": "" }
Notitie
In deze les gebruikt u deze VIRTUELE machine om te leren hoe u schijven beheert. In de praktijk moet u mogelijk ook een webserver en andere software installeren en vervolgens
az vm open-port
uitvoeren om de benodigde poorten beschikbaar te maken voor externe gebruikers.
Een lege gegevensschijf aan uw virtuele machine toevoegen
Hier maakt u een lege gegevensschijf en koppelt u deze aan uw VIRTUELE machine. In eerste instantie is uw gegevensschijf 64 GB groot. Later koppelt u deze schijf aan de map /uploads
op uw virtuele machine.
Tip
Voor leerdoeleinden maakt u de VIRTUELE machine en de gegevensschijf als afzonderlijke stappen. In de praktijk kunt u het argument --data-disk-sizes-gb
voor de opdracht az vm create
opgeven om direct gegevensschijven toe te voegen bij het maken van de virtuele machine.
Voer de volgende
az vm disk attach
-opdracht uit om een nieuwe lege schijf aan de virtuele machine toe te voegen.az vm disk attach \ --vm-name support-web-vm01 \ --name uploadDataDisk1 \ --size-gb 64 \ --sku Premium_LRS \ --new
Met deze opdracht gebeurt het volgende:
- De schijf krijgt de naam uploadDataDisk1.
- Hiermee stelt u de grootte in op 64 GB.
- Hiermee geeft u het gebruik van Premium-opslag met lokale redundantie.
Als u de schijf wilt gebruiken, moet u deze partitioneren en formatteren. Laten we dat nu doen.
De gegevensschijf initialiseren en formatteren
De lege schijf moet worden geïnitialiseerd en geformatteerd. Het proces om dat te doen is hetzelfde als dat voor een fysieke schijf.
Voor eenmalige taken kunt u handmatig verbinding maken met uw virtuele machine via SSH en de benodigde opdrachten uitvoeren. Als u het proces echter herhaalbaarder en minder foutgevoelig wilt maken, kunt u uw opdrachten opgeven in een Bash-script of een PowerShell-script (indien beschikbaar).
Het gebruik van een script om het proces te automatiseren heeft een extra voordeel: uw script fungeert als documentatie voor de wijze waarop het proces wordt uitgevoerd. Anderen kunnen het script lezen om te begrijpen hoe het systeem is geconfigureerd. Als u het proces wilt wijzigen, kunt u het script wijzigen en testen op een tijdelijke scratch-VM voordat u de wijziging in productie implementeert.
Als u het proces in deze les wilt automatiseren, kunt u de aangepaste scriptextensie gebruiken. De aangepaste scriptextensie biedt een eenvoudige manier om scripts te downloaden en uit te voeren op uw virtuele Azure-machines. Het is een van de vele manieren waarop u het systeem kunt configureren wanneer de VM actief is.
U kunt uw scripts opslaan in Azure Storage of op een openbare locatie, zoals GitHub. U kunt scripts handmatig uitvoeren of als onderdeel van een meer geautomatiseerde implementatie. Hier voert u een Azure CLI-opdracht uit om een vooraf gemaakt Bash-script vanuit GitHub te downloaden en uit te voeren op uw VIRTUELE machine.
Voor leerdoeleinden gaan we ook een paar opdrachten uitvoeren op uw VIRTUELE machine om te controleren of de VIRTUELE machine is geconfigureerd zoals verwacht.
Voer
az vm show
uit om het openbare IP-adres van de virtuele machine op te halen en het IP-adres op te slaan als een Bash-variabele.ipaddress=$(az vm show \ --name support-web-vm01 \ --show-details \ --query [publicIps] \ --output tsv)
Voer de volgende
ssh
opdracht uit om delsblk
opdracht op uw VIRTUELE machine uit te voeren via een SSH-verbinding met behulp van deipaddress
variabelegegevens die u in de vorige stap hebt gemaakt. U weet nog datazureuser
de gebruikersnaam van de beheerder is die we hebben gebruikt bij het maken van de virtuele machine. Als u een andere naam hebt gekozen, moet u die in plaats daarvan gebruiken. Voer ja in wanneer u hierom wordt gevraagd.ssh azureuser@$ipaddress lsblk
De uitvoer van deze opdracht ziet er ongeveer als volgt uit.
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 /
U ziet dat het station van 64 GB (
sdc
) dat u hebt gemaakt, niet is gekoppeld. Het station wordt op deze manier vermeld omdat het nog niet is geïnitialiseerd.Voer de volgende
az vm extension set
opdracht uit om het vooraf gemaakte Bash-script uit te voeren op uw virtuele machine.Waarschuwing
/etc/fstab
wordt gewijzigd via het script. Als u het bestand/etc/fstab
op de verkeerde manier bewerkt, kan het systeem mogelijk niet meer worden opgestart. Test configuratiewijzigingen altijd op een geheel nieuw tijdelijk systeem voordat u deze implementeert in een productieomgeving. Raadpleeg de documentatie van uw distributie om te leren hoe u dit bestand moet wijzigen. In een productieomgeving is het ook raadzaam een back-up van dit bestand te maken, zodat u de configuratie zo nodig kunt herstellen.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"}'
Terwijl de opdracht wordt uitgevoerd, kunt u het Bash-script onderzoeken vanuit een afzonderlijk browsertabblad, indien gewenst.
Samenvatting van het script:
- Het station
/dev/sdc
wordt gepartitioneerd. - Er wordt een ext4-bestandssysteem op het station gemaakt.
- Hiermee maakt u de
/uploads
map die we als koppelpunt gebruiken. - De schijf wordt gekoppeld aan het koppelpunt.
-
/etc/fstab
wordt bijgewerkt, zodat het station automatisch wordt gekoppeld wanneer het systeem opnieuw wordt opgestart.
- Het station
Als u de configuratie wilt controleren, voert u dezelfde
ssh
-opdracht uit als u eerder hebt gedaan om delsblk
-opdracht op de virtuele machine uit te voeren via een SSH-verbinding.ssh azureuser@$ipaddress lsblk
U zou moeten vinden dat
sdc/sdc1
is gepartitioneerd en gekoppeld aan de/uploads
map zoals verwacht.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 /
Tip
Sommige Linux-kernels bieden ondersteuning voor TRIM om op die manier niet-gebruikte blokken op schijven te verwijderen. Deze functie is beschikbaar voor Azure-schijven en kan u geld besparen als u vaak grote bestanden maakt en ze vervolgens verwijdert. Ontdek in de documentatie van Azure hoe u deze functie inschakelt.
Samenvatting
U hebt een gegevensschijf gemaakt en deze vervolgens aan uw virtuele machine gekoppeld. U hebt de aangepaste scriptextensie gebruikt om een vooraf gemaakt Bash-script uit te voeren op uw VIRTUELE machine om het proces herhaalbaarder te maken. Via het Bash-script wordt de schijf gepartitioneerd, geformatteerd en gekoppeld zodat de webserver ernaar kan schrijven.
Nu de gegevensschijf op uw virtuele machine is voorbereid, gaan we eens kijken naar de verschillende typen schijven die u kunt maken. Eerst moet u een keuze maken tussen Standard-opslag of Premium-opslag.