PowerFlex: MVM-rensning och utrymmesåtervinning

Oversigt: Den här artikeln beskriver hur du frigör utrymme på den virtuella hanteringsdatorn (MVM).

Denne artikel gælder for Denne artikel gælder ikke for Denne artikel er ikke knyttet til et bestemt produkt. Det er ikke alle produktversioner, der er identificeret i denne artikel.

Instruktioner

VARNING! Innan du utför de uppgifter som beskrivs i denna KB tar du en ögonblicksbild av MVM:erna. Detta ger en återställningsmetod om ett misstag görs när du rensar docknings-PVC:erna. 

MVM-snapshots kan tas med MVM:erna igång. Tillämpa de här stegen för alla tre MVM:er

  • Logga in på vCenter
  • Utför följande steg för varje MVM
  • Klicka på MVM --> Klicka på Snapshots --> Klicka på TA SNAPSHOT....
    Ta en tupplur
  • Klicka på SKAPA

Rensa inaktuella docker-registry-datorer

Steg

  1. Följande kommando visar poddarna "docker-registry" och visar den MVM som kör podden.

    delladmin@pfmpn2:/opt/platform-provisioner> kubectl get pods -n powerflex -o wide | grep docker | grep -v sync
    docker-registry-0                                             1/1     Running             0              16h    192.168.21.154   pfmpn3   <none>           <none>
    docker-registry-1                                             1/1     Running             0              16h    192.168.23.40    pfmpn2   <none>           <none>
  2. När du granskar utdata från de konfigurerade beständiga volymanspråken för docker-registry visas PVC-ID:na för de aktiva datorerna. PVC-data lagras i /opt/platform-provisioner/.

    Exempel:

    delladmin@pfmpn2:~> kubectl get pvc -n powerflex | grep docker
    docker-registry-data-docker-registry-0                                       Bound    pvc-648ed95b-0393-4c6d-b500-03a4b162dda5   20Gi       RWO            local-path                  46h
    docker-registry-data-docker-registry-1                                       Bound    pvc-0f689062-a700-48ad-8d10-65b985477e1a   20Gi       RWO            local-path                  19d
  3. När vi tittar på katalogutdata ovan kan du se att det finns två kataloger för "docker-registry-1". Det aktuella PVC-ID:t för "docker registry 1" är "pvc-0f689062-a700-48ad-8d10-65b985477e1a". Eftersom det finns två kataloger listade för "docker-registry-1".

  4. Det finns en inaktuell katalog som kan tas bort för att frigöra utrymme. Det kan finnas många fler beroende på hur många inaktuella kataloger som lämnades över tid.

    delladmin@pfmpn2:~> ls -al /opt/platform-provisioner/ | grep docker
    drwxrwxrwx 1 root root    12 Jul 22 15:47 pvc-0f689062-a700-48ad-8d10-65b985477e1a_powerflex_docker-registry-data-docker-registry-1
    drwxrwxrwx 1 root root    12 May 17 00:44 pvc-8a5f3651-dbd5-40a9-8252-51fd18539fc3_powerflex_docker-registry-data-docker-registry-1
  5. Den inaktuella katalogen förbrukar 60 GB och den här katalogen kan tas bort. Det inaktuella PVC-ID:t är "pvc-8a5f3651-dbd5-40a9-8252-51fd18539fc3"

    Använt utrymme före rensning av inaktuella kataloger

    delladmin@pfmpn2:~> df -h /dev/sda2
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda2       600G  273G  326G  46% /

    Exempel:
    Den inaktuella katalogen förbrukar 60 GB diskutrymme.

    delladmin@pfmpn2:~> du -h --max-depth=1 /opt/platform-provisioner/pvc-8a5f3651-dbd5-40a9-8252-51fd18539fc3_powerflex_docker-registry-data-docker-registry-1
    60G     /opt/platform-provisioner/pvc-8a5f3651-dbd5-40a9-8252-51fd18539fc3_powerflex_docker-registry-data-docker-registry-1/docker
    60G     /opt/platform-provisioner/pvc-8a5f3651-dbd5-40a9-8252-51fd18539fc3_powerflex_docker-registry-data-docker-registry-1
  6. Ta bort den inaktuella katalogen "docker-registry"

  7. När den inaktuella katalogen tas bort frigörs 60 GB.

    delladmin@pfmpn2:/opt/platform-provisioner> sudo rm -rf pvc-8a5f3651-dbd5-40a9-8252-51fd18539fc3_powerflex_docker-registry-data-docker-registry-1
    delladmin@pfmpn2:/opt/platform-provisioner> df -h /dev/sda2
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda2       600G  213G  385G  36% /

