본문 바로가기

SYSTEM/Openstack

Instance Volume 추가 시 iscsi connection fail로 오류나는 부분 해결

한동안 instance 추가가 없었는데 팀 내 필요한 인스턴스가 있어서 생성을 하고 설정까지 다 했다. postgresql slave용 이어서 volume을 생성해서 추가했는데 안 붙는다.....

생성도 정상적으로 되었는데 이상하게 인스턴스에 붙지 않았던거...

 

nova compute log인데 해당 인스턴스에서 iscsi에 접속해서 volume 정보를 가져오고 그 볼륨을 /dev/vdb에 연결해야 되는데, iscsi에 연결을 못하는 이슈였다.

port는 열려있고, iscsi 도 running 상태였다. 근데 왜 안될까... 사실 iscsi 요 놈도 이번에 처음 알게 된 녀석이라 구글링을 통해 어느정도 실체를 알긴 했다. 그래서 iscsi에 볼륨이 등록이 되어 있나 봤더니 신규로 생성하는 볼륨이 iscsi에 없었다. 결국 cinder에서는 지정한 lvm에서 볼륨을 생성해서 id 생성까지 다 정상적으로 해서 db에 해당 정보가 있으니 정상이라고 판단하고 "available"로 표시한거다. 근데 정작 iscsi에는 등록이 안되어서, nova에서는 해당 정보를 가져가지 못한 것이다.

 

위는 cinder volume log인데, 보통은 "Creating iscsi_target for volume : ~~"하고 "attachement_update ~~ "이렇게 로그가 끝나야 되는데, "Removing iscsi_target: ~~~"로그가 생긴다. 생성은 했지만, iscsi에 뭔가 문제가 있어 제대로 안되었다는 것이다. 그럼 cinder 문제인가 하고 여러번 재시작하고 config도 변경했는데 그래도 로그는 동일하게 나왔다. 그러다 이 로그를 발견했다.

/var/log/messages 로그인데 iscsi 모듈에 문제가 있어 보였다. iscsi와 iscsid 모듈 두 개가 있는데, iscsid 모듈에 뭔가 문제가 있는 것이다.

iscsid 니까 데몬일 것이고, 요 녀석이 connection failed가 되면서 볼륨이 등록이 안되는 것이었다.

 

해결방법은 iscsid 재실행.....

systemctl restart iscsid

이렇게 하고 나니까 볼륨 생성해서 정상적으로 iscsi에 등록이 된 것을 확인 할 수 있었다. iscsi에 등록된 볼륨은 아래처럼 targetcli를 치고 들어간 후 ls를 치면 볼 수 있다. 

단순히 iscsid 만 재시작했으면 몇시간 안 걸렸을 텐데.... 처음 겪어본 이슈라 적잖이 당황도 하고 몇일을 헤메다 겨우 성공...

근데 엄청 허무했다... 명령어 한줄이면 해결되는건데

 

아마 이전에 서버 재부팅하면서 뭔가 꼬이면서 발생했던거 같다.

'SYSTEM > Openstack' 카테고리의 다른 글

Openstack Stein 설치 - Keystone  (0) 2020.05.12
Openstack Stein 설치 - 기본  (0) 2020.05.12