PowerFlex: Tilføjelse af en SDS-enhed mislykkes med "Der findes allerede en enhed med det givne navn i SDS"
Summary: Tilføjelse af en SDS-enhed mislykkes med "Der findes allerede en enhed med det givne navn i SDS"
Symptoms
Mens du tilføjer en enhed til et SDS gennem scli, vises denne fejl:

# 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 typisk løses ved hjælp af "--update_device_original_path." Men forsøg på at løse problemet med enhedsstier En enhed med det givne navn, der allerede findes i SDS, slutter nu med denne fejl:
# 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 nogen duplikering i enhedsstierne.
Påvirkning
Kan ikke føje nye enheder til SDS for at udvide lagerkapaciteten i klyngen.
Cause
Som nævnt tidligere, når vi ser denne fejl, er den første ting at prøve at opdatere enhedens originale sti, der i øjeblikket findes i SDS. Hvis dette mislykkes, skyldes det, at de enheder, som SDS styrer i denne vært, havde en fejl på et tidspunkt, der blev ryddet, enten i brugergrænsefladen eller fra kommandolinjen, men MDM tillader ikke, at enhedsfejlene ryddes yderligere, da den ikke længere er i en "fejlbehæftet" tilstand. Den "ikke-håndterede fejl" er et ScaleIO-problem, der løses i en senere koderevision.
Resolution
For at løse problemet er den hurtigste måde at tilføje en midlertidig enhed, der udfylder hullet på enhedslisten. F.eks.:
# 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
Bemærk den aktuelle sti, som hver enhed bruger. Den sidste enhed er /dev/sdi. Når en ny enhed tilføjes, kommer den ind som /dev/sdj. Der er allerede en /dev/sdj opført under oprindelig sti. Når en ny SDS-enhed tilføjes, skal de aktuelle og originale stier stemme overens. Den "--update_device_original_path" kommando formodes at rydde op i dette og matche de aktuelle og originale stier.
I dette tilfælde, hvor værten er en SVM på ESXi, føjer vi en lille (8 GB, tynd) VMDK til SVM'en, som kommer ind som /dev/sdj. Når den nye rigtige SDS-enhed tilføjes, kommer den ind som /dev/sdk, som er gratis på både nuværende og oprindelige sti, og vil lykkes.
Additional Information
Påvirkede versioner
v2.0.0.3 og derover
Løst i version
v3.0