Rensa gamla IC/RCM-lagringskataloger

  • Kör följande kommando från valfri MVM för att hämta IC/RCM UUID:n och tillhörande namn. Det kan bara finnas en IC/RCM inställd som standard. Äldre IC/RCM-överensstämmelsepaket kan tas bort.

    Exempel:
    Kompatibilitetsversioner

    Exempel:
    Eftersom det bara finns en IC/RCM tillagd i överensstämmelseversioner i PFMP-användargränssnittet rapporterar databasen i sin tur bara en.

    delladmin@pfmpn2:/opt/platform/fileshare> kubectl exec -it -n powerflex $(kubectl get pods -n powerflex | grep -i asmm | awk '{print $1}') -- bash -c 'PGPASSWORD=$CONNECTION_USER_PASSWORD psql -h postgres-ha-pgbouncer -p 5432 -U asmmanageruser -d asm_manager -w -c "SELECT id,name FROM firmware_repository;"'
                    id                |             name
    ----------------------------------+-------------------------------
    402897a59688313b01968c2d859e4732 | Intelligent Catalog 46.382.00
    (1 row)
  • Efterlevnadspaketen lagras i /opt/platform/fileshare på alla tre MVM:erna. Alla UUID som inte är associerade med den aktuella standardkompatibilitetsversionen i PFMP-användargränssnittet kan tas bort om du ser kompatibilitetspaket med ett .zip-tillägg. Kontrollera att det inte pågår någon IC/RCM-synkronisering i PFMP-användargränssnittet.

  • Om alla paket har statusen Tillgänglig. De .zip filerna kan raderas för att frigöra utrymme.

    Exempel:

    delladmin@pfmpn2:/opt/platform/fileshare> pwd
    /opt/platform/fileshare
    delladmin@pfmpn2:/opt/platform/fileshare> ls -al | grep 402897a59688313b01968c2d859e4732
    drwxr-xr-x 1 delladmin users     14184 May 30 16:41 402897a59688313b01968c2d859e4732

    Exempel:

  • Denna MVM pfmpn1 har ett efterlevnadspaket i .zip från en IC/RCM-synkroniseringsuppgift som inte slutfördes. Den här filen kan tas bort för att frigöra utrymme.

    delladmin@pfmp452n1:/opt/platform/fileshare> ls -alh | grep 402897
    drwxr-xr-x 1 delladmin users  14K May 30 16:41 402897a59688313b01968c2d859e4732
    -rw-r--r-- 1 delladmin users  28G Jul 17 14:06 402897a59688313b01968c2d859e4732.zip
    
    delladmin@pfmp452n1:/opt/platform/fileshare> sudo rm -rf /opt/platform/fileshare/402897a59688313b01968c2d859e4732.zip
    
    Result
    delladmin@pfmp452n1:/opt/platform/fileshare> ls -alh | grep 402897
    drwxr-xr-x 1 delladmin users  14K May 30 16:41 402897a59688313b01968c2d859e4732
  • Det här exemplet visar att pfmpn3 innehåller en gammal katalog för IC/RCM-kompatibilitetsversion som inte längre behövs eftersom det bara har lagts till en IC/RCM-efterlevnadsversion i PFMP-användargränssnittet.

    delladmin@pfmp452n3:~> ls -al /opt/platform/fileshare/ | grep 402897
    drwxr-xr-x 1 delladmin users     11798 Feb 13 17:16 4028979594e191650195014584d93692
    drwxr-xr-x 1 delladmin users     14184 May 30 16:41 402897a59688313b01968c2d859e4732
  • Förbrukat utrymme på disk för gammal IC/RCM

    delladmin@pfmpn3:/opt/platform/fileshare/4028979594e191650195014584d93692> du -h --max-depth=1 .
    1.3G    ./modified
    47G     ./os
    2.8M    ./rpm s
    5.8M    ./slesrpms
    15M     ./vibs70
    53G     .
  • Du kan köra följande kommando för att identifiera namnet på den IC/RCM som är associerad med den här gamla katalogen. Ändra kommandot så att det inkluderar det UUID som gäller för din miljö.

    delladmin@pfmp452n3:/opt/platform/fileshare/4028979594e191650195014584d93692> head /opt/platform/fileshare/4028979594e191650195014584d93692/catalog.xml | grep name
    <Manifest baseLocation="" dateTime="2020-08-06T15:05:13" name="Intelligent Catalog 46.376.00" identifier="d70a21a1-116e-4a3c-95ec-52a24603b684" releaseID="MW3KN" version="1.28">
  • Den gamla IC/RCM-överensstämmelsekatalogen förbrukar 53 GB eftersom den aktuella standardversionen för IC/RCM i det här exemplet är 46.382.00. Om det inte finns någon referens till den gamla IC/RCM i användargränssnittet kan den här katalogen tas bort. Om en IC/RCM fortfarande visas i användargränssnittet tar du bort den från användargränssnittet först. Kontrollera sedan om katalogen rensas. Om den inte är det kan du ta bort katalogen manuellt.

  • Rensning av inaktuella PVC:er för Docker och rensning av gamla IC/RCM-paket bör vara allt som behövs för att få ner MVM-diskanvändningen till en hälsonivå.

