KVM & openstack
type1 하이퍼바이저 = native 방식 = 베어메탈 = 전가상화
type2 하이퍼바이저 = hosted 방식 = 반가상화
![]() |
![]() |
VM과 비교했을 때 컨테이너는 하이퍼바이저와 게스트 OS가 필요하지 않으므로 더 가볍습니다. 일반적으로 컨테이너에는 OS가 포함되지 않아 크기가 수십 MB에 불과하고, 운영체제 부팅이 필요 없으므로 서비스를 시작하는 시간도 짧습니다. 크기가 작기 때문에 컨테이너 복제와 배포에도 용이합니다
- hyper-V - win에서 출동 발생하기 때문에 꺼주기 |
-accelerate 3D graphics 활성화 - vmware 사용시 껴주기 -vmware ; intel VT enable -vcpu 4 / core 1 --> lscpu cat /proc/cpuinfo --- vcpu 4 / core 1 확인 명령어 |
![]() |
![]() |
----- cpu 확인 명령어 ----- lscpu lscpu | grep Virtualization grep --color -Ew 'svm|vmx|lm' /proc/cpuinfo grep -E 'svm|vmx' /proc/cpuinfo |
![]() Thread (s) per core - Hyperthreading 상태 ( 1=기본 / 2 = Hyperthreading ON) core(s) per socker - CPU 1개당 core 수 Socker(s) - 실제 장착된 CPU |
![]() |
----- kvm 관련 패키지 설치 ----- apt update apt-get install qemu-kvm libvirt-daemon-system libvirt-clients virtinst bridge-utils cpu-checker -y ㄴ qemu-kvm : KVM 하이퍼바이저에 대한 하드웨어 에뮬레이션을 제공 ㄴ libvirt : 자동화 ㄴ virtinst : libvirt의shell systemctl restart(enable/satuts) libvirtd apt-get install virt-manager -y ㄴ virt-manager -y : 사용하기 쉬운 GUI 인터페이스와 libvirt를 통해 가상 머신을 관리하기위한 명령 줄 유틸리티 libosinfo-bin -> 가상 디스크 설치 완료 후 사용자 권한으로 가상머신을 생성, 삭제 등 관리하기 위해서 권한 추가 adduser $UESR kvm 가상 시스템을 생성하고 관리하려면 사용자를 "libvirt" 및 "kvm" 그룹에 추가해야 합니다. 이렇게 하려면 다음을 입력합니다 usermod -aG libvirt $USER usermod -aG kvm $USER kvm-ok knm --version |
apt-get install vsftpd -y ftp 접속 dir get ... |
![]() win에서 폴더에 이미지 넣기 |
|
![]() 알 FTP 서버 생성 |
![]() vmware에서 알FTP 접속 후 dir로 파일 확인 그리고 get으로 받을 파일 다운로드 하기 |
-- 이미지 권한 부여 -- chmod 777 alpine-virt-3.18.2-x86_64.iso chmod 777 ko_windows_7_enterprise_k_with_sp1_x64_dvd_u_677728.iso |
1. bridge 설치 2. 이미치 VM 설치 -> 알파인 & win7 nm-connection-editor |
네트워크 생성 | |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
-- 연결 확인 명령어 -- nmcli con show |
-- 안된다면 -- 작업1 nano /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf [keyfile] unmanaged-devices=*,except:type:wifi,except:type:gsm,except:type:cdma,except:type:ethernet 작업 2 nano /etc/NetworkManager/NetworkManager.conf managed=false --> true 로 변경 reboot |
eth-br0 생성 nmcli con up eth-br0 nmcli con show |
![]() virt-manager 접속 로컬설치매체 |
![]() |
![]() |
![]() root setup-alpine |
![]() |
1) Select keyboard layout [none] : kr 2) Select variants : kr-kr104 3) Enter system hostname [localhost] : kvmalpine 4) Which one do you want to initialize? [eth0] : 엔터 5) Do you want to do any manual network configuration [no] : [기본값] : 엔터 - 네트워크 설정은 수정하지 않고 일단 기본설정으로 진행 엔터 6) Changing password for root New password : 12345 Retype password : 12345 - 비밀번호 설정 7) Which timezone are you in? ('?' for list) [UTC] : Asia/Seoul - ?를 타이핑하면 리스트가 쭉 나온다 8) HTTP/FTP proxy URL? [none] : [기본값] : 엔터 - 일단 설정하지않음 9) Enter mirror number (1- ?) or URl to add ( or r/f/e/done) [f] : f
- 가장 빠른 미러주소 선택 user1 10) Which SSH server? ('openssh', 'dropbear' or 'none') [openssh] : [기본값] : 엔터 - openssh 설치 11) Which NTP client to run? ('busybox', 'openntpd', 'chrony' or 'none') [chrony] : [기본값] :엔터
12) Which disk(s) would you like to use? (or '?' for help or 'none') [none] : vda
- ?를 입력해서 사용가능한 디스크 목록을 보고 알파인 리눅스를 설치할 디스크 명을 입력해주자
13) How would you like to use it? ('sys', 'data', 'lvm' or '?' for help) [?] : sys
- 디스크에 직접 설치하기위해 sys 입력
파일 시스템이나 데이터 삭제 등으로 warning이 뜰 수도 있는데 모두 y를 입력해 주면 설치가 진행된다!
|
![]() reboot root/12345 free -m ping 8.8.8.8 |
![]() 같은 방법으로 win7도 설치를 해준다 |
openstack
fedora 계열 paskstack
데미안 계열 devstack
6개월 간격으로 버전 업 A ~ Q : 지원 종료 / R ~ X : Unmaintenance / Y ~ Z and Antelope : Extended Maintenance Bobcat : maintenance
추천 Ubuntu 22.04 LTS / ram 24G / HDD 300G / bridge mode 1개 nat mode 1개 (192.168.0.0/24 제외) default 설치 내용 Horizon, Keystone, Nova, Glance, Neutron, Placement, Cinder
https://docs.openstack.org/devstack/latest/ <- 참조
DevStack — DevStack documentation
DevStack DevStack is a series of extensible scripts used to quickly bring up a complete OpenStack environment based on the latest versions of everything from git master. It is used interactively as a development environment and as the basis for much of the
docs.openstack.org
https://docs.openstack.org/devstack/latest/guides/devstack-with-octavia.html <- 참조
Devstack with Octavia Load Balancing — DevStack documentation
Devstack with Octavia Load Balancing Starting with the OpenStack Pike release, Octavia is now a standalone service providing load balancing services for OpenStack. This guide will show you how to create a devstack with Octavia API enabled. Phase 1: Create
docs.openstack.org
Devstack2-ubuntu-22.04.2-desktop-amd64.iso cpu 2/2 ram 12G HDD 300G VMnet10 NAT VT-x |
apt-get update -y && apt-get dist-upgrade -t apt-get -y install apache2 apt-get -y install python3 python3-pip git useradd -s /bin/bash -d /opt/stack -m stack chmod +x /opt/stack echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack sudo -u stack -i git clone https://opendev.org/openstack/devstack cd devstack/ sudo git checkout sudo chown -R stack.stack /opt/stack/devstack nano /opt/stack/devstack/local.conf |
[[local|localrc]] # ===== BEGIN localrc ===== HOST_IP=192.168.2.15 ## 자신의 ip주소 DATABASE_PASSWORD=openstack ADMIN_PASSWORD=openstack SERVICE_PASSWORD=openstack SERVICE_TOKEN=openstack RABBIT_PASSWORD=openstack PUBLIC_INTERFACE=ens33 ## FLOATING_RANGE=192.168.2.0/24 PUBLIC_NETWORK_GATEWAY=192.168.2.2 Q_FLOATING_ALLOCATION_POOL=start=192.168.2.100,end=192.168.2.150 GIT_BASE=https://opendev.org LOGFILE=$DEST/logs/stack.sh.log VERBOSE=True LOG_COLOR=True enable_service rabbit enable_plugin neutron $GIT_BASE/openstack/neutron enable_service q-qos enable_service placement-api placement-client enable_plugin octavia $GIT_BASE/openstack/octavia master enable_plugin octavia-dashboard $GIT_BASE/openstack/octavia-dashboard enable_plugin ovn-octavia-provider $GIT_BASE/openstack/ovn-octavia-provider enable_plugin octavia-tempest-plugin $GIT_BASE/openstack/octavia-tempest-plugin enable_service octavia o-api o-cw o-hm o-hk o-da disable_service c-api c-vol c-sch enable_service tempest # ===== END localrc ===== |
설치 ./stack.sh 취소 ./ustack.sh ./clean.sh |