이론
우리가 가상화를 하는 이유는 VM통해 원하는 서비스를 제공하기 위함이다. 가령, VM에 웹서버를 설치하여 웹서비스를 제공하고 있다. 따라서, kvm호스트에 장애가 발생해도 VM만 정상적으로 동작한다면 서비스는 계속 제공될 것이다.
kvm1 호스트에 장애가 발생했다고 가정해보자. kvm1에서 동작하던 c1을 kvm2로 옮겨(migration)올 수만 있다면 c1은 무중단서비스가 가능할 것이다.
HA(High Availability, 고가용성) - 자동으로 VM이 호스트를 변경, VM이 재부팅. 대표적으로 이중화.
FT(Fault Tolerance) - 자동으로 VM이 호스트를 변경, VM이 재부팅 되지 않음.
실습
가상 머신 설치
지난 주 실습에서 이어진다.
kvm1과 kvm2에 같은 설정을 한다.
# <KVM1>
$ yum -y install bridge-utils
$ cd /etc/sysconfig/network-scripts/
$ cp ifcfg-eth0 ~/
$ ls ~
#ifcfg-br0의 내용. IPADDR부분은 자신의 서버에 맞게 수정.
$ vi ifcfg-br0
DEVICE=br0
TYPE=Bridge
BOOTPROTO=none
DEFROUTE=yes
NAME=br0
ONBOOT=yes
DNS1=8.8.8.8
IPADDR=211.183.3.10
PREFIX=24
GATEWAY=211.183.3.2
# ifcfg-eth0 의 설정값에 추가
$ vi ifcfg-eth0
TYPE=Ethernet
DEVICE="eth0"
ONBOOT="yes"
BRIDGE=br0
$ systemctl restart network
$ ifconfig
# <KVM3>
$ mkdir -p /shared/cirros
$ cd /shared/cirros
$ wget http://download.cirros-cloud.net/0.5.1/cirros-0.5.1-x64_64-disk.img
# img 복사
$ mv cirros-0.5.1-x86_64-disk.img cirros.img
$ cp cirrors.img c1.img
$ cp cirrors.img c2.img
$ cp cirrors.img c3.img
# 권한 부여
$ chmod 777 -R .
$ ls -al
KVM1에서 Virtual Machine Manager를 실행한다.
New VM을 만든다. Import existing disk image를 설정한다.
New Storage Pool에서 cirros를 설정하고, path는 /remote/cirros로 설정한다. c1.img를 선택하고 choose volume으로 Linux>ALT Linux>Cirros 0.4.0을 선택한다.
새로운 가상머신이 생성되는 것을 볼 수 있다. login: cirros / password: gocubsgo 로 로그인이 가능하다.
Migration
# <KVM1>
# ssh로 접속 시 필요한 패키지 설치
$ yum -y install openssh-askpass openssh
KVM1에서 KVM2의 가상 머신을 등록한다.
Connection 추가: Virtual Machine Manager > Add Connection > Connect to remote host > 211.183.3.20
Migration: cirros1 > 우클릭 > Migrate > 설정
실습2
Migration 실습
srv1,2,3는 192.168.3.0 /24 대역에 존재한다.
srv1 과 srv2는 각각 kvm 호스트다. srv3는 kvm 호스트들이 생성한 vm을 저장시키기 위한 스토리지 용도로 쓰이고 있다.
cirros.img는 기본적으로 dhcp로 아이피를 받아오도록 설정이 되어있다. srv1 호스트에서 cirros.img를 복사하여 s1이라는 이름의 vm을 통신이 되도록 생성한 후 외부로 ping을 쳐둔다. migration을 한 이후에도 통신에 끊김이 없는지 확인한다.
1) VMnet3 인터넷 연결
kvm1 ,kvm를 4core, 4GB(Processors), 20GB(Disk Size)로 만든다. DVD iso를 사용한다. Address는 192.168.3.10, 192.168.3.20이다. Gateway는 211.183.3.2, DNS Servers는 8.8.8.8로 동일하다.
kvm3은 2core, 2GB, 100GB로 만든다. Minimal iso를 사용한다. INSTALLATION DESTINATION에서 partitioning 옵션을 선택한다. /home은 삭제하고 /(root)를 96GiB로 늘린다. Address는 192.168.3.30이다. Gateway는 211.183.3.2, DNS Servers는 8.8.8.8로 동일하다.
이후 GNS 설정을 한다.
# 필요한 대역의 임의의 ip를 router에 설정
R1#en
R1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)#int f0/0
R1(config-if)#ip add 192.168.3.100 255.255.255.0
R1(config-if)#no sh
R1(config-if)#int f0/1
R1(config-if)#ip add 211.183.3.100 255.255.255.0
R1(config-if)#no sh
R1(config-if)#exit
# NAT
# 1. Router NAT 설정
R1(config)# int f0/0
R1(config-if)# ip nat out
R1(config-if)# int f0/1
R1(config-if)# ip nat in
# 2. 주소변환 - 조건 정책 설정(사설IP정보->ACL)
R1(config-if)#access 1 permit 192.168.3.0 0.0.0.255
# 3. NAT 정책 설정 (공인IP outside interface 이용)
R1(config-if)#ip nat inside sourse list 1 int f0/0 overload
# 4. Default routing을 인터넷 연결
# 정적 라우팅
# 디폴트 라우트를 실제 공유기 인터페이스 아이피(호스트 PC의 게이트웨이)로 지정
R1(config-if)#ip route 0.0.0.0 0.0.0.0 192.168.3.2
# 5. 필요하면 static route 설정 추가
# 이후 VM에서 Edit > Virtual Network Editor > Host-Only(VMnet3)를 선택한다.
# 그리고 만든 VM 탭에서 우클릭해서 setting>VMnet3 선택을 해준다.
$ systemctl restart network
# vmware에서 ping 192.168.3.x, 8.8.8.8이 되는지 확인한다.
# <gns>
# ip 설정 확인 : do show run
# nat route 취소 : no ip route 0.0.0.0 0.0.0.0 192.168.3.2
# ping : do ping 192.168.3.10
# <vmware workstation>
# 네트워크 설정 확인 : vi /etc/sysconfig/network-scripts/ifcfg-ens32
2) 가상화 설정
위 게시글을 참고하여 기초 설정을 한다.
3) cirros image DHCP
cirros.img는 기본적으로 dhcp로 아이피를 받아오도록 설정이 되어있다. srv1 호스트에서 cirros.img를 복사하여 s1이라는 이름의 vm을 통신이 되도록 생성한 후 외부로 ping을 쳐둔다. migration을 한 이후에도 통신에 끊김이 없는지 확인한다.
# dhcp 설정
# startid endid
R1(config)# ip dhcp excluded-address 192.168.3.1 192.168.3.100
R1(dhcp-config)# network 192.168.3.0 255.255.255.0
R1(dhcp-config)# default-router 192.168.3.100
...
srv1,2,3는 192.168.3.0 /24 대역에 존재한다.
srv1 과 srv2는 각각 kvm 호스트다. srv3는 kvm 호스트들이 생성한 vm을 저장시키기 위한 스토리지 용도로 쓰이고 있다.
cirros.img는 기본적으로 dhcp로 아이피를 받아오도록 설정이 되어있다. srv1 호스트에서 cirros.img를 복사하여 s1이라는 이름의 vm을 통신이 되도록 생성한 후 외부로 ping을 쳐둔다. migration을 한 이후에도 통신에 끊김이 없는지 확인한다.
<dhcp 설정>
1.브릿지대역 : s1이라는 VM을 생성을 했을때 br0로 두면, 브릿지네트워크에 속해 있다. vmnet3에서 dhcp 아이피를 부여하면 외부로 통신이 된다.
2.무중단서비스
'🏫 Cloud Practice > 🧪 On-Premise' 카테고리의 다른 글
방화벽을 설정해서 웹과 DB에 접근 가능하도록 해보자 (0) | 2023.09.27 |
---|---|
Wordpress를 설치하고 MariaDB(MySQL)과 연동해보자 (0) | 2023.09.26 |
가상화(전가상화, 반가상화)를 이해해보자 (0) | 2023.09.20 |
PxE 서버에 대해 알아보자 (0) | 2023.09.18 |
DNS 서버 설정을 해보자 (0) | 2023.09.08 |