Rensa PFMP-uppgraderingskataloger

Det finns tre kataloger som skapas under PFMP-uppgraderingen. Om du har uppgraderat PFMP men kan ha varit tvungen att slutföra en uppgraderingsfas manuellt, rensades inte katalogerna. Katalogerna kan också misslyckas med rensning om det fanns problem med ägarskapsbehörighet. Katalogerna finns i /opt/platform/fileshare på varje MVM. Den katalog som ger mest utrymme att frigöra är "PFMPUpgradeBundle"

Katalognamn

  • PFMPUpgradeBundle (på engelska)
  • Plattform
  • Uppgradering
delladmin@pfmp452n3:/opt/platform/fileshare> ls -alh /opt/platform/fileshare/ | grep -Ei 'upgrade|platform'
drwxr-xr-x 1 delladmin root   362 Jul 22 15:23 PFMPUpgradeBundle
drwxr-xr-x 1 delladmin users    0 Nov  7  2024 platform
drwxr-xr-x 1 delladmin root    92 Jul 22 15:23 Upgrade

Kör följande kommandon för att ta bort dessa kataloger.

sudo rm -rf /opt/platform/fileshare/PFMPUpgradeBundle
sudo rm -rf /opt/platform/fileshare/Upgrade
sudo rm -rf /opt/platform/fileshare/platform

Rensa loggfiler för stora poddar

  • Om mer utrymme behövs, kontrollera och ta bort vid behov:

  • På alla PFMP-servrar (MVM) som har utrymmesproblem kör du följande sökkommandon för att kontrollera hur stora loggfilerna är:

    sudo find /opt/platform-provisioner -type d -name "pvc-*_*_logging-rsyslog-data-*" -exec ls -lh {} \;
    sudo find /opt/platform-provisioner -iname "docker-registry.stdout.log" -exec du -h {} \;
    sudo find /opt/platform-provisioner -iname "supportassist-vxflexappliance.stdout.log" -exec du -h {} \;
    sudo find /opt/platform-provisioner -iname "temporal-history.stdout.log" -exec du -h {} \;
  • Följande kommandon tar automatiskt bort dessa stora loggfiler:

    Obs! Du behöver inte köra borttagningskommandona nedan om filerna är små i storleken < 300 MB. Om de är stora kan storleken variera mellan 1 GB och 100+ GB
    sudo find /opt/platform-provisioner -type d -name "pvc-*_*_logging-rsyslog-data-*" -exec sh -c 'for log in "$1"/*.log; do [ -e "$log" ] && echo "clean" > "$log"; done' _ {} \;
    sudo find /opt/platform-provisioner -iname "docker-registry.stdout.log" -exec sh -c 'echo "clean" > "$1"' _ {} \;
    sudo find /opt/platform-provisioner -iname "supportassist-vxflexappliance.stdout.log" -exec sh -c 'echo "clean" > "$1"' _ {} \;
    sudo find /opt/platform-provisioner -iname "temporal-history.stdout.log" -exec sh -c 'echo "clean" > "$1"' _ {} \;

Validering

Kontrollera att diskanvändningen har minskat med följande kommando. När rensningen är klar med endast ett efterlevnadspaket kan användningen variera från 35 % till 55 %.

df -h /dev/sda2

Ex.
delladmin@pfmpn2:/opt> df -h /dev/sda2
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2       600G  218G  381G  37% /

sudo du -h --max-depth=1 /opt

Ex.
delladmin@pfmpn2:/opt> sudo du -h --max-depth=1 /opt
45G     ./platform
146M    ./rke2
294M    ./cni
84G     ./platform-provisioner
129G    .

Kör följande kommando och kontrollera att alla poddar är i ett körningstillstånd.

