Openstack 개요, 설치 환경 배포, Openstack 배포, Openstack 운영 기반.
사례 2: 테스트 시간 서버
사례 3: 100 승 창고 구성
시나리오 4: 기본 환경 확인
시나리오 5: Openstack 배포
사례 6: 네트워크 관리
사례 7: openstack 로그인
1 사례 1: 100 승 창고 구성
1..1문제
이 경우 기본 환경을 구성해야 합니다.
가상 머신 3 대를 구성합니다
2CPU, 6G 메모리, 50G 하드 드라이브
2CPU, 4.5G 메모리, 100G 하드 드라이브.
정적 IP ifcfg-eth0 구성
Open stack:192.168.1.10
Nova:192.168.1.11,/kloc
호스트 이름 /etc/hosts 를 서로 ping 을 수행하도록 구성합니다.
Dns 서버 /etc/resolv.conf 를 구성합니다.
1.2 시나리오
이번 실험의 전반적인 방안에는 세 대의 시스템이 필요하다. openstack 은 마스터로, nova0 1 및 nova02 는 추가 노드로, 실체는 DNS 전달 및 NTP 서버 (표-1 에는 더 이상 반영되지 않음) 로 도메인 이름 확인 및 시간 동기화 서비스를 제공한다.
표-1
단계 1.3
이를 위해서는 다음 단계를 따라야 합니다.
첫 번째 단계: 가상 머신 3 대를 준비합니다.
[student @ room 9pc01images] $ base-VM open stack nova 01nova02
[student @ room 9pc01images] $ virsh start open stack
[student @ room 9pc01images] $ virsh start nova 01
[student @ room9pc01images] $ virsh start nova02
2)opensatck 호스트 용량은 50G 입니다.
[student @ room9pc01images] $ virsh block resize-path/var/lib/libvirt/images/
[student @ room9pc01images] $ virsh 콘솔 openstack
[루트 @ localhost ~] #/usr/bin/growpart/dev/vda1
[루트 @ localhost ~] #/usr/sbin/xfs _ growfs/
[루트 @ localhost ~] # df-h
파일 시스템? 사이즈? 가용성 사용 비율 설치 위치
/dev/vda 1 50G? 9 14M? 50G2%/
3)nova0 1 및 nova02 호스트의 확장 용량은 100G (nova 0 1 예) 입니다.
[student @ room9pc01images] $ virsh block resize-path/var/lib/libvirt/images/
/var/lib/libvirt/images/nova01.img' 블록 장치의 크기를 다시 정의합니다.
[루트 @ localhost ~] #/usr/bin/growpart/dev/vda1
[루트 @ localhost ~] #/usr/sbin/xfs _ growfs? /
[루트 @ localhost ~] # df-h
파일 시스템? 사이즈? 가용성 사용 비율 (%) 설치 위치
/dev/vda 1? 100G? 9 17M? 100G 1%/
4) 3 개의 호스트에 고정 IP 구성 (예: 1 개)
Open stack:192.168.1.10
Nova 01:192.168.1..1/kloc/
Nova 02:192.168.1..12
[root @ localhost ~] # CD/etc/sysconfig/network-scripts/
[root @ localhost network-scripts] # vim if CFG-eth0
# dracut initrd 에 의해 생성됨
DEVICE="eth0 "
ONBOOT= "예"
NM_CONTROLLED="no "
TYPE= "이더넷"
BOOTPROTO="static "
PERSISTENT_DHCLIENT="yes "
Ipaddr =192.168.1..10
NEMASK=255.255.255.0
게이트웨이 =192.168.1.254
5) 세 호스트가 호스트 이름을 수정하고 /etc/hosts 및 /etc/resolv.conf 파일 (한 가지 예) 을 구성합니다.
[root @ localhost ~] # hostname open stack
[root @ localhost ~] # echo open stack > /etc/호스트 이름
[루트 @ localhost ~] # vim/etc/hosts
192.168.1.10 오픈 스택
192.168.1.11nova 0/kloc-;
192.168.1..12 nova02
[root @ localhost ~] # vim/etc/resolv.conf//검색이 시작되는 행을 삭제합니다.
을 눌러 섹션을 인쇄할 수도 있습니다 /usr/sbin/dhclient-script 에서 생성
이름 서버192.168.1.254
6) 세 호스트의 메모리 (openstack6G, nova0 1, nova02 4G) 를 수정합니다.
[student @ room9pc01~] $ virsh openstack 편집
...
& lt 메모리 유닛 =' KiB'>;; 6588282 & lt/메모리 >
& lt 현재 저장 장치 =' KiB'>;; 6588282 & lt/current memory & gt;;
...
[student @ room 9pc01~] $ virsh edit nova 01
...
& lt 메모리 유닛 =' KiB'>;; 4588282 & lt/메모리 >
& lt 현재 저장 장치 =' KiB'>;; 4588282 & lt/current memory & gt;;
...
[student @ room9 pc01~] $ virsh start? 오픈 스탁 (openstack)
도메인 openstack 이 시작되었습니다.
[student @ room9 pc01~] $ virsh start? 노바 01
도메인 nova0 1 시작됨.
[student @ room9 pc01~] $ virsh start? 노바 02
도메인 nova02 가 시작되었습니다.
2 사례 2: 테스트 시간 서버
2. 1 문제
이 경우 시간 서비스 구성을 파악해야 합니다.
Openstack, nova0 1, nova02 의 시간 서버를 수정합니다.
서비스를 다시 시작한 후 구성을 확인하십시오.
2.2 단계
이를 위해서는 다음 단계를 따라야 합니다.
첫 번째 단계: openstack, nova0 1, nova02 의 시간 서버를 수정합니다 (예:).
[root @ open stack ~] # vim/etc/chrony.conf
...
서버192.168.1.254iburst
[root@openstack~]# systemctl 재시작 시간
2 단계: 검증
[root @ open stack ~] # chron YC sources-v.
...
| | | | | \
MSName/IP 주소 계층 폴링이 LastRx 의 마지막 샘플에 도달했습니다
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
* 게이트웨이 36376-93ns [+903ns]+/-26ms
3 단계: 고정 IP 를 사용하여 두 대의 가상 시스템을 구성합니다.
참고 두 호스트는 동일하게 작동하지만 IP 를 변경했습니다 (예: openstack.tedu.cn).
[root @ localhost ~] # echo open stack.tedu.cn > /etc/호스트 이름
[root@localhost~]# 호스트 이름 openstack.tedu.cn
//다른 호스트 이름은 nova.tedu.cn 으로, IP 구성은 1.20 으로 변경되었습니다.
[root @ open stack ~] # vim/etc/sysconfig/network-scripts/ifcfg-eth0
# dracut initrd 에 의해 생성됨
DEVICE="eth0 "
ONBOOT= "예"
IPV6INIT="no "
IPV4_FAILURE_FATAL="no "
NM_CONTROLLED="no "
TYPE= "이더넷"
BOOTPROTO="static "
Ipaddr = "192.168.1..10"
접두어 =24
게이트웨이 =192.168.1.254
[root@openstack~]# systemctl 네트워크 재시작
3 시나리오 3: 100 승 창고 구성
3. 1 문제
이 경우 yum warehouse 를 구성해야 합니다.
Yum 소스와 *** 4 소프트웨어 웨어하우스를 구성합니다.
3.2 단계
이를 위해서는 다음 단계를 따라야 합니다.
첫 번째 단계: 세 호스트에 대한 yum 소스 코드 구성 (호스트 1 대, *** 10670 패키지).
[student @ room9pc01~] $ CD/Linux-soft/04/open stack/
[student @ room9pc01openstack] $ ls
Cirros.qcow2? RHEL7-extras.iso? RHEL7OSP- 10.iso? Small.qcow2
[student @ room9pc01open stack] $ mkdir/var/FTP/rhel7-extras
[student @ room9pc01open stack] $ mkdir/var/FTP/rhel7osp-10
[student @ room9 pc01open stack] $ mount rhel 7-extras.iso? /var/ftp/RHEL7-extras/
Mount:/dev/loop 1 쓰기 보호되어 읽기 전용으로 마운트됩니다.
[student @ room 9pc01open stack] $ mount rhel 7 OSP-10.iso/var/FTP/
Mount:/dev/loop2 는 쓰기 보호되어 읽기 전용으로 마운트됩니다.
[root @ open stack ~] # vim/etc/yum.repos.d/local.repo
[로컬 _ 재구매]
Name=CentOS-$releasever-Base
기본 URL = "FTP://192.168.1.254/centos-/kloc
활성화 = 1
Gpgcheck= 1
[rhel 7- 추가 기능]
Name=RHEL7-extras
기본 URL = "FTP://192.168.1.254/rhel 7-extras"
활성화 = 1
Gpgcheck=0
[RHEL7OSP 패키지]
Name=RHEL7OSP-package
기본 URL = "FTP://192.168.1.254/rhel7 OSP-/klls
활성화 = 1
Gpgcheck=0
[rhel7 OSP-dev 도구]
Name=RHEL7OSP-devtools
기본 URL = "FTP://192.168.1.254/rhel7 OSP-/klls
활성화 = 1
Gpgcheck=0
[root @ open stack ~] # scp/etc/yum.repos.d/local.repo192./kloc-0
Root @192.168.1.11에 대한 암호:
현지 환매? 100%? 490? 484.4KB/s? 00:00
[root @ open stack ~] # scp/etc/yum.repos.d/local.repo192./kloc-0
Root @192.168.1.12 의 비밀번호:
현지 환매
4 시나리오 4: 기본 환경 확인
4. 1 문제
이 경우 openstack 설치를 준비하기 위한 기본 환경을 준비해야 합니다.
추가 패키지 설치
Firewalld 와 NetworkManager 를 제거하시겠습니까?
구성 호스트 네트워크 매개 변수 (정적 IP) 확인
호스트 이름은 서로 ping 할 수 있어야 합니다.
구성 호스트 yum 소스 확인 (4, 10670)
소프트웨어 패키지의 설치 여부에 따라 다릅니다.
NTP 서버를 사용할 수 있는지 확인합니다.
/etc/resolv.conf 에 search 로 시작하는 행이 없어야 합니다.
4.2 단계
이를 위해서는 다음 단계를 따라야 합니다.
첫 번째 단계: 기본 환경을 검토합니다.
1) 추가 패키지 설치 (시스템 3 대가 작동, 여기서는 1 대).
[root @ open stack yum.repos.d] # yum install-y QEMU-KVM libvirt-client libvirt-daemon libvirt-dad
2) firewalld 와 NetworkManager 를 제거하시겠습니까?
[root @ open stack ~] # rpm-QA | grep network manager *
[root @ open stack ~] # rpm-QA | grep firewall d *
3) 구성 호스트 네트워크 매개 변수를 확인합니다.
[root @ open stack ~] # cat/etc/sysconfig/network-scripts/ifcfg-eth0
# dracut initrd 에 의해 생성됨
DEVICE="eth0 "
ONBOOT= "예"
NM_CONTROLLED="no "
TYPE= "이더넷"
BOOTPROTO="static "
PERSISTENT_DHCLIENT="yes "
Ipaddr =192.168.1..10
NEMASK=255.255.255.0
게이트웨이 =192.168.1.254
4) 호스트 이름이 상호 운용되는지 확인합니다.
[root @ open stack ~] # ping open stack
...
오픈 스탁의 64 바이트 (192.168.1..10): icmp _;
Openstack 의 64 바이트 (192.168.1..10): icmp _
...
[root @ open stack ~] # ping nova 01
Ping nova 01(192.168.1.1/kloc
64 bytes from nova 01(192.168.1.1
...
[root@openstack~]# ping nova02
Ping nova 02 (192.168.1.12) 56 (84) 바이트
Nova02 의 64 바이트 (192.168.1..12): icmp _ ss
...
5) 구성 호스트 yum 소스를 확인합니다.
[root@openstack~]# yum 보고서 목록
로드된 플러그인: fastestmirror
캐시된 호스트 파일에서 미러 속도 로드
소스 id? 소스 이름? 상황
RHEL7-extras RHEL7-extras76
Rhel 7 osp-dev 도구? Rhel 7 OSP-dev 도구 3
RHEL7OSP 패키지 RHEL7OSP 패키지 680
Local_repo? CentOS-7 베이스 9,911
보고서 목록:10,670
6) 시간 동기화를 사용할 수 있는지 확인합니다.
[root@openstack~]# chronyc? 출처-5
2 10 소스 번호 = 1
....
| | | | | \
MSName/IP 주소 계층 폴링이 LastRx 의 마지막 샘플에 도달했습니다
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
* 게이트웨이 3737728+31us [+89 us]+/-25ms
[root@openstack~]#
7) /etc/resolv.conf 에 search 로 시작하는 행이 없어야 합니다.
[root @ open stack ~] # cat/etc/resolv.conf
을 눌러 섹션을 인쇄할 수도 있습니다 /usr/sbin/dhclient-script 에서 생성
이름 서버192.168.1.254
5 시나리오 5: Openstack 배포
5. 1 문제
이 경우 packstack 을 통해 다음과 같이 구성해야 합니다.
Packstack 을 통한 Openstack 배포
관련 로그 파일을 기준으로 디버그합니다.
5.2 단계
이를 위해서는 다음 단계를 따라야 합니다.
첫 번째 단계: packstack 을 설치합니다.
[root @ open stack ~] # yum install-y open stack-pack stack
[root @ open stack ~] # packstack-gen-answer-fileanswer.ini
//answer.ini 는 answer.txt 와 동일하지만 vim 으로 연 answer.ini 파일은 컬러입니다.
Packstack 이 주어진 값을 변경했습니까? 값/루트/가 필요합니다. Ssh/id_rsa.pub
[root @ open stack ~] # vimanswer.ini
42 구성 _ 익스프레스 설치 =n
45 config _ ceiliometer _ install = n//충전 관련 모듈
49CONFIG_AODH_INSTALL=n// 충전 관련 모듈
53CONFIG_GNOCCHI_INSTALL=n// 충전 관련 모듈
75config _ NTP _ servers =192.168.1.254//시간 서버의 주소입니다.
98 구성 _ 계산 _ 호스트 =192.168.1.1/kloc-0
102config _ network _ hosts =192.168.1..
333config _ keystone _ admin _ pw = a//관리자 암호 수정.
840config _ neutron _ ml2 _ type _ drivers = flat, vxlan// 드라이버 유형
876 구성 _ 중성자 _ ml2 _ vxlan _ group = 239.1.1.5
//그룹 캐스트 주소를 설정합니다. 마지막은 0 과 255 로 임의로 설정할 수 없습니다. 나머지는 고정되어 있습니다.
910 config _ neutron _ ovs _ bridge _ mappings = physnet1:br-ex//
921config _ neutron _ ovs _ bridge _ ifaces = br-ex: eth0
//br-ex 브리지 이름 연결 eth0, 어떤 물리적 NIC 가 eth0 을 관리합니까?
1179 config _ provision _ demo = n//demo 테스트를 거쳤습니까?
[root @ open stack ~] # packstack-answer-file = answer.ini
Pack and go 설정 유틸리티에 오신 것을 환영합니다
설치 로그 파일은/var/tmp/packstack/20190423-170603-b43g _ I/openstack 에 있습니다
설치:
정리 [완료]
Ip 프로토콜 버전 발견 [완료]
Root @192.168.1.11에 대한 암호:
Root @192.168.1.10 의 비밀번호:
Ssh 키 설정
* * * * 설치가 성공적으로 완료되었습니다 * * * * *//이것은 성공입니다.
6 사례 6: 네트워크 관리
6. 1 문제
이 경우 OVS 가 다음 구성을 완료해야 합니다.
외부 OVS 브리지 및 해당 포트 보기
OVS 구성 확인
6.2 단계
이를 위해서는 다음 단계를 따라야 합니다.
1: 외부 OVS 브리지를 검사합니다.
1) br-ex 브리지 구성을 봅니다 (br-ex 는 OVS 브리지 디바이스임).
[root @ open stack ~] # cat/etc/sysconfig/network-scripts/ifcfg-br-ex
ONBOOT= "예"
NM_CONTROLLED="no "
Ipaddr = "192.168.1..10"
접두어 =24
게이트웨이 =192.168.1.254
디바이스 =br-ex
NAME=br-ex
DEVICETYPE=ovs
OVSBOOTPROTO="static "
TYPE=OVSBridge
2) OVS 브리지의 인터페이스인 eth0 NIC 의 구성을 확인합니다
[root @ open stack ~] # cat/etc/sysconfig/network-scripts/ifcfg-eth0
장치 =eth0
NAME=eth0
DEVICETYPE=ovs
TYPE=OVSPort
OVS 브리지 =br-ex
ONBOOT = 예
BOOTPROTO = 없음
3) OVS 구성 검증
[root @ open stack ~] # ovs-vsctl show
브리지 br-ex
컨트롤러 "TCP:127.0.0.1:6633"
Is_connected:true
실패 모드: 보안
Br-ex 항
인터페이스 br-ex
유형: 내부
포트 phy-br-ex
인터페이스 phy-br-ex
유형: 패치
옵션: {peer=int-br-ex}
포트 "eth0"
인터페이스 "eth0"
Ovs_version:"2.5.0 "
7 시나리오 7: openstack 로그인
7. 1 질문
이 경우 Horizon 을 통해 다음 작업을 수행해야 합니다.
Openstack 에 성공적으로 로그인할 수 있도록/etc/httpd/conf.d/15-horizon _ vhost.conf 구성 파일을 수정합니다.
7.2 단계
이를 위해서는 다음 단계를 따라야 합니다.
1: 브라우저에서 openstack 에 액세스합니다
1) 브라우저 액세스
[root @ open stack ~] # Firefox192.168.1./kloc-0
2) 구성 파일을 변경하고 다시 로드해야 합니다.
[root@openstack~]#
[root @ open stack conf.d] # VI15-horizon _ vhost.conf
35WSGIProcessGroup Apache
36 wsgiapplicationgroup% {global}//이 행을 추가합니다.
[root @ open stack conf.d] # apachectl? 우아한//구성 파일 다시 로드
3) 브라우저 방문, 페이지가 나타납니다 (그림 -6 참조):
그림 6
3) 사용자 이름과 암호를 확인합니다
[root@openstack conf.d]# CD
[root@openstack~]# ls
Answer.ini? Keystonerc _ admin//keystonerc _ admin 에서 생성된 파일에는 사용자 이름과 비밀번호가 포함되어 있습니다.
[root @ open stack ~] # catkeystone RC _ admin
운영 체제 서비스 토큰 설정 해제
ExportOS _ 사용자 이름 = 관리자//사용자 이름
ExportOS_PASSWORD=a// 비밀번호
Export OS _ auth _ URL = http://192.168.1./kloc.
Exportps1=' [\ u @ \ h \ w (keystone _ admin)] \ $'
ExportOS _ TENANT _ NAME = 관리자
ExportOS_REGION_NAME=RegionOne
4) Firefox 브라우저에 사용자 이름과 암호를 입력합니다. 로그인 페이지는 그림 -7 과 같습니다.
그림 7
Openstack 설치 시 발생할 수 있는 오류 및 문제 해결 방법.
1)ntp 시간이 동기화되지 않았습니다 (그림 -2 참조).
그림 2
해결 방법: NTP 시간 서버를 검사하여 * 번호가 있는지 확인합니다. 그렇지 않은 경우 구성 파일을 확인하십시오. Ntp 서버를 구성하는 단계는 사례 3 에서 참조할 수 있습니다.
[root @ room 9pc01~] # chron YC sources-v//별표는 NTP 시간을 사용할 수 있음을 나타냅니다.
*120.25.115.20261762-753 us [-7003 us]
[root @ open stack ~] # chron YC sources-v.
*192.168.1.25439377504+50 us [-20 us]+/-24 mm
[root@nova~]# chronyc 소스 -v
*192.168.1.25439377159-202us [-20
2) 교량 이름의 철자가 잘못되었습니다 (그림 -3 참조).
그림 3
해결 방법: 프로파일을 확인합니다.
[root @ open stack ~] # vimanswer.ini
...
921config _ neutron _ ovs _ bridge _ ifaces = br-ex: eth0
//br-ex 브리지 이름 연결 eth0, 어떤 물리적 NIC 가 eth0 을 관리합니까?
...
3) If /root/. Ssh/id_rsa.pub 는 암호를 묻는 메시지를 표시하고 그림 -4 와 같이 구성 파일도 잘못 작성되었습니다.
그림 4
4)yum 소스가 그림 -5 와 같이 올바르게 구성되지 않았습니다.
그림 5
해결 방법: yum 이 10853 패키지인지 확인하고 yum 소스가 제대로 구성되지 않았는지 확인한 다음 oprnstack-dashboard 를 설치합니다.
5) 그림 -6 과 같이 메모리를 할당할 수 없습니다.
그림 6
솔루션:
메모리가 부족하여 호스트를 재부팅합니다.
6)/usr/bin/systemctl openvswith 시작 ... falied 가 나타나 그림 -7 과 같이 ssse3 스크립트 오류임을 나타냅니다.
그림 7
해결 방법: openstack 의 XML 파일을 편집하고 추가합니다.
& ltcpu 모드 =' 호스트 패스 스루' >
& lt/CPU & gt;;
7) 가능한 경우 ... "openstack" 을 프리페치하지 않습니다. 그림 -8 과 같이:
그림 8
구성 파일에 중국어 기호가 있습니다.
9) openstack 에 액세스하는 동안 오류가 발생했습니다.
그림 9
아파치 구성 파일이 수정되지 않았습니다.
4) myproject 라는 프로젝트를 작성합니다.
[root @ open stack ~] # source ~/keystonerc _ admin? //초기화 환경 변수
[root @ open stack ~ (keystone _ admin)] # open stack 프로젝트 내 프로젝트 만들기
+-+-+
| 필드 | 값 |
+-+-+
| 설명 | 없음 |
| 활성화됨 | 참 |
| id | f73949e2701346328faf5c1272414cd 0 |
| 이름 | 내 프로젝트 |
+-+-+
5) 프로젝트 정보 조회
[root @ open stack ~ (keystone _ admin)] # open stack 항목 목록
+-+-+
| ID | 이름 |
+-+-+
| 3fd 5 bffd 734543d 39 cf 742492273 a47f | 서비스 |
| 7f0b 43274 a9f4e149357 fc8393 ff2c68 | admin |
| f73949e2701346328faf5c1272414cd0 | 내 프로젝트 |
+-+-+
6) vcpu 할당량을 30 으로 업데이트합니다.
[root @ open stack ~ (keystone _ admin)] # nova quota-update-cores 30 my project
7) 내 프로젝트 삭제
[root @ open stack ~ (keystone _ admin)] # open stack 항목 내 항목 삭제