PowerFlex: Dodanie urządzenia SDS kończy się niepowodzeniem z komunikatem "Urządzenie o podanej nazwie już istnieje w SDS"
Summary: Dodanie urządzenia SDS kończy się niepowodzeniem z komunikatem "Urządzenie o podanej nazwie już istnieje w SDS"
Symptoms
Podczas dodawania urządzenia do serwera SDS za pomocą scli, ten błąd zostanie wyświetlony:

# 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
Zazwyczaj problem ten można rozwiązać, używając "--update_device_original_path”. Jednak próba rozwiązania problemu ścieżek urządzeń Urządzenie o podanej nazwie już istnieje w SDS teraz kończy się tym błędem:
# 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") nie zobaczysz żadnych duplikatów w ścieżkach urządzeń.
Wpływ
Nie można dodać nowych urządzeń do serwera SDS w celu zwiększenia pojemności pamięci masowej w klastrze.
Cause
Jak wspomniano wcześniej, gdy widzimy ten błąd, pierwszą rzeczą do wypróbowania jest aktualizacja oryginalnej ścieżki urządzenia, która obecnie istnieje w SDS. Jeśli to się nie powiedzie, oznacza to, że urządzenia kontrolowane przez SDS na tym hoście miały kiedyś błąd, który został usunięty w interfejsie użytkownika lub w wierszu poleceń, ale MDM nie pozwala na dalsze usuwanie błędów urządzeń, ponieważ nie jest już w stanie "błędnym". "Nieobsługiwany błąd" to problem ScaleIO, który został rozwiązany w nowszej wersji kodu.
Resolution
Aby obejść ten problem, najszybszym sposobem jest dodanie tymczasowego urządzenia, które wypełni lukę na liście urządzeń. Na przykład:
# 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
Zanotuj bieżącą ścieżkę używaną przez każde urządzenie. Ostatnim urządzeniem jest /dev/sdi. Po dodaniu nowego urządzenia jest ono dostarczane jako /dev/sdj. Jest już /dev/sdj wymienione w obszarze ścieżka oryginalna. Po dodaniu nowego urządzenia SDS bieżące i oryginalne ścieżki muszą być zgodne. Plik "--update_device_original_path" ma na celu wyjaśnienie tego i dopasowanie bieżących i oryginalnych ścieżek.
W takim przypadku, gdy hostem jest maszyna SVM w ESXi, dodajemy mały (8 GB, thin) VMDK do SVM, który będzie dostarczany jako /dev/sdj. Teraz, gdy dodawane jest nowe prawdziwe urządzenie SDS, jest ono dostępne jako /dev/sdk, który jest darmowy zarówno na bieżącej, jak i oryginalnej ścieżce i powiedzie się.
Additional Information
Wersje, których dotyczy problem
Wersja 2.0.0.3 lub nowsza
Naprawiono w wersji
wersja 3.0