Een LVM configureren op een virtuele Linux-machine in Azure

In dit document wordt beschreven hoe u Logical Volume Manager (LVM) configureert op uw virtuele Azure-machine. LVM kan worden gebruikt op de besturingssysteemschijf of gegevensschijven in Azure-VM's, maar voor de meeste cloudinstallatiekopieën is LVM standaard niet geconfigureerd op de besturingssysteemschijf. De onderstaande stappen zijn gericht op het configureren van LVM voor uw gegevensschijven.

Lineaire versus gestreepte logische volumes

LVM kan worden gebruikt om een aantal fysieke schijven te combineren tot één opslagvolume. Standaard maakt LVM lineaire logische volumes, wat betekent dat de fysieke opslag wordt samengevoegd. In dit geval worden lees-/schrijfbewerkingen doorgaans slechts naar één schijf verzonden. We kunnen daarentegen ook gestreepte logische volumes maken waarbij lees- en schrijfbewerkingen worden gedistribueerd naar meerdere schijven in de volumegroep (vergelijkbaar met RAID0). Om prestatieredenen wilt u waarschijnlijk uw logische volumes stripen, zodat lees- en schrijfbewerkingen gebruikmaken van al uw gekoppelde gegevensschijven.

In dit document wordt beschreven hoe u verschillende gegevensschijven in één volumegroep combineert en vervolgens een gestreept logisch volume maakt. De onderstaande stappen zijn gegeneraliseerd om te werken met de meeste distributies. In de meeste gevallen verschillen de hulpprogramma's en werkstromen voor het beheren van LVM in Azure niet fundamenteel van andere omgevingen. Neem zoals gewoonlijk ook contact op met uw Linux-leverancier voor documentatie en aanbevolen procedures voor het gebruik van LVM met uw specifieke distributie.

Gegevensschijven koppelen

Meestal wilt u bij het gebruik van LVM beginnen met twee of meer lege gegevensschijven. Op basis van uw IO-behoeften kunt u ervoor kiezen om schijven te koppelen die zijn opgeslagen in onze Standard Storage, met maximaal 500 IO/ps per schijf of onze Premium-opslag met maximaal 5000 IO/ps per schijf. In dit artikel wordt niet ingegaan op het inrichten en koppelen van gegevensschijven aan een virtuele Linux-machine. Zie het Microsoft Azure-artikel Een schijf koppelen voor gedetailleerde instructies over het koppelen van een lege gegevensschijf aan een virtuele Linux-machine in Azure.

De LVM-hulpprogramma's installeren

  • Ubuntu

    sudo apt-get update
    sudo apt-get install lvm2
    
  • RHEL, CentOS & Oracle Linux

    sudo yum install lvm2
    
  • SLES 12 en openSUSE

    sudo zypper install lvm2
    
  • SLES 11

    sudo zypper install lvm2
    

    Op SLES11 moet u ook bewerken /etc/sysconfig/lvm en instellen LVM_ACTIVATED_ON_DISCOVERED op 'inschakelen':

    LVM_ACTIVATED_ON_DISCOVERED="enable" 
    

LVM configureren

In deze handleiding gaan we ervan uit dat u drie gegevensschijven hebt gekoppeld, waarnaar wordt verwezen als /dev/sdc, /dev/sdd en /dev/sde. Deze paden komen mogelijk niet overeen met de namen van het schijfpad in uw VM. U kunt eensudo fdisk -l vergelijkbare opdracht uitvoeren om de beschikbare schijven weer te geven.

  1. De fysieke volumes voorbereiden:

    sudo pvcreate /dev/sd[cde]
    Physical volume "/dev/sdc" successfully created
    Physical volume "/dev/sdd" successfully created
    Physical volume "/dev/sde" successfully created
    
  2. Maak een volumegroep. In dit voorbeeld roepen we de volumegroep data-vg01aan:

    sudo vgcreate data-vg01 /dev/sd[cde]
    Volume group "data-vg01" successfully created
    
  3. Maak de logische volumes. Met de onderstaande opdracht maken we één logisch volume met de naam data-lv01 voor de hele volumegroep, maar houd er rekening mee dat het ook mogelijk is om meerdere logische volumes in de volumegroep te maken.

    sudo lvcreate --extents 100%FREE --stripes 3 --name data-lv01 data-vg01
    Logical volume "data-lv01" created.
    
  4. Het logische volume opmaken

    sudo mkfs -t ext4 /dev/data-vg01/data-lv01
    

    Notitie

    Gebruik bij SLES11 -t ext3 in plaats van ext4. SLES11 ondersteunt alleen-lezentoegang tot ext4-bestandssystemen.

