PowerFlex: MVM-opprydding og plassgjenvinning
Oversigt: Denne artikkelen forklarer hvordan du frigjør plass på den virtuelle maskinen for administrasjon (MVM-er).
Instruktioner
MVM-øyeblikksbilder kan tas mens MVM-ene kjører. Bruk disse trinnene for alle tre MVM-ene
- Logg på vCenter
- Utfør følgende trinn for hver MVM:
- Klikk på MVM --> Klikk på øyeblikksbilder --> Klikk på TA ØYEBLIKKSBILDE....

- Klikk på OPPRETT
Opprydding Foreldet docker-register PVC-er
Trinn
-
Følgende kommando viser "docker-registry"-podene og viser MVM-en som kjører poden.
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 ser gjennom resultatet av de konfigurerte vedvarende volumpåstandene for docker-registeret, er PVC-ID-ene oppført for de aktive PVC-ene. PVC-dataene lagres 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å katalogutdataene ovenfor, kan du se at det er to kataloger for "docker-registry-1." Gjeldende PVC-ID for "docker registry 1" er "pvc-0f689062-a700-48ad-8d10-65b985477e1a." Siden det er to kataloger oppført for "docker-registry-1."
-
Det er en foreldet katalog som kan slettes for å frigjøre plass. Det kan være mange flere, avhengig av hvor mange foreldede kataloger som var igjen 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 foreldede katalogen bruker 60 GB, og denne katalogen kan slettes. Den foreldede PVC-ID-en er "pvc-8a5f3651-dbd5-40a9-8252-51fd18539fc3"
Plass brukt før foreldet katalogopprydding
delladmin@pfmpn2:~> df -h /dev/sda2 Filesystem Size Used Avail Use% Mounted on /dev/sda2 600G 273G 326G 46% /
Eksempel:
Den foreldede katalogen bruker 60 GB diskplass.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
-
Slette den foreldede "docker-registry"-katalogen
-
Når den foreldede katalogen slettes, frigjøres 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% /
Opprydding gamle IC / RCM Repository kataloger
-
Kjør følgende kommando fra en hvilken som helst MVM for å hente IC/RCM UUID-er og tilknyttet navn. Det kan bare være én IC/RCM angitt som standard. Eldre IC/RCM-samsvarspakker kan fjernes.
Eksempel:

Eksempel:
Siden det bare er lagt til én IC/RCM i samsvarsversjoner i PFMP-brukergrensesnittet, rapporterer databasen bare é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) -
Samsvarspakkene lagres i
/opt/platform/filesharepå alle tre MVM-ene. Alle UUID-er som ikke er knyttet til gjeldende standard samsvarsversjon i PFMP-grensesnittet, kan slettes hvis du ser samsvarspakker med en .zip-utvidelse. Kontroller at det ikke pågår IC/RCM-synkronisering i PFMP-brukergrensesnittet. -
Hvis alle buntene er i tilstanden Tilgjengelig. De .zip filene kan slettes for å frigjøre plass.
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 samsvarspakke i .zip fra en IC/RCM-synkroniseringsoppgave som ikke ble fullført. Denne filen kan slettes for å frigjøre plass.
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 eksemplet viser at pfmpn3 inneholder en gammel IC/RCM-samsvarsversjonskatalog som ikke lenger er nødvendig, siden det bare er lagt til én IC/RCM-samsvarsversjon i PFMP-brukergrensesnittet.
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
-
Plassforbruk på disken for 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 kjøre følgende kommando for å identifisere navnet på IC/RCM som er knyttet til denne gamle katalogen. Endre kommandoen slik at den inkluderer UUID som gjelder for miljøet ditt.
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-samsvarskatalogen bruker 53 GB siden gjeldende standard IC/RCM-versjon i dette eksemplet er 46.382.00. Hvis det ikke refereres til den gamle IC/RCM i brukergrensesnittet, kan denne katalogen slettes. Hvis en IC/RCM fortsatt er oppført i brukergrensesnittet, fjerner du den fra brukergrensesnittet først. Sjekk deretter om katalogen er ryddet opp. Hvis ikke, kan du slette katalogen manuelt.
-
Å rydde opp i foreldede PVC-er for docker og rydde opp i gamle IC / RCM-bunter bør være alt som trengs for å få MVM-diskbruken ned til et tilstandsnivå.
Opprydding PFMP Upgrade kataloger
Det er tre kataloger som opprettes under PFMP-oppgradering. Hvis du har oppgradert PFMP, men kanskje har måttet fullføre en oppgraderingsfase manuelt, ble ikke katalogene ryddet opp. Katalogene kan også unnlate å rydde opp hvis det var problemer med eierskapstillatelse. Katalogene er i /opt/platform/fileshare på hver MVM. Katalogen som gir mest plass til å gjenvinne, er "PFMPUpgradeBundle"
Katalognavn
- PFMPUpgradeBundle
- Plattform
- Oppgradering
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
Kjør følgende kommandoer for å slette disse katalogene.
sudo rm -rf /opt/platform/fileshare/PFMPUpgradeBundle sudo rm -rf /opt/platform/fileshare/Upgrade sudo rm -rf /opt/platform/fileshare/platform
Opprydding Store pod loggfiler
-
Hvis du trenger mer plass, kan du kontrollere og slette om nødvendig:
-
På alle PFMP-servere (MVM) som har plassproblemer, kjører du følgende søkekommandoer for å kontrollere hvor store loggfilene 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 loggfilene:
Merk: Du trenger ikke å kjøre slettekommandoene nedenfor hvis filene er små i størrelse < 300MB. Hvis de er store, kan størrelsen variere mellom 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 diskbruken er redusert ved hjelp av følgende kommando. Når oppryddingen er fullført med bare én samsvarspakke, kan bruken 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 .
Kjør følgende kommando og kontroller at alle pods er i Running-tilstand.
kubectl get pods -o wide -n powerflex
Overvåk PFMP-klyngen i 24 timer. Deretter kan MVM-øyeblikksbildene slettes.
Flere oplysninger
Skriptet nedenfor kan også brukes til PVC-opprydding.
Det er trygt å bruke skriptet fordi det ikke utfører slettingene. Den gir kommandoene som trengs for å slette. Det er imidlertid et skript som ikke støttes av Dell; Det anbefales å bruke den manuelle metoden som dekkes i denne KB-en. Bruk av dette skriptet støttes ikke.
Hvordan lage en skriptfil på en MVM. Denne prosedyren må gjentas på de to andre MVM-ene
#Create en tom filtouch /home/delladmin/dockerpvcclean.sh
#Give tillatelsen til filutføringchmod +x /home/dellamdin/dockerpvcclean.sh
#Use følgende kommando for å åpne filen med vi editor
vi /home/delladmin/dockerpvcclean.sh
Med redigeringsprogrammet åpent, Gå inn i innsettingsmodus ved å trykke på "i" -tasten
#Copy skriptfilinnholdet på slutten av denne delen.
Høyreklikk i terminalen for å lime inn innholdet i filen.
#Save filen
{Trykk Esc for å avslutte innsettingsmodus. Trykk på {Skift}:
Trykk deretter wq
Trykk deretter Enter (Dette vil skrive og avslutte vi-editoren og gå tilbake til ledeteksten)
#Confirm filen inneholder skriptinnholdetcat /home/delladmin/dockerpvcclean.sh
#To utføre skriptet, kjører du følgende kommandoer.
sudo -s/home/delladmin/dockerpvcclean.sh
Innhold i skriptfil
#!/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