PowerFlex: Å legge til en SDS-enhet mislykkes med "En enhet med fornavnet finnes allerede i SDS"
Summary: Å legge til en SDS-enhet mislykkes med "En enhet med fornavnet finnes allerede i SDS"
Symptoms
Mens du legger til en enhet i et SDS gjennom scli, vises denne feilen:

# scli --add_sds_device --sds_name sds-01 --device_path /dev/sdc --storage_pool pool1
Error: MDM failed command. Status: A device with the given name already exists in the SDS
Dette kan vanligvis løses ved å bruke "--update_device_original_path." Forsøk på å fikse problemet med enhetsbaner En enhet med det gitte navnet eksisterer allerede i SDS slutter nå med denne feilen:
# scli --update_device_original_path --sds_id be84190600000001 --device_id cd82454400010008
Error: MDM failed command. Status: Device has an unhandled error that cannot yet be cleared
lsblk") vil du ikke se noen duplisering i enhetsbanene.
Innvirkning
Kan ikke legge til nye enheter i SDS for å utvide lagringskapasiteten i klyngen.
Cause
Som nevnt tidligere, når vi ser denne feilen, er det første du må prøve å oppdatere enhetens opprinnelige bane som for øyeblikket finnes i SDS. Hvis dette mislykkes, er det fordi enhetene SDS kontrollerer i denne verten hadde en feil på en gang som ble slettet, enten i brukergrensesnittet eller fra kommandolinjen, men MDM tillater ikke at enhetsfeilene fjernes lenger, da det ikke lenger er i en "feilet" tilstand. "Uhåndtert feil" er et ScaleIO-problem som er løst i en senere revisjon av koden.
Resolution
Den raskeste måten kan omgå problemet ved å legge til en midlertidig enhet som fyller hullet i enhetslisten. Eksempel:
# scli --query_sds --sds_id be84190600000001 |grep ID: |awk '{print $4,$5,$6,$7}'
Path: /dev/sdb Original-path: /dev/sdb
Path: /dev/sdc Original-path: /dev/sdc
Path: /dev/sdd Original-path: /dev/sdd
Path: /dev/sde Original-path: /dev/sde
Path: /dev/sdf Original-path: /dev/sdf
Path: /dev/sdg Original-path: /dev/sdh
Path: /dev/sdh Original-path: /dev/sdi
Path: /dev/sdi Original-path: /dev/sdj
# lsblk
NAME MAJ:MIN RM SIZE RO MOUNTPOINT
sdb 8:16 0 930.4G 0
sdc 8:32 0 930.4G 0
sdd 8:48 0 930.4G 0
sde 8:64 0 930.4G 0
sdf 8:80 0 930.4G 0
sdg 8:96 0 930.4G 0
sda 8:0 0 8G 0
ââsda1 8:1 0 1011M 0 [SWAP]
ââsda2 8:2 0 7G 0 /
sdi 8:128 0 930.4G 0
sdh 8:112 0 930.4G 0
fd0 2:0 1 4K 0
sr0 11:0 1 1024M 0
Legg merke til gjeldende bane som hver enhet bruker. Den siste enheten er /dev/sdi. Når en ny enhet legges til, kommer den inn som /dev/sdj. Det finnes allerede en /dev/sdj oppført under original-banen. Når en ny SDS-enhet legges til, må gjeldende og opprinnelige baner samsvare. Den "--update_device_original_path" kommandoen er ment å rydde opp i dette og matche gjeldende og opprinnelige baner.
I dette tilfellet, siden verten er en SVM på ESXi, legger vi til en liten (8 GB, tynn) VMDK til SVM-en, som kommer inn som /dev/sdj. Nå når den nye virkelige SDS-enheten er lagt til, kommer den inn som /dev/sdk, som er gratis på både nåværende og opprinnelige banen, og vil lykkes.
Additional Information
Berørte versjoner
v2.0.0.3 og nyere
Løst i versjon
v3.0