Voeg het nieuwe bestandssysteem toe aan /etc/fstab

Belangrijk

Als u het bestand /etc/fstab onjuist bewerkt, kan dat erin resulteren dat het systeem niet meer kan worden opgestart. Als u niet zeker weet wat u moet doen, raadpleegt u de documentatie van de distributie over het bewerken van dit bestand. Het wordt ook aanbevolen om een back-up van het /etc/fstab bestand te maken voordat u het bewerkt.

  1. Maak het gewenste koppelpunt voor uw nieuwe bestandssysteem, bijvoorbeeld:

    sudo mkdir /data
    
  2. Het logische volumepad zoeken

    lvdisplay
    --- Logical volume ---
    LV Path                /dev/data-vg01/data-lv01
    ....
    
  3. Open /etc/fstab in een teksteditor en voeg een vermelding toe voor het nieuwe bestandssysteem, bijvoorbeeld:

    /dev/data-vg01/data-lv01  /data  ext4  defaults  0  2
    

    Sla vervolgens op en sluit /etc/fstab.

  4. Test of de /etc/fstab vermelding juist is:

    sudo mount -a
    

    Als deze opdracht resulteert in een foutbericht, controleert u de syntaxis in het /etc/fstab bestand.

    Voer vervolgens de mount opdracht uit om ervoor te zorgen dat het bestandssysteem is gekoppeld:

    mount
    ......
    /dev/mapper/data--vg01-data--lv01 on /data type ext4 (rw)
    
  5. (Optioneel) Failsafe-opstartparameters in /etc/fstab

    Veel distributies bevatten de nobootwait parameters of nofail koppelparameters die aan het /etc/fstab bestand kunnen worden toegevoegd. Deze parameters maken fouten mogelijk bij het koppelen van een bepaald bestandssysteem en zorgen ervoor dat het Linux-systeem kan blijven opstarten, zelfs als het RAID-bestandssysteem niet correct kan worden gekoppeld. Raadpleeg de documentatie van uw distributie voor meer informatie over deze parameters.

    Voorbeeld (Ubuntu):

    /dev/data-vg01/data-lv01  /data  ext4  defaults,nobootwait  0  2
    

TRIM/UNMAP-ondersteuning

Sommige Linux-kernels ondersteunen TRIM/UNMAP-bewerkingen om ongebruikte blokken op de schijf te verwijderen. Deze bewerkingen zijn voornamelijk nuttig in standaardopslag om Azure te informeren dat verwijderde pagina's niet meer geldig zijn en kunnen worden verwijderd. Het verwijderen van pagina's kan kosten besparen als u grote bestanden maakt en deze vervolgens verwijdert.

Er zijn twee manieren om TRIM-ondersteuning in te schakelen in uw Linux-VM. Zoals gewoonlijk raadpleegt u uw distributie voor de aanbevolen aanpak:

  • Gebruik de discard koppelingsoptie in /etc/fstab, bijvoorbeeld:

    /dev/data-vg01/data-lv01  /data  ext4  defaults,discard  0  2
    
  • In sommige gevallen kan de discard optie gevolgen hebben voor de prestaties. U kunt de fstrim opdracht ook handmatig uitvoeren vanaf de opdrachtregel of toevoegen aan uw crontab om deze regelmatig uit te voeren:

    Ubuntu

    # sudo apt-get install util-linux
    # sudo fstrim /datadrive
    

    RHEL, CentOS & Oracle Linux

    # sudo yum install util-linux
    # sudo fstrim /datadrive