PowerFlex: MVM-oprydning og rumindvinding
Oversigt: I denne artikel forklares det, hvordan du får mere plads på MVM'erne (Management Virtual Machine).
Instruktioner
MVM-snapshots kan tages med MVM'erne kørende. Anvend disse trin for alle tre MVM'er
- Log på vCenter
- Udfør følgende trin for hver MVM
- Klik på MVM -> Klik på Snapshots -> Klik på TAG SNAPSHOT....

- Klik på OPRET
Oprydning Forældede PVC er i docker-registreringsdatabasen
Trin
-
Følgende kommando viser "docker-registry"-pod'erne og den MVM, der kører pod'en.
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>
-
Når du gennemgår outputtet af de konfigurerede Persistent Volume Claims for docker-registry, vises PVC-id erne for de aktive PVC er. PVC-dataene gemmes i
/opt/platform-provisioner/.Eksempel:
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
-
Når vi ser på mappeoutputtet ovenfor, kan du se, at der er to mapper til "docker-registry-1." Det aktuelle PVC-id for "docker registry 1" er "pvc-0f689062-a700-48ad-8d10-65b985477e1a." Da der er to mapper angivet for "docker-registry-1."
-
Der er en forældet mappe, der kan slettes for at frigøre plads. Der kan være mange flere afhængigt af hvor mange uaktuelle mapper der var tilbage over 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
-
Den forældede mappe bruger 60 GB, og denne mappe kan slettes. Det forældede PVC-id er "pvc-8a5f3651-dbd5-40a9-8252-51fd18539fc3"
Plads brugt før forældet katalogoprydning
delladmin@pfmpn2:~> df -h /dev/sda2 Filesystem Size Used Avail Use% Mounted on /dev/sda2 600G 273G 326G 46% /
Eksempel:
Den forældede mappe bruger 60 GB diskplads.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
-
Sletning af den forældede mappe "docker-registry"
-
Når den forældede mappe slettes, frigøres den 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% /
Ryd op i gamle IC/RCM-lagerbiblioteker
-
Kør følgende kommando fra en MVM for at hente IC/RCM-UUID'erne og det tilknyttede navn. Der kan kun indstilles én IC/RCM til standard. Ældre IC/RCM-overholdelsespakker kan fjernes.
Eksempel:

