[openstack-ko] [Help-Ask] cinder 볼륨생성 후 볼륨상태 status 에 멈춰있는 문제... 잠깐 한번만 봐주시면 감사하겠습니다

Ian Y. Choi ianyrchoi at gmail.com
Thu Jan 21 16:39:22 UTC 2016


안녕하세요.
이미 해결하셨으려나 모르겠지만, 참고가 될까 싶어 작성합니다.
아래 메일 내용 중간 중간에 작성하고자 합니다.

참고가 되시길 빕니다. 감사합니다.


디케이 wrote on 1/20/2016 9:13 PM:
> 안녕하세요 오픈스택관련 해서 문의 드립니다. 잠깐 한번만 봐주시면 감사 
> 하겠습니다.^^
> cinder create 명령으로 생성한 새로운 볼륨의  상태가 creating 에서 계속 
> 멈춰있습니다.
> 예상되는 문제 포인트 지점이 어디일까요?  해결을 못하겠네요...ㅠ
> 해결방법이나 접근방법을 아시면 답변 주시면 감사하겠습니다.
> 서버에서 확인한 로그와 구성정보 및 상태 함께 공유합니다.
> ●  [오픈스택 구성] : 3-node configuration (Controller-node, 
> Network-node, Compute-node(스토리지노드이기도함))
>                              : ubuntu14.04, icehouse 버젼이 각 노드마 
> 다 설치되어 있으며, virtualbox에서 실행되고 있음
=> 말씀하신대로 icehouse 기준이면, 어떤 문서를 참고하고 계신지요?
여러 다른 블로그 등에도 설치 방식이 정리되어 있겠지만, 공식 설치 가이드 
가 가장 정확할 거 같습니다.
혹시 몰라 링크를 남깁니다: 
http://docs.openstack.org/icehouse/install-guide/install/apt/content/ch_cinder.html
> ● (On Controller node)
> # cinder create --display-name myVolume 1
> # cinder list
> +--------------------------------------+----------+--------------+------+-------------+----------+-------------+
> |                  ID                  |  Status  | Display Name | 
> Size | Volume Type | Bootable | Attached to |
> +--------------------------------------+----------+--------------+------+-------------+----------+-------------+
> | 4891a2e7-0cb2-4caf-9528-6612d8cf5f5a | creating | myVolume   |  1   
> |     None    |  false   |             |
> +--------------------------------------+----------+--------------+------+-------------+----------+-------------+
>
> mysql> select status from volumes;
> +----------+
> | status   |
> +----------+
> | creating |
> +----------+
> mysql> select id from volumes;
> +--------------------------------------+
> | id                                   |
> +--------------------------------------+
> | 4891a2e7-0cb2-4caf-9528-6612d8cf5f5a |
> +--------------------------------------+
>
> # netstat -an | grep 8776
> tcp 0 0 0.0.0.0:8776 <http://0.0.0.0:8776> 0.0.0.0:* LISTEN
>
> # netstat -an | grep 5672
> .....
> tcp6 0 0 :::5672 :::* LISTEN
> tcp6 0 0 10.10.15.11:567210.10.15.31:33271 ESTABLISHED
> .....
> # service cinder-api status
> cinder-api start/running, process 3733
> # service cinder-scheduler status
> cinder-scheduler start/running, process 3755
>
> *<Logs>* 명령어 실행할때 생성된 로그
> *<cinder-api.log>*
> 2016-01-20 15:24:29.584 3739 INFO eventlet.wsgi.server [-] (3739) 
> accepted ('10.10.15.11', 51845)
> 2016-01-20 15:24:29.588 3739 INFO urllib3.connectionpool [-] Starting 
> new HTTP connection (1): 10.10.15.11
> 2016-01-20 15:24:29.874 3739 INFO urllib3.connectionpool [-] Starting 
> new HTTP connection (1): 10.10.15.11
> 2016-01-20 15:24:30.029 3739 INFO cinder.api.openstack.wsgi 
> [req-c7c065b5-3e4c-40c8-b011-24a1afbf6e50 
> 5f8b76cf5986402fa6affdb4c9e2fc44 56ee36bd79724517bf115df7f3202f1d - - 
> -] POST 
> http://10.10.15.11:8776/v1/56ee36bd79724517bf115df7f3202f1d/volumes
> 2016-01-20 15:24:30.032 3739 AUDIT cinder.api.v1.volumes 
> [req-c7c065b5-3e4c-40c8-b011-24a1afbf6e50 
> 5f8b76cf5986402fa6affdb4c9e2fc44 56ee36bd79724517bf115df7f3202f1d - - 
> -] Create volume of 1 GB
> 2016-01-20 15:24:30.212 3739 AUDIT cinder.api.v1.volumes 
> [req-c7c065b5-3e4c-40c8-b011-24a1afbf6e50 
> 5f8b76cf5986402fa6affdb4c9e2fc44 56ee36bd79724517bf115df7f3202f1d - - 
> -] vol={'migration_status': None, 'availability_zone': 'nova', 
> 'terminated_at': None, 'reservations': 
> ['8339d8b8-70a5-4226-94a5-ad7c4f16d3f6', 
> '6795bec3-0875-49cb-b538-c1e0f3b097c1'], 'updated_at': None, 
> 'provider_geometry': None, 'snapshot_id': None, 'ec2_id': None, 
> 'mountpoint': None, 'deleted_at': None, 'id': 
> '4891a2e7-0cb2-4caf-9528-6612d8cf5f5a', 'size': 1, 'user_id': 
> u'5f8b76cf5986402fa6affdb4c9e2fc44', 'attach_time': None, 
> 'attached_host': None, 'display_description': None, 
> 'volume_admin_metadata': [], 'encryption_key_id': None, 'project_id': 
> u'56ee36bd79724517bf115df7f3202f1d', 'launched_at': None, 
> 'scheduled_at': None, 'status': 'creating', 'volume_type_id': None, 
> 'deleted': False, 'provider_location': None, 'host': None, 
> 'source_volid': None, 'provider_auth': None, 'display_name': 
> u'myVolume', 'instance_uuid': None, 'bootable': False, 'created_at': 
> datetime.datetime(2016, 1, 20, 6, 24, 30, 108934), 'attach_status': 
> 'detached', 'volume_type': None, '_name_id': None, 'volume_metadata': 
> [], 'metadata': {}}
> 2016-01-20 15:24:30.217 3739 INFO cinder.api.openstack.wsgi 
> [req-c7c065b5-3e4c-40c8-b011-24a1afbf6e50 
> 5f8b76cf5986402fa6affdb4c9e2fc44 56ee36bd79724517bf115df7f3202f1d - - 
> -] http://10.10.15.11:8776/v1/56ee36bd79724517bf115df7f3202f1d/volumes 
> returned with HTTP 200
> 2016-01-20 15:24:30.226 3739 INFO eventlet.wsgi.server 
> [req-c7c065b5-3e4c-40c8-b011-24a1afbf6e50 
> 5f8b76cf5986402fa6affdb4c9e2fc44 56ee36bd79724517bf115df7f3202f1d - - 
> -] 10.10.15.11 - - [20/Jan/2016 15:24:30] "POST 
> /v1/56ee36bd79724517bf115df7f3202f1d/volumes HTTP/1.1" 200 602 0.639812
>
> *<cinder-scheduler.log>*  계속 같은 로그가 반복되며 실행될때는  
> "2016-01-20 15:24:30.205" 로그가 한번가 찍혔음
> 2016-01-20 15:23:12.097 3755 WARNING cinder.context [-] Arguments 
> dropped when creating context: {'user': None, 'tenant': None, 
> 'user_identity': u'- - - - -'}
> 2016-01-20 15:24:12.105 3755 WARNING cinder.context [-] Arguments 
> dropped when creating context: {'user': None, 'tenant': None, 
> 'user_identity': u'- - - - -'}
> *2016-01-20 15:24:30.205 3755 WARNING cinder.context [-] Arguments 
> dropped when creating context: {'user': 
> u'5f8b76cf5986402fa6affdb4c9e2fc44', 'tenant': 
> u'56ee36bd79724517bf115df7f3202f1d', 'user_identity': 
> u'5f8b76cf5986402fa6affdb4c9e2fc44 56ee36bd79724517bf115df7f3202f1d - 
> - -'}
> *2016-01-20 15:25:12.133 3755 WARNING cinder.context [-] Arguments 
> dropped when creating context: {'user': None, 'tenant': None, 
> 'user_identity': u'- - - - -'}
해당 로그로 봐서는 인증이 된 것으로 보이는데.. 혹시 모르니 rabbitmq 로그 
도 살펴보셨으면 합니다.
/var/log/rabbitmq 폴더에 로그가 있습니다.

그리고 설정 파일 변경하셨으면 관련 서비스 재시작해 주시고요..

>
> *# cinder.conf* <controller node>
> [DEFAULT]
> rootwrap_config = /etc/cinder/rootwrap.conf
> api_paste_confg = /etc/cinder/api-paste.ini
> iscsi_helper = tgtadm
> volume_name_template = volume-%s
> volume_group = cinder-volumes
> verbose = True
> auth_strategy = keystone
> state_path = /var/lib/cinder
> lock_path = /var/lock/cinder
> volumes_dir = /var/lib/cinder/volumes
> rpc_backend = cinder.openstack.common.rpc.impl_kombu
현재 공식 설치 문서 가이드에는 rpc_backend로 rabbit을 설정하라고 되어 있 
네요.
관련해서 검색해보니 2014년 8월 중순에, rabbit으로 옵션을 주어야 제대로 
되는 걸로..
설치 가이드 문서가 수정된 것으로 나와 있습니다: 
https://bugs.launchpad.net/openstack-manuals/+bug/1358752
아래 compute쪽도 마찬가지일테고.. rabbit으로 바꾸고 테스트하셨으면 합니다.

> rabbit_host = 10.10.15.11
> rabbit_port = 5672
> rabbit_userid = guest
> rabbit_password = rabbitpass
> control_exchange = cinder
> notification_driver = cinder.openstack.common.notifier.rpc_notifier
=> 어떤 문서를 기준으로 설치하시는지 잘 모르겠으나, cinder 설치시 
OpenStack 공식 icehouse 설치 문서에는
  notification_driver 자체는 없던데.. 다른 컴포넌트와 연동하려고 설정하 
신 건지요?

> [database]
> connection = mysql://cinder:cinderdbpass@10.10.15.11/cinder 
> <http://cinder:cinderdbpass@10.10.15.11/cinder>
> [keystone_authtoken]
> auth_uri = http://10.10.15.11:5000
> auth_host = 10.10.15.11
> auth_port = 35357
> auth_protocol = http
> admin_tenant_name = service
> admin_user = cinder
> admin_password = cinderpass
>
마찬가지로 설정 파일 변경하셨으면 관련 서비스 재시작해 주시고요..

그리고 컨트롤러 노드 설정 후, keystone에 volume, volumev2 2개의 유형에 
대한 서비스 및
엔드포인트에 대해 keystone으로 추가해 주시면 됩니다. 추가되어 있는지 확 
인 해 보셔야 하지 싶구요..

> ---------------------------------------------------------------------------------------------------------------
>
> ● (On Compute node) 스토리지노드
> # vgs
>   VG             #PV #LV #SN Attr   VSize VFree
>   cinder-volumes   2   0   0 wz--n- 1.99g 1.99g
> # pvs
>   PV         VG             Fmt  Attr PSize    PFree
>   /dev/sdc   cinder-volumes lvm2 a--  1020.00m 1020.00m
>   /dev/sdd   cinder-volumes lvm2 a--  1020.00m 1020.00m
> # service cinder-volume status
> cinder-volume start/running, process 1755
> # service tgt status
> tgt start/running, process 1783
> # /etc/lvm/lvm.conf
> ...
> filter = [ "a/sda1/", "a/sdc/", "a/sdd/", "r/.*/"]
> ....
> # netstat -an | grep 5672
> tcp        0      0 10.10.15.31:33263 <http://10.10.15.31:33263> 
> 10.10.15.11:5672 <http://10.10.15.11:5672> ESTABLISHED
> *# cinder-volume.log *   (명령수행과 관계없이 아래 로그만 반복됨.)
> 2016-01-20 15:12:12.112 2422 INFO cinder.volume.manager [-] Updating 
> volume status
> 2016-01-20 15:13:12.139 2422 INFO cinder.volume.manager [-] Updating 
> volume status
> 2016-01-20 15:14:12.107 2422 INFO cinder.volume.manager [-] Updating 
> volume status
> 2016-01-20 15:15:12.147 2422 INFO cinder.volume.manager [-] Updating 
> volume status
> 2016-01-20 15:16:12.121 2422 INFO cinder.volume.manager [-] Updating 
> volume status
> *# cinder.conf* <compute node>
> [DEFAULT]
> rootwrap_config = /etc/cinder/rootwrap.conf
> api_paste_confg = /etc/cinder/api-paste.ini
> iscsi_helper = tgtadm
> volume_name_template = volume-%s
> volume_group = cinder-volumes
> verbose = True
> auth_strategy = keystone
> state_path = /var/lib/cinder
> lock_path = /var/lock/cinder
> volumes_dir = /var/lib/cinder/volumes
> #
> rpc_backend = cinder.openstack.common.rpc.impl_kombu
역시, rabbit으로 변경하셔야 할 것 같고...

> rabbit_host = 10.10.15.11
> rabbit_port = 5672
> rabbit_userid = guest
> rabbit_password = rabbitpass
> #
> my_ip = 10.10.15.31
> glance_host = 10.10.15.11
> #
> [keystone_authtoken]
> auth_uri = http://10.10.15.11:5000
> auth_host = 10.10.15.11
> auth_port = 35357
> auth_protocol = http
> admin_tenant_name = service
> admin_user = cinder
> admin_password = cinderpass
> #
> [database]
> connection = mysql://cinder:cinderdbpass@10.10.15.11/cinder 
> <http://cinder:cinderdbpass@10.10.15.11/cinder>
>
> # ls -al /var/lib/cinder/volumes
> total 8
> drwxr-xr-x 2 cinder cinder 4096  9월  5 05:43 .
> drwxr-xr-x 3 cinder cinder 4096  1월 19 21:13 ..
> # ls -al /var/lock/cinder
> total 0
> drwxr-xr-x 2 cinder root  40  1월 19 21:52 .
> drwxrwxrwt 7 root   root 140  1월 19 21:53 ..
위 2개 폴더에는 파일이 없다고 비정상은 아닌 것으로 알고 있습니다.

> # cat /admin-openrc.sh
> export OS_USERNAME=admin
> export OS_PASSWORD=adminpass
> export OS_TENANT_NAME=admin
> export OS_AUTH_URL=http://10.10.15.11:35357/v2.0
>
>
> _______________________________________________
> openstack-ko mailing list
> openstack-ko at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-ko