ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • KVM & openstack
    openstack 2023. 9. 1. 10:16

    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 
    x

     

    ----- 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

    'openstack' 카테고리의 다른 글

    openstack (nova)  (0) 2023.09.07
    openstack (glance)  (0) 2023.09.07
    openstack (수동 설치)  (0) 2023.09.06
    openstack (devstack)  (0) 2023.09.06
    openstack 2  (0) 2023.09.04
Designed by Tistory.