Winkelwagen

/ .nl-domeinnaam

Jouw .nl voor slechts € 0,49.

Domeinnaam checken
E-mail

/ Hostingpakket keuzehulp

Weet je niet zeker welk hostingpakket de beste
keus is voor jouw website? Met onze keuzehulp
kom je er wel uit.

Direct naar de keuzehulp

/ OpenStack

/ Probeer Public Cloud uit

Gratis 1 maand aan de slag met Public Cloud?

Vraag proefperiode aan

/ TransIP Blog

CSM25: API security in een SaaS-wereld

Lees de blogpost
Hulp nodig?

    Sorry, we konden geen resultaten vinden voor jouw zoekopdracht.

    Instance herstellen via Rescue Mode in Horizon

    Rescue Mode is een herstelomgeving voor een instance die niet meer normaal opstart, bijvoorbeeld door een fout in een configuratiebestand waardoor schijven niet correct automatisch worden gekoppeld, of doordat het root filesystem read-only is geworden. In plaats van je eigen besturingssysteem te booten, start Horizon de bestaande instance tijdelijk vanaf een Debian- of Ubuntu-rescue-image. Vanuit die herstelomgeving kun je onderhoud uitvoeren op de originele systeemdisk.

    In dit artikel lees je hoe je een bestaande instance in Rescue Mode zet, verbinding maakt met de herstelomgeving en de instance herstelt.

    • Rescue Mode start je bestaande instance niet op vanaf het originele besturingssysteem, maar vanaf een tijdelijke herstelimage.
    • De originele systeemdisk wordt normaal als extra disk beschikbaar gemaakt in de rescue-omgeving, zodat je configuratiebestanden veilig offline kunt aanpassen.
    • Gebruik altijd lsblk -f om disks en partities te identificeren en ga nooit uit van een vaste disknaam.
    • Maak geen aparte rescue-instance aan. Start Rescue Mode op de instance die je wilt herstellen.
     

     

    Rescue Mode starten

     

    Stap 1

    Log in op het TransIP-controlepaneel en open je OpenStack-omgeving in Horizon. Navigeer vervolgens naar de pagina van de instance die je wilt herstellen.


     

    Stap 2

    Klik bij de bestaande instance op ‘Actions’ en daarna op ‘Rescue Instance’. Maak hiervoor geen nieuwe losse instance aan.

    Hiermee zet je de instance in een tijdelijke herstelmodus in plaats van dat de normale bootprocedure wordt gestart.

    Let op

    Start Rescue Mode op de bestaande instance die je wilt herstellen. Maak hiervoor geen aparte nieuwe instance aan. Als je alleen een losse nieuwe instance aanmaakt, wordt de originele systeemdisk niet automatisch als extra disk zichtbaar in de herstelomgeving.

     

     

    Stap 3

    Selecteer een rescue-image, bijvoorbeeld Debian of Ubuntu, en bevestig je keuze.

    De gekozen image dient alleen als herstelomgeving. Je hoeft dus niet dezelfde distributie te kiezen als de distributie die op de originele instance is geïnstalleerd.


     

    Verbinden met de rescue-omgeving

     

    Stap 1

    Verbind via SSH met de instance die in Rescue Mode staat.


     

    Stap 2

    Gebruik de juiste gebruikersnaam voor de rescue-image die je hebt gekozen:

    • Debian: debian
    • Ubuntu: ubuntu
    ssh -i ~/.ssh/key ubuntu@<public-ip>

    Vervang ubuntu door debian wanneer je een Debian rescue-image hebt gekozen. Met -i geef je het pad op naar je private SSH-sleutel.

    Let op

    Krijg je een hostkey-waarschuwing? Verwijder dan eerst de oude SSH-entry van het IP-adres uit je known_hosts-bestand:

    ssh-keygen -R <public-ip>

    De SSH-hostkey verandert bij Rescue en Unrescue. Door de oude entry te verwijderen, voorkom je dat SSH de verbinding blokkeert.

    Voer dit commando uit op je eigen computer, niet op de rescue-omgeving.

     

     

    Disks identificeren

     

    Nu je verbonden bent met de herstelomgeving, vraag je eerst een overzicht op van de aanwezige schijven en partities.

     

    Stap 1

    Gebruik hiervoor het volgende commando:

    lsblk -f

    Met lsblk -f zie je welke disk bij de herstelomgeving hoort en welke disk de originele systeemdisk van je instance is. Let vooral op de kolom MOUNTPOINTS. De partitie die op / gemount is, is de actieve rescue-omgeving.


     

    Stap 2

    Controleer in de uitvoer welke disk bij je originele installatie hoort. In veel gevallen zie je bijvoorbeeld:

    • sda: de tijdelijke rescue-omgeving
    • sdb: de originele systeemdisk van je instance

    Dit kan per omgeving verschillen. Gebruik daarom altijd de uitvoer van lsblk -f en ga nooit uit van alleen de disknaam.

    NAME    FSTYPE  LABEL             MOUNTPOINTS
    sda
    ├─sda1  ext4    cloudimg-rootfs   /
    ├─sda15 vfat    UEFI
    └─sda16 ext4    BOOT
    sdb
    ├─sdb1  ext4    cloudimg-rootfs
    ├─sdb15 vfat    UEFI
    └─sdb16 ext4    BOOT

    In dit voorbeeld is sda1 de actieve rescue-rootdisk, omdat deze op / gemount is. De originele root-partitie is sdb1, omdat deze als extra disk zichtbaar is en nog geen mountpoint heeft.

    Let op

    Zie je alleen sda en geen extra disk zoals sdb, vdb of nvme1n1? Ga dan niet verder met mounten. Controleer eerst of je de bestaande instance via Actions > Rescue Instance in Rescue Mode hebt gezet.

    Mount nooit blind /dev/sda1. Als /dev/sda1 op / gemount is, is dat de actieve rescue-omgeving en niet de originele root-partitie.

     

     

    Originele rootdisk mounten

    De originele systeemdisk wordt niet direct gebruikt, maar als losse schijf beschikbaar gemaakt in de rescue-omgeving. Door de juiste root-partitie handmatig te mounten, maak je de bestanden op de originele instance toegankelijk. Daarna kun je bijvoorbeeld configuratiebestanden herstellen of het filesystem controleren.

     

    Stap 1

    Maak eerst een mountpoint aan voor de originele root-partitie:

    sudo mkdir -p /mnt/rootdisk

    Hiermee maak je de directory aan waarin je de originele systeemdisk tijdelijk mount.


     

    Stap 2

    Mount daarna de root-partitie van de originele disk:

    sudo mount /dev/sdb1 /mnt/rootdisk

    Vervang /dev/sdb1 door de juiste root-partitie uit de uitvoer van lsblk -f. /dev/sdb1 is alleen een voorbeeld.

    Let op

    Krijg je de melding special device /dev/sdb1 does not exist? Dan bestaat /dev/sdb1 niet in jouw rescue-omgeving. Controleer opnieuw met lsblk -f welke extra disk en root-partitie beschikbaar zijn.

    Zie je geen extra disk, ga dan terug naar de stap Disks identificeren en controleer of Rescue Mode correct is gestart.

     

     

    Stap 3

    Controleer of de juiste partitie gemount is:

    ls /mnt/rootdisk

    Zie je directories zoals etc, var, usr en home, dan heb je de root-partitie van het originele systeem gemount.


     

    /etc/fstab aanpassen

     

    Stap 1

    Maak eerst een backup van het bestand /etc/fstab op de gemounte rootdisk:

    sudo cp /mnt/rootdisk/etc/fstab /mnt/rootdisk/etc/fstab.bak

    Zo kun je het originele bestand terugzetten als je per ongeluk een verkeerde wijziging maakt.


     

    Stap 2

    Open daarna het bestand /etc/fstab op de gemounte rootdisk:

    sudo nano /mnt/rootdisk/etc/fstab

    In dit bestand staan de filesystems en mountpoints die tijdens het booten automatisch gekoppeld worden.


     

    Stap 3

    Controleer het bestand op onjuiste configuratie, zoals:

    • onjuiste UUID of LABEL: de verwijzing wijst naar een niet-bestaande partitie;
    • verkeerde mountpoints: een mount verwijst naar een disk of directory die ontbreekt;
    • typfouten: een kleine schrijffout kan al voorkomen dat het systeem correct boot.

     

    Stap 4

    Herstel de foutieve regel of plaats tijdelijk een # aan het begin van de regel om deze uit te schakelen. Sla daarna het bestand op en sluit de editor af.

    Ctrl + O
    Enter
    Ctrl + X

    Door een foutieve mount tijdelijk uit te schakelen, kan de instance weer opstarten. Daarna kun je de configuratie definitief aanpassen vanuit het normale besturingssysteem.


     

    Filesystem controleren

     

    Is het filesystem read-only geworden of vermoed je filesystemschade? Controleer dan eerst of de partitie niet meer gemount is en voer daarna een filesystemcontrole uit.


     

    Stap 1

    Unmount de originele root-partitie:

    sudo umount /mnt/rootdisk

    Een filesystemcontrole werkt alleen betrouwbaar wanneer de partitie niet actief gemount is.

    Controleer daarna of de partitie niet meer gemount is:

    mount | grep rootdisk

    Geeft dit commando geen output, dan is de partitie niet meer gemount.


     

    Stap 2

    Start daarna een controle van het filesystem. Het volgende commando controleert en herstelt een ext4-filesystem op de originele root-partitie:

    sudo fsck.ext4 -f /dev/sdb1

    Vervang /dev/sdb1 door de juiste partitie. Gebruik dit commando alleen wanneer de betreffende partitie een ext4-filesystem heeft. Met -f forceer je een volledige controle, ook wanneer het filesystem schoon lijkt.

    e2fsck 1.47.0 (5-Feb-2023)
    Pass 1: Checking inodes, blocks, and sizes
    Pass 2: Checking directory structure
    Pass 3: Checking directory connectivity
    Pass 4: Checking reference counts
    Pass 5: Checking group summary information
    cloudimg-rootfs: 117216/12976128 files (0.1% non-contiguous), 1432617/25951995 blocks

    Zie je geen foutmelding en eindigt de controle met een samenvatting van het filesystem, dan is de controle succesvol afgerond.

     


     

    Disk loskoppelen en Rescue Mode verlaten

     

    Stap 1

    Heb je na het aanpassen van /etc/fstab de partitie opnieuw gemount? Unmount deze dan opnieuw voordat je Rescue Mode verlaat:

    sudo umount /mnt/rootdisk

    Hiermee zorg je dat alle schrijfacties volledig naar disk zijn weggeschreven.

    Krijg je de melding not mounted, dan was de partitie al losgekoppeld. Je kunt dan doorgaan met de volgende stap.


     

    Stap 2

    Ga in Horizon terug naar je instance en klik op ‘Actions’ > ‘Unrescue Instance’.

    De tijdelijke rescue-omgeving stopt daarna en de instance boot opnieuw op vanaf de originele systeemdisk.


     

    Opnieuw verbinden en controleren

     

    Stap 1

    Verwijder na het unrescue-proces opnieuw de oude SSH-hostkey van het IP-adres:

    ssh-keygen -R <public-ip>

    Ook na het terugschakelen naar de originele instance wijzigt de hostkey weer ten opzichte van de rescue-omgeving.


     

    Stap 2

    Verbind daarna opnieuw met je instance:

    ssh -i ~/.ssh/key.pem ubuntu@<public-ip>

    Vervang ubuntu door de juiste gebruikersnaam van je eigen instance. Dat is dus niet per definitie dezelfde gebruiker als in de rescue-omgeving.


     

    Stap 3

    Controleer of het root filesystem weer read-write gemount is:

    mount | grep " on / "

    Zoek in de uitvoer naar rw. Zie je rw tussen de mountopties staan, dan is het root filesystem schrijfbaar gemount.

    /dev/sda1 on / type ext4 (rw,relatime,discard,errors=remount-ro,commit=30)

    Zie je ro in plaats van rw, dan is het root filesystem nog read-only gemount. Zet de instance dan opnieuw in Rescue Mode en controleer opnieuw /etc/fstab, het filesystem en de consolelog van de instance.


     

    Met Rescue Mode herstel je een OpenStack-instance wanneer deze niet meer normaal opstart, zonder dat je de originele systeemdisk direct hoeft te booten. Je gebruikt daarbij een tijdelijke herstelomgeving om de originele disk te mounten, configuratiebestanden zoals /etc/fstab te corrigeren, het filesystem te controleren en de instance daarna weer normaal te starten.

    Kom je er niet uit?

    Ontvang persoonlijke hulp van onze supporters

    Neem contact op