Openstack
nova-vnc 오류 : [Errno -2] No address found
kyeongjun-dev
2020. 6. 16. 22:28
/var/log/nova/nova-novncproxy.log
2020-06-16 21:00:34.578 16677 INFO nova.console.websocketproxy [-] 115.20.155.16 - - [16/Jun/2020 21:00:34] 115.20.155.16: Plain non-SSL (ws://) WebSocket connection
2020-06-16 21:00:34.811 16677 INFO nova.console.websocketproxy [-] 115.20.155.16 - - [16/Jun/2020 21:00:34] 115.20.155.16: Version hybi-13, base64: 'False'
2020-06-16 21:00:34.811 16677 INFO nova.console.websocketproxy [-] 115.20.155.16 - - [16/Jun/2020 21:00:34] 115.20.155.16: Path: '/?token=ad63e135-4726-4bc1-8837-fd1caee052c0'
2020-06-16 21:00:41.824 16677 INFO nova.console.websocketproxy [req-53a64b53-2313-4a38-81c3-1b299cccc152 - - - - -] 8: 연결 정보: ConsoleAuthToken(access_url_base='http://115.20.155.250:6080/vnc_auto.html',console_type='novnc',created_at=2020-06-16T12:00:32Z,host='Tux.kornet',id=2,instance_uuid=1cf38dd0-f83d-46c1-9222-a165d144dd51,internal_access_path=None,port=5900,token='***',updated_at=None)
2020-06-16 21:00:41.869 16677 INFO nova.console.websocketproxy [req-53a64b53-2313-4a38-81c3-1b299cccc152 - - - - -] 8: Tux.kornet:5900에 연결 중
2020-06-16 21:00:41.893 16677 INFO nova.console.websocketproxy [req-53a64b53-2313-4a38-81c3-1b299cccc152 - - - - -] handler exception: [Errno -2] No address found
해석
대충 해석해보자면, Tux.kornet에 연결을 시도하는데 No address found (주소가 없다)라는 것이다.
CentOS를 설치할 때, hostname을 설정할 수 있는 화면이 있다. 따로 설정하지 않으면 localhost가 된다.
여기가 문제.나는 CentOS를 설치할 때, hostname을 'Tux'로 변경하였다. 그래서 root로 로그인을 하면
root@Tux # 처럼 뜬다. hostname을 설치할 때 건들지 않았다면 root@localhost 로 뜰 것이다.
/etc/hosts 파일 확인
[root@Tux nova(keystone_admin)]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
hosts를 확인해보면, 내가 설정한 Tux에 대한 정보가 아예 없다. 위에서 Tux.kornet으로 연결을 하니 수정해주자.
[root@Tux nova(keystone_admin)]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 Tux.kornet
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
Tux.kornet 127.0.0.1 localhost
위처럼 수정을 하긴 했는데, 맨 아랫줄은 필요 없을듯 하다.
다시 log 확인
2020-06-16 21:20:11.940 21225 INFO nova.console.websocketproxy [-] 115.20.155.16 - - [16/Jun/2020 21:20:11] 115.20.155.16: Plain non-SSL (ws://) WebSocket connection
2020-06-16 21:20:11.940 21225 INFO nova.console.websocketproxy [-] 115.20.155.16 - - [16/Jun/2020 21:20:11] 115.20.155.16: Version hybi-13, base64: 'False'
2020-06-16 21:20:11.941 21225 INFO nova.console.websocketproxy [-] 115.20.155.16 - - [16/Jun/2020 21:20:11] 115.20.155.16: Path: '/?token=26666b69-623d-44e7-856b-5c17b3bcc582'
2020-06-16 21:20:12.311 21225 INFO nova.console.websocketproxy [req-72747f39-282a-4ba2-b61b-56957149a5c7 - - - - -] 17: 연결 정보: ConsoleAuthToken(access_url_base='http://115.20.155.250:6080/vnc_auto.html',console_type='novnc',created_at=2020-06-16T12:20:11Z,host='Tux.kornet',id=7,instance_uuid=725dd7de-c873-42cd-894b-f3d03d27b346,internal_access_path=None,port=5900,token='***',updated_at=None)
2020-06-16 21:20:12.312 21225 INFO nova.console.websocketproxy [req-72747f39-282a-4ba2-b61b-56957149a5c7 - - - - -] 17: Tux.kornet:5900에 연결 중
2020-06-16 21:20:12.985 21225 INFO nova.console.securityproxy.rfb [req-72747f39-282a-4ba2-b61b-56957149a5c7 - - - - -] Finished security handshake, resuming normal proxy mode using secured socket
handshake가 완료되어서 연결에 성공. (novnc에 websocket이 쓰이는걸 이번에 알게되었다... handshake는 websocket의 연결 과정. 자세한건 검색!!)