VMware Workstation VM을 ESXi로 마이그레이션 및 복원하는 방법
- File > export to OVF…
- 내보내기
———————————————————————————————————————————
- Workstation, Esxi 간의 버전이 맞지 않을 경우 복원이 되지 않는다.
- 버전을 동일하게 하려면 해당 작업을 진행 한다.
- VM > Mange > Chage Haredware Compatibility…
- 데이터 저장 경로 지정

3. 버전과 동일하게 생성된 것을 OVF 내보내기 한다.
- Esxi 새 가상 시스템에서 OVF 파일을 가져오기 하여 진행 한다.

OpenStack (DevStack 설치)
오픈스택(OpenStack)은 클라우드 컴퓨팅 환경을 구축하고 관리하기 위한 오픈 소스 소프트웨어 플랫폼이다. 이를 통해 프라이빗 클라우드 또는 퍼블릭 클라우드 환경을 구축할 수 있으며, 오픈스택은 서버, 네트워크, 스토리지 등의 자원을 가상화하여 사용자가 필요한 만큼 할당하고 관리할 수 있도록 해준다.
———————————————————————————————————————————
- Rocky 9.4
———————————————————————————————————————————
- 필수 패키지 설치
dnf update -y
dnf install -y git wget python3-devel python3-pip
- devStack 클론
useradd -s /bin/bash -d /opt/stack -m stack
- stack 패스워드 설정
passwd stack
# 패스워드 설정
- 사용자 전환
su - stack
- devstack 클론
git clone https://opendev.org/openstack/devstack
cd devstack
- 설치 설정 파일 작성
vim /opt/stack/devstack/local.conf
[[local|localrc]]
ADMIN_PASSWORD=test
DATABASE_PASSWORD=test
RABBIT_PASSWORD=test
SERVICE_PASSWORD=test
HOST_IP=192.168.1.119
#
enable_service n-cpu
enable_service n-net
enable_service n-api
enable_service n-cond
enable_service n-sch
enable_service n-novnc
enable_service horizon
enable_service q-svc
enable_service q-dhcp
enable_service q-meta
enable_service neutron
#
disable_service q-agt
disable_service q-l3
- 권한 변경
chown -R stack:stack /opt/stack
chmod -R 755 /opt/stack
- 설치 실행
./stack.sh



- 콘솔 컨트롤 가능

Hyper-v 내부 네트워크 설정
local <–> host 통신을 위한 설정
- 가상 스위치 만들기


- 네트워크 설정에서 공유


- 네트워크 상태 확인

KT Cloud 환경에서 2-Tier 아키텍처 구성
Apache, Tomcat 연동 (소스 설치)
- KTCloud 서버 생성
WEB 서버 설정


