PowerFlex: Det går inte att lägga till en SDS-enhet med "Det finns redan en enhet med det angivna namnet i SDS"
Summary: Det går inte att lägga till en SDS-enhet med "Det finns redan en enhet med det angivna namnet i SDS"
Symptoms
När du lägger till en enhet i ett SDS via sclivisas det här felet:

# 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
Vanligtvis kan detta lösas med hjälp av "--update_device_original_path.” Försöker dock åtgärda problemet med enhetssökvägar En enhet med det angivna namnet finns redan i SDS slutar nu med det här felet:
# 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") kommer du inte att se någon duplicering i enhetssökvägarna.
Påverkan
Det går inte att lägga till nya enheter till SDS för att utöka lagringskapaciteten i klustret.
Cause
Som nämnts tidigare, när vi ser det här felet är det första du ska försöka att uppdatera enhetens ursprungliga sökväg som för närvarande finns i SDS. Om detta misslyckas beror det på att enheterna som SDS styr i den här värden hade ett fel vid ett tillfälle som rensades, antingen i användargränssnittet eller från kommandoraden, men MDM-enheten tillåter inte att enhetsfelen rensas ytterligare eftersom den inte längre är i ett "felaktigt" tillstånd. Det "ohanterade felet" är ett ScaleIO-problem som löses i en senare version av koden.
Resolution
Det snabbaste sättet att komma runt problemet är att lägga till en tillfällig enhet som fyller luckan i enhetslistan. Till exempel:
# 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
Anteckna den aktuella sökvägen som varje enhet använder. Den sista enheten är /dev/sdi. När en ny enhet läggs till kommer den in som /dev/sdj. Det finns redan en /dev/sdj listad under ursprunglig sökväg. När en ny SDS-enhet läggs till måste de aktuella och ursprungliga sökvägarna överensstämma. Metoden "--update_device_original_path" är tänkt att rensa upp detta och matcha de nuvarande och ursprungliga sökvägarna.
I det här fallet, när värden är en SVM på ESXi, lägger vi till en liten (8 GB, tunn) VMDK i SVM, som kommer in som /dev/sdj. Nu när den nya riktiga SDS-enheten läggs till, kommer den in som /dev/sdk, som är fri på både nuvarande och ursprunglig väg, och kommer att lyckas.
Additional Information
Versioner som påverkas
v2.0.0.3 och senare
Åtgärdat i version
v3.0