CloudLink 에이전트가 드라이브를 잠금 해제하기 전에 SDS 서비스가 시작되어 재부팅 후 CloudLink 암호화 PowerFlex SDS 디바이스 오류
Summary: CloudLink에서 PowerFlex SDS 디바이스를 암호화하면 재부팅 후 매퍼 이름이 변경될 수 있습니다. 이로 인해 SDS 디바이스가 재정렬되고 PowerFlex UI에서 장애가 발생한 것으로 표시됩니다.
Symptoms
영향을 받는 제품: 다음을 포함하는 특정 조합:
- PowerFlex 3.6
- 클라우드 링크 7.1
- RHEL 8.x
- CloudLink로 암호화된 SDS 디바이스
재부팅 후 디바이스 매퍼 재정렬로 인해 CloudLink 암호화 SDS 디바이스가 PowerFlex UI에서 실패한 것으로 나타날 수 있습니다.
부트 디바이스 논리 매핑은 첫 번째 디바이스 문자와 마지막 디바이스 문자 간에 스왑할 수 있습니다.
CloudLink가 드라이브를 잠금 해제하기 전에 SDS 서비스가 시작되면 재부팅 후에도 SDS 오류가 발생할 수 있습니다. 이 문제는 CloudLink 릴리스 7.0.2에서 해결될 예정입니다.
Cause
- 암호화된 CloudLink 매퍼가 드라이브 문자를 식별자로 사용하고 있습니다. (예: /dev/mapper/svm_sdb)
- 드라이브 문자가 변경되면 매퍼 이름도 변경됩니다
- 재부팅하는 동안 부팅 드라이브 또는 SDS 드라이브가 먼저 감지되었는지에 따라 드라이브 문자가 변경될 수 있습니다.
- CloudLink 에이전트가 드라이브를 잠금 해제하기 전에 SDS 서비스가 시작되는 경우에도 이 문제가 발생할 수 있습니다.
Resolution
드라이브 문자 변경에 대한 해결 방법:
-
옵션 1:
- PowerFlex 노드(/opt/emc/scaleio/sds/bin/delete_service.sh)에서 SDS 서비스를 중지합니다.
- 모든 SDS 알림을 지웁니다. 그러면 PowerFlex가 시스템에서 새 디바이스 이름을 다시 검색하고 해당 이름을 사용하기 시작합니다. ( 프레젠테이션 서버 > 장치에 있음)
- (/opt/emc/scaleio/sds/bin/create_service.sh)을 실행한 후 SDS 서비스를 재시작합니다.
-
옵션 2: PowerFlex에서 SDS 드라이브를 제거한 다음 다시 추가합니다. ( 프레젠테이션 서버 > 장치에 있음)
-
옵션 3: PowerFlex 노드를 재부팅하면 디스크 순서가 원래 매핑으로 다시 변경될 수 있습니다.
후속 재부팅에서 새 드라이브 문자 형식을 사용하는 경우 재부팅 시 SDS 오류가 계속 발생합니다. SDS 오류가 발생하지 않도록 PowerFlex 드라이브 문자를 변경하려면 다음 scli 명령을 실행합니다.
오류가 발생한 SDS 노드의 sds_id 찾습니다.
Scli --query_all_sds
새 드라이브 문자로 업데이트합니다.
Scli --update_sds_original_paths -sds_id <id>
CloudLink가 드라이브를 잠금 해제할 때까지 PowerFlex 시작을 지연합니다.
CloudLink를 7.0x, 7.1, 7.1.1 및 7.1.2로 업그레이드하면 SDS 노드의 /opt/emc/extra/pre_run.sh에서 60초 절전 타이머가 제거됩니다. CloudLink에서 드라이브를 잠금 해제하기 전에 PowerFlex가 드라이브를 사용하기 시작하므로 재부팅 후 SDS 오류가 발생합니다. 재부팅 시 SDS 오류를 방지하려면 CloudLink 에이전트 업그레이드 후 SDS 노드의 /opt/emc/extra/pre_run.sh에 60초 지연을 다시 추가합니다. 이로 인해 CloudLink에서 암호화된 드라이브를 잠금 해제할 때까지 SDS 서비스 시작이 지연됩니다.
pre_run.sh에 추가된 60초 지연을 보여주는 예:
#!/bin/bash -f if [ -f /sbin/svm ]; then echo svm is installed $(date) >> /var/log/svm-sds /sbin/svmd -l /var/log/svmd.log -p /var/run/svmd.pid & end=$((SECONDS+300)) while [ $SECONDS -lt $end ]; do /sbin/svm unlocked > /dev/null && break sleep 5 done fi sleep 60 echo pre_run returned...$(date) >> /var/log/svm-sds
영구 수정:
- 새로운 구축 - CloudLink 7.1.2 및 PowerFlex 3.6.0.2 설치
- 기존 시스템: CloudLink 7.1.2 및 PowerFlex 3.6.0.2로 업그레이드
CloudLink 7.1.2 및 PowerFlex 3.6.0.2는 /dev/disk/by-id/...를 사용합니다. 따라서 /dev/mapper/svm_wwn-XXXX 이름과 논리 /dev/svm_sdXXX를 사용하십시오.