- 종속성 설치
yum -y install wget gcc gcc-c++ make pcre-devel openssl-devel expat-devel httpd-devel
- 설치 파일 다운로드
- APR = APR-UTIL 다운로드
https://apr.apache.org/download.cgi
- PCRE 다운로드
https://www.pcre.org
- 아파치 다운로드
https://httpd.apache.org/download.cgi
wget https://archive.apache.org/dist/httpd/httpd-2.4.4.tar.gz
- 다운로드 경로는 /usr/local/src 진행
wget https://archive.apache.org/dist/apr/apr-1.5.0.tar.gz
- 설치된 경로 /httpd/srclib 다운르도 및 압축 해제
wget https://archive.apache.org/dist/apr/apr-util-1.5.1.tar.gz
- 설치된 경로 /httpd/srclib 다운로드 및 압축 해제
wget https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.gz
- 설치된 경로 /httpd/srclib 다운로드 및 압축 해제
- APR configure
cd /usr/local/src/httpd(설치한버전)/srclib/apr-(설치한버전)
./configure --prefix=/usr/local/src/httpd-??/srclib/apr-??
make && make install
- APR-UTIL configure
cd /usr/local/src/httpd(설치한버전)/srclib/apr-util(설치한버전)
./configure --prefix=/usr/local/src/httpd-??/srclib/apr-util --with-apr=/usr/local/src/httpd-??/srclib/apr-??
make && make install
- PCRE configure
cd /usr/local/src/httpd(설치한버전)/srclib/pcre-(설치한버전)
./configure --prefix=/usr/local/src/httpd-??/srclib/prce-??
make && make install
- HTTPD configure
cd /usr/local/src/httpd(설치한버전)
./configure –prefix=/usr/local/src/apache --with-apr=/usr/local/src/httpd-??/srclib/apr-?? --with-apr-util=/usr/local/src/httpd-??/srclib/apr-util --with-pcre=/usr/local/src/httpd-??/srclib/pcre-??
make && make install
# 설치된 httpd configure 진행이 아닌 새로운 디렉토리를 생성하여 configure 진행
- /usr/local/src/apache/bin 경로 이동하여 apache 실행
./apachectl -v start
- 프로세스 확인
ps -ef | grep -i apache
curl localhost
WAS 서버 설정
- JDK 설치 (설치 가능한 jdk 확인)
yum list java*jdk-devel
yum list | grep java
- tomcat 설치
# yum 설치로 선택
- 설치된 버전 확인
java -version
javac -version
- 프로파일 설정
vim /etc/profile

source /etc/profile
# 소스 적용
- server.xml 설정
vim /usr/local/src/apache-tomcat-??/conf/server.xml

- 톰캣 실행
/usr/local/tomcat8/apache-tomcat-8.5.84/bin
./startup.sh

- MOD_JK 설치 (아파치 서버)
# 톰캣 커텍터 다운로드
http://tomcat.apache.org/download-connectors.cgi
wget https://dlcdn.apache.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz
# 경로는 /usr/local/src 다운로드 후 압축 해제
- configure 설정
cd /usr/local/src/tomcat-connectors-(설치한버전)/native
configure –with-apxs=/apache(아파치 설치 경로)/bin/apxs
make && make install
- MOD_JK 설치 확인
/usr/local/apache/modules

- httpd.conf 수정
- 맨 하단에 기입
vim /usr/local/src/apache/conf/httpd.conf

- 461 라인 주석 제거

- workers.properties 생성
vim /usr/local/src/apache/conf/workers.properties

- localhost 설정
- vim /usr/local/src/apache/conf/extra/httpd-vhosts.conf

# 아파치 및 톰캣 실행
아파치(서버) 설치경로 /bin에서 ./apachectl start
톰캣(서버) 설치경로 /bin에서 ./startup.sh start

Proxmox 네트워크(bridge) 설정
공인 IP를 설정하여 ssunmini.com 통신 설정
- 패스스루 하여 공인 ip 설정

- proxmox shell 접속
- proxmox는 데비안
- manual 부분을 dhcp 로 변경
vi /etc/network/interfaces
auto vmbr2
iface vmbr2 inet manual #dhcp
bridge-ports ???????
bridge-stp off
bridge-fd 0
- 통신 확인
[root@node1 date]# ifconfig
test: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 211.219.146.224
test2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.23
- 현재 사용 중인 Proxmox Server 사양
- E5-2650 v4
- ECC Ram 32GB

Naver Cloud ACG 설정
작성 준비중

Naver Cloud 로드밸런스 생성
- 웹 서비스의 가용성을 확보하기 위한 로드 밸런서를 구성
Product & Services > Networking > Load Balancer 를 선택. 그리고 상단의 + 로드 밸런서 생성선택
선택 항목 중, 애플리케이션 로드밸런서 생성을 클릭

- 로드밸런서 설정
- 로드 밸런서 이름: test-lb
Network : Public IP
부하 처리 성능: Small
대상 VPC : test1-vpc
서브넷 선택: KR-2 / test1-vpc-lb-sub1
- 로드 밸런서 이름: test-lb


- Target Group 선택 전체 서버 리스트에서 test1-org1과 test1-org2를 적용서버 항목으로 추가