Eksempel:
Da der kun er føjet én IC/RCM til overholdelsesversioner i PFMP-brugergrænsefladen, rapporterer databasen kun én.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) -
Overholdelsespakkerne gemmes i
/opt/platform/filesharepå alle tre MVM'er. Alle UUID'er, der ikke er knyttet til den aktuelle standardversion af overholdelse i PFMP-brugergrænsefladen, kan slettes, hvis du ser overholdelsespakker med et .zip filtypenavn. Kontrollér, at der ikke er nogen IC/RCM-synkronisering i gang i PFMP-brugergrænsefladen. -
Hvis alle pakkerne er i tilstanden Tilgængelig. De .zip filer kan slettes for at frigøre plads.
Eksempel:
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
Eksempel:
-
Denne MVM pfmpn1 har en overholdelsespakke i .zip fra en IC/RCM-synkroniseringsopgave, der ikke blev fuldført. Denne fil kan slettes for at frigøre plads.
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
-
Dette eksempel viser, at pfmpn3 indeholder en gammel IC/RCM-overensstemmelsesversionsmappe, som ikke længere er nødvendig, da der kun er tilføjet én IC/RCM-overensstemmelsesversion i PFMP-brugergrænsefladen.
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
-
Plads forbrugt på disk til gammel 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øre følgende kommando for at identificere navnet på den IC/RCM, der er tilknyttet denne gamle mappe. Rediger kommandoen, så den indeholder det UUID, der gælder for dit 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">
-
Denne gamle IC/RCM-overholdelsesmappe bruger 53 GB, da den aktuelle IC/RCM-standardversion i dette eksempel er 46.382.00. Hvis der ikke refereres til den gamle IC/RCM i brugergrænsefladen, kan denne mappe slettes. Hvis der stadig er angivet en IC/RCM i brugergrænsefladen, skal du først fjerne den fra brugergrænsefladen. Kontroller derefter, om biblioteket er ryddet op. Hvis det ikke er tilfældet, kan du manuelt slette biblioteket.
-
Oprydning af forældede PVC'er til docker og oprydning af gamle IC / RCM-bundter bør være alt, hvad der er nødvendigt for at få MVM-diskforbruget ned på et sundhedsniveau.
Oprydning PFMP Opgraderingsmapper
Der er tre mapper, der oprettes under PFMP-opgradering. Hvis du har opgraderet PFMP, men måske har været nødt til at fuldføre en opgraderingsfase manuelt, blev mapperne ikke ryddet op. Mapperne kan også undlade at rydde op, hvis der var problemer med ejerskabstilladelse. Mapperne er i / opt / platform / fildeling på hver MVM. Den mappe, der giver mest plads til genvinding, er "PFMPUpgradeBundle"
Katalognavne
- PFMPUpgrade-pakke
- Platform
- Opgrader
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ølgende kommandoer for at slette disse mapper.
sudo rm -rf /opt/platform/fileshare/PFMPUpgradeBundle sudo rm -rf /opt/platform/fileshare/Upgrade sudo rm -rf /opt/platform/fileshare/platform
Oprydning Store pod-logfiler
-
Hvis der er brug for mere plads, kan du kontrollere og slette om nødvendigt:
-
På en PFMP-server (MVM) med pladsproblemer skal du køre følgende søgningskommandoer for at kontrollere, hvor store logfilerne er:
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ølgende kommandoer fjerner automatisk disse store logfiler:
Bemærk: Du behøver ikke at køre slettekommandoerne nedenfor, hvis filerne er små i størrelse < 300MB. Hvis de er store, kan størrelsen variere mellem 1 GB og 100 + GBsudo 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
Kontroller, at diskforbruget er reduceret ved hjælp af følgende kommando. Når oprydningen er afsluttet med kun én overholdelsespakke, kan forbruget variere fra 35% til 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ølgende kommando, og kontrollér, at alle pods er i køretilstand.
kubectl get pods -o wide -n powerflex
Overvåg PFMP-klyngen i 24 timer. Derefter kan MVM-snapshots slettes.
Flere oplysninger
Scriptet nedenfor kan også bruges til PVC-oprydning.
Det er sikkert at bruge scriptet, fordi det ikke udfører sletningerne. Den indeholder de kommandoer, der er nødvendige for at slette. Det er dog et ikke-understøttet script fra Dell. Det anbefales at anvende den manuelle metode, der er beskrevet i denne KB. Brug af dette script understøttes ikke.
Sådan oprettes en scriptfil på en MVM. Denne procedure skal gentages på de to andre MVM'er
#Create en tom filtouch /home/delladmin/dockerpvcclean.sh
#Give tilladelsen til at udføre filenchmod +x /home/dellamdin/dockerpvcclean.sh
#Use følgende kommando for at åbne filen med vi editor
vi /home/delladmin/dockerpvcclean.sh
Når vi-editoren er åben, skal du gå i indsætningstilstand ved at trykke på "i"-tasten
#Copy scriptfilindholdet i slutningen af dette afsnit.
Højreklik i terminalen for at indsætte indholdet i filen.
#Save filen
{Tryk på Esc for at afslutte indsætningstilstand. Tryk på {Shift}:
Tryk derefter på wq
Tryk derefter på Enter (Dette vil skrive og afslutte vi-editoren og vende tilbage til kommandoprompten#Confirm
filen indeholder scriptindholdetcat /home/delladmin/dockerpvcclean.sh
#To udføre scriptet skal du køre følgende kommandoer.
sudo -s/home/delladmin/dockerpvcclean.sh
Scriptfilindhold
#!/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