kubectl get pods -o wide -n powerflex

Övervaka PFMP-klustret i 24 timmar. Sedan kan MVM-ögonblicksbilderna raderas.

Flere oplysninger

Skriptet nedan kan också användas för PVC-rensningen.

Det är säkert att använda skriptet eftersom det inte utför borttagningarna. Den innehåller de kommandon som behövs för att ta bort. Det är dock ett skript som inte stöds av Dell. Rekommendationen är att använda den manuella metod som beskrivs i denna KB. Det går inte att använda det här skriptet.

Hur man skapar en skriptfil på en MVM.  Denna procedur skulle behöva upprepas på de andra två MVM:erna

 

#Create en tom fil
touch /home/delladmin/dockerpvcclean.sh

#Give filen utföra behörigheten
chmod +x /home/dellamdin/dockerpvcclean.sh

#Use följande kommando för att öppna filen med vi-redigeraren
vi /home/delladmin/dockerpvcclean.sh

När vi-redigeraren är öppen går du in i infogningsläge genom att trycka på "i"-tangenten
#Copy skriptfilens innehåll i slutet av det här avsnittet. 
Högerklicka i terminalen för att klistra in innehållet i filen.

#Save filen
{Tryck på Esc för att avsluta infogningsläget. Tryck på {Shift}: 
Tryck sedan på wq
Tryck sedan på Enter (detta kommer att skriva och avsluta vi-redigeraren och återgå till kommandotolken)

#Confirm filen innehåller skriptinnehållet
cat /home/delladmin/dockerpvcclean.sh

#To utföra skriptet kör du följande kommandon.

sudo -s
/home/delladmin/dockerpvcclean.sh

Skriptfilens innehåll

#!/bin/bash
# Set this node name
MYNODENAME=$(kubectl get node -o yaml |grep host |awk '{print $2}' |grep $(hostname))
echo "$MYNODENAME Free space on root partition:"
df -h /
#
DOCKER0PV=$(kubectl get pvc -n powerflex  docker-registry-data-docker-registry-0 -o json  | jq .spec.volumeName | sed 's/"//g')
DOCKER1PV=$(kubectl get pvc -n powerflex  docker-registry-data-docker-registry-1 -o json  | jq .spec.volumeName | sed 's/"//g')
echo Currently used docker-registry-0 PV is $DOCKER0PV
echo Currently used docker-registry-1 PV is $DOCKER1PV
#
# Show which hosts have the current running set of docker-registry pods
for DOCKPOD in $(kubectl get pods -A -o name | grep docker-registry | grep -v sync); do
REGHOST=$(kubectl get $DOCKPOD -n powerflex -o jsonpath='{.spec.nodeName}');
echo $REGHOST has $DOCKPOD;
done

#Check for the good/valid PV directories on this host
DOCKER0PVDIR=$(find /opt/platform-provisioner/ -type d -name $DOCKER0PV*)
DOCKER1PVDIR=$(find /opt/platform-provisioner/ -type d -name $DOCKER1PV*)
if [ -n "$DOCKER0PVDIR" ];
then
echo Keeping $DOCKER0PVDIR which is on this node
fi
if [ -n "$DOCKER1PVDIR" ];
then
echo Keeping $DOCKER1PVDIR which is on this node
fi

STALEDOCKERPVDIRS=$(find /opt/platform-provisioner/ -type d -name *docker-registry-data* | grep -v $DOCKER1PV | grep -v $DOCKER0PV; echo )

if [ -n "$STALEDOCKERPVDIRS" ];
then
echo ##################################
echo Found $(echo $STALEDOCKERPVDIRS | wc -w ) Stale PVs on $HOSTNAME;
  for CHECKSPACE in $(echo $STALEDOCKERPVDIRS); do
  echo
  echo $CHECKSPACE uses;
  du -hcs $CHECKSPACE;
  echo "#Please Run the following:"
  echo "rm -rf $CHECKSPACE"
  done
echo "A total of $(du -hcs $STALEDOCKERPVDIRS | grep total) can be saved"
else
        echo "Good news: No stale PVs related to docker-registry found!"
fi

 

Berørte produkter

PowerFlex rack connectivity, PowerFlex rack RCM Software, PowerFlex Software

Produkter

PowerFlex rack
Artikelegenskaber
Artikelnummer: 000348682
Artikeltype: How To
Senest ændret: 21 jan. 2026
Version:  5
Find svar på dine spørgsmål fra andre Dell-brugere
Supportservices
Kontrollér, om din enhed er dækket af supportservices.