- 정상적으로 적용이 되면 다음과 같이 상태는 운영 중으로 나오게 된다.
- 로드 밸런서에 접속하기 위해서는 접속정보 항목(도메인 이름)을 복사하여 웹 브라우저 주소창에 입력해야 한다.

- 웹 브라우저에서 접속하여 새로고침을 누르면, LB 기능으로 인해 test1-org1 과 test1-org2 서버에 분산되어 접속하게 되는 것을 확인할 수 있다.
Naver Cloud 서버 생성 전 자동화 초기 설정 스크립트 적용
- 초기화 스크립트
Product & Services > Server > Init Script > + Script 생성 선택 - 스크립트 이름 : test-script
- OS 타입 : Linux
Sciprt 항목 내용에 Box의 내용을 복사하여 붙여넣음
스크립트의 내용은 서버 부팅 후 아파치 웹서버와 PHP를 설치하고 테스트 페이지를 다운받은 후, 설정 내용을 수정 후 아파치 웹서버를 기동하는 스크립트
#!/bin/bash
Wget -O /etc/yum.repos.d/Rocky-Extras.repo
http://init.ncloud.com/server/linux/repo/rocky8/Rocky-Extras.repo
yum clean all
yum -y install httpd php mariadb-server php-mysqlnd
sleep 60
cd /var/www/html
wget https://kr.object.ncloudstorage.com/ncp-manual/handson/lab.tgz
tar xvfz lab.tgz
/usr/bin/cp -rf php.conf /etc/httpd/conf.d/php.conf
/usr/bin/cp -rf www.conf /etc/php-fpm.d/www.conf
systemctl enable mariadb
systemctl enable httpd
systemctl enable php-fpm
systemctl start mariadb
systemctl start httpd
systemctl start php-fpm
Kolla-Ansible 기반 OpenStack 설치/운영 통합 가이드 (Rocky Linux 9.6, 단일 노드)
구성: Rocky Linux 9.6 에 Kolla-Ansible로 OpenStack 설치.
네트워크: 내부망ens18, 외부망ens19→ 수동IP + Floating IP 구성
지원: CLI 및 Horizon 완벽 연동
1. OS 및 환경 준비
1.1 패키지 설치 및 Docker 구성
dnf update -y
dnf install -y epel-release git vim python3 python3-pip python3-devel gcc libffi-devel \
openssl-devel libselinux-python3 ansible lvm2 chrony bash-completion dnf-plugins-core
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
dnf install -y docker-ce docker-ce-cli containerd.io
systemctl enable --now docker
1.2 네트워크 커널 파라미터 설정
cat <<EOF | tee /etc/sysctl.d/99-openstack.conf
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
EOF
sysctl --system
modprobe br_netfilter
2. Kolla-Ansible 설치 및 구성
2.1 Python 가상환경 및 Kolla 설치
python3 -m venv /root/kolla-venv
source /root/kolla-venv/bin/activate
pip install --upgrade pip wheel
git clone https://opendev.org/openstack/kolla-ansible
cd kolla-ansible
git checkout stable/2024.1
pip install -r requirements.txt
pip install .
2.2 Kolla 설정 디렉토리 준비
mkdir -p /etc/kolla
cp -r etc/kolla/* /etc/kolla/
cp -r ansible/inventory/* /etc/kolla/
kolla-genpwd
2.3 /etc/kolla/globals.yml 예시
kolla_base_distro: "rocky"
kolla_install_type: "source"
openstack_release: "2024.1"
network_interface: "ens18"
neutron_external_interface: "ens19"
enable_openvswitch: "yes"
neutron_plugin_agent: "openvswitch"
enable_haproxy: "no"
enable_heat: "yes"
enable_cinder: "no"
kolla_internal_vip_address: "192.168.1.63"
enable_nova_libvirt: "yes"
nova_compute_virt_type: "kvm"
libvirt_type: "kvm"
2.4 외부 NIC(ens19) 비활성화
nmcli connection add type ethernet ifname ens19 con-name ens19 ipv4.method disabled ipv6.method ignore
nmcli connection up ens19
ip a show ens19 # inet 없음 확인
2.5 Kolla-Ansible 배포
source /root/kolla-venv/bin/activate
cd /etc/kolla
ansible-galaxy install -r /root/kolla-ansible/requirements.yml
kolla-ansible -i ./all-in-one bootstrap-servers
kolla-ansible -i ./all-in-one prechecks
kolla-ansible -i ./all-in-one deploy
kolla-ansible post-deploy
source /etc/kolla/admin-openrc.sh
3. OpenStack 리소스 설정 (네트워크, 이미지, 인스턴스 등)
3.1 키페어 / 보안그룹 설정
openstack keypair create mykey > mykey.pem
chmod 600 mykey.pem
openstack security group rule create default --protocol icmp
openstack security group rule create default --protocol tcp --dst-port 22
3.2 외부/내부 네트워크 구성
openstack network create external-net \
--provider-network-type flat \
--provider-physical-network physnet1 \
--external --share
openstack subnet create external-subnet \
--network external-net \
--subnet-range 192.168.1.0/24 \
--gateway 192.168.1.1 \
--allocation-pool start=192.168.1.105,end=192.168.1.200 \
--dns-nameserver 8.8.8.8 --no-dhcp
openstack network create internal-net
openstack subnet create internal-subnet \
--network internal-net \
--subnet-range 10.0.0.0/24 \
--gateway 10.0.0.1 \
--dns-nameserver 8.8.8.8
openstack router create my-router
openstack router set my-router --external-gateway external-net
openstack router add subnet my-router internal-subnet
3.3 이미지 업로드 / Flavor 생성
openstack image create "rocky9.6-cli" \
--disk-format qcow2 \
--container-format bare \
--file Rocky-9-GenericCloud-Base.latest.x86_64.qcow2 \
--public
openstack flavor create m1.small --vcpus 1 --ram 2048 --disk 20
openstack flavor create m1.medium --vcpus 2 --ram 4096 --disk 40
openstack flavor create m1.large --vcpus 4 --ram 8192 --disk 80
4. 인스턴스 생성 및 Floating IP 연동
4.1 유동 IP (DHCP)
openstack server create rocky9.6-medium \
--image rocky9.6-cli \
--flavor m1.medium \
--nic net-id=<internal-net-ID> \
--key-name mykey \
--security-group default
4.2 고정 IP (수동 지정)
openstack port create \
--network <internal-net-ID> \
--fixed-ip ip-address=<원하는-IP> \
my-fixed-port
openstack server create rocky9.6-medium \
--image rocky9.6-cli \
--flavor m1.medium \
--nic port-id=<my-fixed-port-ID> \
--key-name mykey \
--security-group default
4.3 Floating IP 연결
# CLI
openstack floating ip create external-net
openstack server add floating ip <인스턴스명> <Floating IP>
# Horizon
1. 인스턴스 → 작업 → 유동 IP 연결
2. 사용 가능 IP 선택 or 생성
3. 내부 IP + Floating IP 모두 표시되면 성공
5. 점검 및 운영
인스턴스 / 네트워크 상태 확인
openstack server list
openstack server show <인스턴스명>
openstack port list --network internal-net
openstack network agent list
docker logs nova_compute
docker logs neutron_server
SSH 접속
ssh -i mykey.pem rocky@<Floating-IP>
요약
| 항목 | 내용 |
|---|---|
| OS | Rocky Linux 9.6 |
| 설치 | Kolla-Ansible (2024.1) |
| 설치형태 | 단일 노드 (All-in-One) |
| 주요 인터페이스 | ens18 (내부망), ens19 (외부망) |
| 지원 기능 | Floating IP, 유동/고정 IP, Horizon |
| 웹 UI | http://<서버 IP> (admin 로그인) |


