PowerFlex: Додавання SDS-пристрою не спрацює, якщо "Пристрій із цим ім'ям вже існує в SDS"
Summary: Додавання SDS-пристрою не спрацює, якщо "Пристрій із цим ім'ям вже існує в SDS"
Symptoms
Під час додавання пристрою до SDS через scli, ця помилка буде відображена:

# 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
Зазвичай це можна розв'язати за допомогою "--update_device_original_path." Однак, спроба вирішити проблему шляхів до пристрою Пристрій із цим ім'ям вже існує в SDS тепер закінчується такою помилкою:
# 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") ви не побачите дублювання шляхів пристрою.
Вплив
Не можу додати нові пристрої до SDS для розширення обсягу зберігання в кластері.
Cause
Як уже згадувалося, коли ми бачимо цю помилку, перше, що потрібно спробувати — оновити оригінальний шлях пристрою, який зараз існує в SDS. Якщо це не вдається, це тому, що пристрої, якими керує SDS на цьому хості, колись мали помилку, яку було очищено або в інтерфейсі, або в командному рядку, але MDM не дозволяє очищати помилки пристрою далі, оскільки він більше не перебуває у стані «помилки». «Необроблена помилка» — це проблема ScaleIO, яку вирішують у наступній версії коду.
Resolution
Щоб обійти цю проблему, найшвидший спосіб — додати тимчасовий пристрій, який заповнить прогалину у списку пристроїв. Наприклад:
# 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
Зверніть увагу на поточний шлях, який використовує кожен пристрій. Останній пристрій — /dev/sdi. Коли додається новий пристрій, він з'являється як /dev/sdj. Вже є /dev/sdj Зазначено у розділі Original-Path. Коли додається новий SDS-пристрій, поточний і оригінальний шляхи мають співпадати. The "--update_device_original_path" команда має прояснити це і співставити поточний і початковий шлях.
У цьому випадку, оскільки хост є SVM на ESXi, ми додаємо невеликий (8 ГБ, тонкий) VMDK до SVM, який буде у вигляді /dev/sdj. Тепер, коли додається новий справжній SDS-пристрій, він з'являється як /dev/sdk, який безкоштовний як на поточному, так і на початковому шляху, і буде успішним.
Additional Information
Впливові версії
v2.0.0.3 і вище
Виправлено у версії
v3.0