같은 네트워크를 사용하는 VM간 통신
네트워크 생성
horizon > 관리 > 네트워크 > 네트워크 생성 순서
[네트워크]
- 이름: network1100
- 프로젝트: admin
- 공급자 네트워크 유형: VXLAN
- 구분 ID: 1100
[서브넷]
- 서브넷 이름: subnet1100
- 네트워크 주소: 192.166.0.0/24
[서브넷 세부 정보]
- DHCP 사용에 체크
결과
인스턴스 생성
프로젝트 > Compute > 인스턴스 > 인스턴스 시작
인스턴스 2개 생성, "vm1100-1", "vm1100-2"
- 부팅 소스 선택: 이미지
- 볼륨 크기: 1GB
- 아래의 cirros 이미지를 할당한다. (오른쪽 화살표)
- flavor는 m1.tiny를 할당한다.
- 위에서 생성한 network1100을 네트워크에 할당한다.
인스턴스 확인
생성된 N/W, VM 확인
프로젝트 > 네트워크 > 네트워크 토폴로지
그래프 확인
VM 접근
vm1100-1의 '콘솔 열기'를 선택한다.
cirros에 로그인한다.
- id: cirros
- passwd: gocubsgo
ICMP check to vm1100-2 (ping 192.166.0.151)
F/S Full Issue
배경
DevStack 설치 후, 상기 과정 중 "네트워크 생성" 클릭시 오랜 시간 대기 후 다음과 같은 화면이 나타났다.
여러 번 시도해도 동일합니다. 우상단 Danger: 양식을 제출하는 동안 오류가 발생하였습니다. 다시 시도하세요가 표시되었다.
(F12개발자도구 > DevTools -> 504 Gateway Timeout)
해결 과정
journalctl -u devstack@q-svc 명령어 수행시 rabbitmq 미연결, 그러나 5672번 포트는 정상 listen중으로 확인하였다.
devstack 재설치 후 F/S 조회시 100%로 Full 사용중임을 확인하였다.
ubuntu@beomseokkim-devstack:~$ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 392M 41M 351M 11% /run
/dev/vda1 20G 20G 0 100% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
/dev/vda15 105M 6.1M 99M 6% /boot/efi
tmpfs 2.0G 0 2.0G 0% /run/qemu
tmpfs 392M 0 392M 0% /run/user/1000
Storage 용량 증설 및 재시작하여 네트워크 정상 생성 완료하였다.
서로 다른 네트워크를 사용하는 VM간 통신
openstack cli 사용 준비
openstack 사용자 인증 정보 확인한다.
admin 계정으로 환경변수를 설정한다.
source openrc admin admin
설정된 환경변수를 확인한다.
네트워크 생성하기
네트워크 생성에 필요한 옵션을 확인한다.
openstack network creat -h
"과제1에서 생성한 network와 또다른", openstack cli를 이용한 별도 network 생성한다.
openstack network create
--provider-network-type vxlan
--provider-segment 1200
network1200
생성된 네트워크의 id 등을 network list 명령어를 통해 확인한다. (network1200)
생성된 네트워크를 확인한다.
openstack network show <NETWORK_ID>
서브넷 생성하기
서브넷 생성에 필요한 옵션을 확인한다.
openstack subnet create -h
과제 1에서 생성한 subnet1100과 동일하게 생성한다.
openstack subnet create
--subnet-range 192.166.1.0/24
--ip-version 4
--network <NETWORK_ID>
subnet1200
생성된 서브넷의 id 등을 subnet list 명령어를 통해 확인한다. (network1200)
생성된 서브넷을 확인한다.
openstack subnet show <SUBNET_ID>
인스턴스 생성하기
인스턴스를 생성하기 위해서는 network, image, flavor 정보가 필요하므로 하기 명령어를 통해서 조회한다.
openstack network list
openstack image list
openstack flavor list
방금 생성한 network1200을 사용해 인스턴스를 생성한다.
openstack server create
--image <IMAGE_ID>
--network <NETWORK_ID>
--flavor <FLAVOR_ID>
<VM_NAME>
생성된 네트워크와 인스턴스 확인
라우터 추가 및 인터페이스 설정
openstack cli를 사용한 라우터 생성
openstack router create router-internal
* UI 기준 생성방법
라우터에 인터페이스 추가
openstack router add subnet <router-name> <subnet-id-1>
openstack router add subnet <router-name> <subnet-id-2>
* UI 기준 추가방법
(단, 아래의 경우 기 subnet를 추가한 상태이기때문에 선택 list-up 목록에는 제외되어 있다.)
라우터 및 해당 라우터에 인터페이스로 subnet이 추가된 네트워크 토폴로지 확인
vm1200-1 에서 vm1100-1으로 ping check
vm1100-1에서 vm1200-1으로의 ping check