삭제 볼륨 오류 http://www.aliyun.com/zixun/aggregation/16539.html에 볼륨을 만드는 이후 오랜 시간이 되었습니다 "> error_deleting 주, 내가 어제, 볼륨을 삭제 하면이 문제 했다 그리고 여기 해결책을 기록 하는 방법. Note 난 여기 iSCSI 모드와 백 엔드에 대 한, 특히 나 여기 TGT + LVM 방법입니다.
이유
내가 삭제 볼륨 오류가 발생 하는 이유 "장치 사용 중 입니다", 단 하나에 다음과 같은 유사 콘텐츠를 볼 것 이다 보면 스토리지 노드의 로그 볼륨은,
[-] 메시지 추적 (가장 최근의 라는 마지막)를 처리 하는 동안 예외: 파일 "/usr/lib/python2.6/site-packages/ cinder-2012.2.1-py2.6.egg/cinder/openstack/common/rpc/amqp.py ", 276, _process_data rval에 선 = Self.proxy.dispatch (Ctxt, 버전, 방법, * * args) 파일 "/ usr/lib/python2.6/site-packages/cinder-2012.2.1-py2.6.egg/cinder/openstack/common/rpc/dispatcher.py", 디스패치에 선 145, GetAttr (Proxyobj 메서드)를 반환 (Ctxt, * * kwargs) 파일 "/usr/lib/python2.6/site-packages/ cinder-2012.2.1-py2.6.egg/cinder/volume/manager.py ", 206, Delete_volume에 선 {'상태': ' error_deleting '}) 파일" usr/lib64/python2.6/contextlib.py ", 라인, __exit__ self.gen.next (File/usr/lib/python2.6/site-packages/) cinder-2012.2.1-py2.6.egg/cinder/volume/manager.py ", 195, Delete_volume Self.driver.delete_volume (volume_에에서 선 REF) 파일 "/ usr/lib/python2.6/site-packages/cinder-2012.2.1-py2.6.egg/cinder/volume/driver.py", Delete_에서 203 선 볼륨 Self._delete_volume (볼륨, 볼륨 [' 크기 ') 파일 "/ usr/lib/python2.6/site-packages/cinder-2012.2.1-py2.6.egg/cinder/volume/driver.py ", _delete_volume run_as에 선 _root = true) 파일 "/ usr/lib/python2.6/site-packages/cinder-2012.2.1-py2.6.egg/cinder/volume/driver.py", 라인 + _ Try_execute Self._execute (* 명령을 * * kwargs) 파일 "/usr/lib/python2.6/site-packages/cinder-2012.2.1-py2.6.egg/ cinder/utils.py ", 187, 실행 cmd = '. 조인 (CMD) processexecutionerror: 예기치 않은 명령을 실행 하는 동안 오류가 발생 했습니다. 명령: sudo cinder-rootwrap/etc/cinder/rootwrap.conf dmsetup 제거-f/dev/맵 / NOVA--VOLUMES-VOLUME--C1374407--D1B3--407F--BBCC--7416756071C1 종료 코드: 1 Stdout: ' Stderr: ' 장치-매퍼: 제거 IOCTL 실패: 장치 또는 리소스 Busy\ncommand failed\n '
장비 바쁜 이유는? 첫 번째, 우리 tgtadm-LLD iSCSI-모드 대상-op 표시 명령 볼륨 볼륨 정보를 볼 수 있는 스토리지 노드 다음과 같이 삭제 하겠습니다
대상 7:iqn.2010-10.org.openstack:volume-c1374407-d1b3-407f-bbcc-7416756071c1 시스템 정보: 드라이버: iSCSI 상태: 준비 i_t 넥서스 정보: i_t 넥서스: 24 initiator:iqn.1994 05.com.redhat:351f5adb9c85 IP 광고 드레스: 10.61.2.5 LUN 정보:...
원래 11545.html "> 우리는 계산 노드가 볼륨 링크를 해제 되지 않습니다. 여기 나 ISCSI + LVM의 대략적인 작품, 만드는 크기 LV 크기 볼륨, 그리고 TGTADM를 통해 iSCSI를 만들려면이 관리 명령을 구성 항목에 지정 된 VG 볼륨을 작성. 대상 및 대상에 대 한 백 엔드 저장소로 만든된 라스베가스 때 볼륨에 해당 대상에 연결 된 명령 인스턴스, 인스턴스 위치 호출에 Iscsiadm가 계산 노드를 장착 하 고 기본 가상화 소프트웨어 인스턴스를 대상에 할당 합니다. 볼륨을 제거할 때 기본 가상화 소프트웨어 제거 대상 인스턴스 및 다음 노드를 계산 하 고 그것을 해제. 어떤 이유로 대상을 출시 하지 않는 계산 노드에 링크 경우에, 그것 일 것 이다. 하지 않은 경우에, 하지만 다른 한 노드에서 마이그레이션된 볼륨 마운트의 인스턴스 대상에 대 한 소스 노드 링크 공개 하지 것 이다 발견 즉, 두 개의 노드가 동시에 대상에 연결 하 고 다음 문제가 있다.
솔루션
과정과 이유는 분명, 해결책은 간단, 링크, 볼륨 상태를 다시 놓고 삭제. 먼저 우리 계산 노드에 로그인 하 고 Iscsiadm 명령으로 링크 해제
[Root@stack5 ~] # iscsiadm-m 노드 t iqn.2010-10.org.openstack:volume-c1374407-d1b3-407f-bbcc-7416756071c1-u
볼륨 상태를 다시 설정 하려면 데이터베이스를 수정
[root@stack5 ~] # mysql-h 10.61.2.12-u 콘크리트 p 콘크리트-e "업데이트 볼륨 설정 상태 = '가능한' WHERE id = ' c1374 407-d1b3-407f-bbcc-7416756071 c 1' "
전에이 작업 볼륨 정상적인 삭제 될 수 있습니다 하지만이 시간이 예기치 않게도 보고 잘못, 그것은 속임수 될 것
볼륨: C1374407를 제거 하는 기능 선택을 취소-D1B3-407F-BBCC-7416756071C 1 [-] 메시지 추적을 처리 하는 동안 예외 (가장 최근에 전화를 마지막): 파일 "/usr/lib/python2.6/site-packages/cinder-2012.2.1-py2.6.egg/cinder/openstack/common/ rpc/amqp.py ", 276, _process_data rval에 선 = Self.proxy.dispatch (Ctxt, 버전, 방법, * * args) 파일" / usr/lib/python2. 6/site-packages/cinder-2012.2.1-py2.6.egg/cinder/openstack/common/rpc/dispatcher.py ", 파견에 선 145, 반환 GetAttr (Proxyobj, 방법) (Ctxt, * * kwargs) 파일 "/usr/lib/python2.6/site-packages/cinder-2012.2.1-py2.6.egg/cinder/ volume/manager.py ", 206, Delete_volume에 선 {'상태': ' error_deleting '}) File"/usr/lib64/python2.6/contextlib.py " 라인, __exit__ self.gen.next (File/usr/lib/python2.6/site-packages/cinder-2012.2.1-py2.6.egg/cinder/volume) /manager.py ", 193, Delete_volume self.driver.remove_export (컨텍스트, Volume_ref)에 선 File"/usr/lib/python2.6/ Site-packages/cinder-2012.2.1-py2.6.egg/cinder/volume/driver.py ", 474, Remove_export self.tgtadm.remove_iscsi_target에 선 (iscsi_target, 0, 볼륨 [' id ']) 파일 "/usr/lib/python2.6/ site-packages/cinder-2012.2.1-py2.6.egg/cinder/volume/iscsi.py ", 라인, Remove_iscsi_target에서 예외가 발생 합니다. Iscsitargetremovefailed (volume_id = vol_id) iscsitargetremovefailed: 볼륨을 위해 iSCSI 대상에 제거할 수 없습니다 C1374407-d1b3-407f-bbcc-7416756071 c 1. 해결 방법 2
이 메서드는 더 많은 폭력, 직접 매뉴얼. 업데이트 데이터베이스 태그 볼륨에 대 한 삭제, 스토리지 노드는 Tgtadm 명령 사용 하 여 해당 대상 삭제, 해당 LV 데이터, LV 제거, 작업을 완료 하려면 lvremove 명령 빈.
[Root@store2 ~] # mysql-h 10.61.2.12-u 콘크리트 p 콘크리트-e "볼륨 세트 삭제 업데이트 = 1, Deleted_at = () 지금 어디 id 'C1374407-D1B3-407F-BBCC-7416756071C1' = [Root@store2 ~] # tgtadm-lld iSCSI-모드 대상-op 삭제-tid 7[root@st Ore2 ~] # DD 경우 = / dev/0 of=/dev/mapper/nova--volumes-volume--c1374407--d1b3--407f--bbcc--7416756071c1 학사 1 M [= Root@store2 ~] # lvremove/dev/mapper/nova--volumes-volume--c1374407--d1b3--407f--bbcc--7416756071c1
북부 Polytechnical 대학 | 클라우드 컴퓨팅 연구 센터 | 장 용