일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Troubleshooting
- EC2 인스턴스
- tftp
- 네트워크
- EC2
- aws iam
- aws SAA-c03
- docker
- aws cloud shcool 8
- IAM
- FTP
- ELB
- vyos
- NAT
- KUBECTL
- aws cloud
- aws cloud school
- ALB
- AWS
- aws saa
- AWS 자격증
- linux
- Firewall
- load balancer
- SAA-C03
- Kubernetes
- DNS
- vmware
- Ebs
- GNS3
- Today
- Total
나의 공부기록
[VMware] 20. KVM(Kernel-based Virtual Machine) 본문
KVM(Kernel-based Virtual Machine)
- 리눅스 커널을 하이퍼바이저(Hypervisor)로 변환하여 가상화를 지원하는 기술
➡️ 리눅스에서 직접 가상 머신(VM)을 실행할 수 있도록 하는 오픈 소스 가상화 솔루션
서버 가상화 - Hypervisor 분류 방법
1. Hypervisor의 위치가 어디인지
- Type1
- 자원(리소스 : CPU, RAM...)의 효율 ⬆️
= 자원의 효율 = 오버헤드 - Bare-metal 가상화라고 부르기도 함
- 자원(리소스 : CPU, RAM...)의 효율 ⬆️
- Type 2
2. 가상화를 어떻게 하는지- Type 1 기준으로 생각
- 전(Full) 가상화
- dom 0가 명령어를 처리하기 때문에, 가상 또는 현실 Machine인지 파악 불가능
- VMware vSphere(ESXi), Hyper-V(윈도우), KVM(리눅스 커널 기반)
- 반(Para) 가상화
- Hypercall을 통해 명령어를 바로 host machine에 전달하기 때문에 속도가 빠름
- Xen
KVM 특징
- 리눅스 커널 내장
- KVM은 리눅스 커널 모듈로 자동하여, 별도의 하이퍼바이저 설치 없이 가상화를 제공
- 하드웨어 가상화 지원 필요
- Intel VT-x(Intel Virtualization Technology) 또는 AMD-V(AMD Virtualization)와 같은 CPU의 가상화 확장 기능 필요
- 완전한 가상화(Full Virtualization, 전 가상화)
- Guest OS가 특별한 수정 없이 네이티브 환경처럼 실행될 수 있음
- QEMU와 함께 사용
- QEMU(Quick Emulator)와 함께 사용하면 다양한 하드웨어 및 디바이스 에뮬레이션 가능
- 성능 최적화
- 리눅스 스케줄러 및 메모리 관리 기능을 활용하여 고성능 가상화 환경을 제공
- 보안 기능
- SELinux 및 sVirt 기술을 활용한 격리 보안 제공
KVM 실습
KVM 실습 환경
💡KVM 실습 구조 주의사항
- Kernel = 하드웨어를 제어하기 위한 다양한 모듈들의 모임
- Virtual Machine Manager가 마치 Hypervisor처럼 보이지만, KVM을 관리하기 위한 다양한 도구 중 하나
KVM 실습 과정 - KVM 서버
1. 초기 설정 - 방화벽 & SELinux & Repository
- 방화벽 해제
[root@kvm-250213 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
- SElinux 비활성화
[root@kvm-250213 ~]# sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
- Repository 수정
[root@kvm-250213 ~]# cat <<EOF > /etc/yum.repos.d/CentOS-Base.repo
> [base]
> name=CentOS-$releasever - Base
> #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
> baseurl=https://vault.centos.org/7.9.2009/os/x86_64/
> gpgcheck=1
> gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
>
> #released updates
> [updates]
> name=CentOS-$releasever - Updates
> #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
> baseurl=https://vault.centos.org/7.9.2009/updates/x86_64/
> gpgcheck=1
> gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
>
> #additional packages that may be useful
> [extras]
> name=CentOS-$releasever - Extras
> #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
> baseurl=https://vault.centos.org/7.9.2009/extras/x86_64/
> gpgcheck=1
> gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
>
> #additional packages that extend functionality of existing packages
> [centosplus]
> name=CentOS-$releasever - Plus
> #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
> baseurl=https://vault.centos.org/7.9.2009/centosplus/x86_64/
> gpgcheck=1
> enabled=0
> gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
>
> #contrib - packages by Centos Users
> [contrib]
> name=CentOS-$releasever - Contrib
> #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib&infra=$infra
> baseurl=https://vault.centos.org/7.9.2009/contrib/x86_64/
> gpgcheck=1
> enabled=0
> gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
> EOF
2. NetworkManager 비활성화
- NetworkManager 비활성화 이유
➡️ ifcfg 파일과 NetworkManager가 우선순위로 충돌이 발생할 수 있기 때문에 - 네트워크 수정 방법
- 네트워크 스크립트 파일(ifcfg 파일) 수정
- nmtui
- Network Manager - GUI ➡️ 비활성화
[root@kvm-250213 ~]# systemctl stop NetworkManager
[root@kvm-250213 ~]# systemctl disable NetworkManager
Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
Removed symlink /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service.
- NetworkManager 비활성화 확인


3. NIC(인터페이스) 이름 수정 - ens32 ➡️ eth0
- NIC(인터페이스) 이름 수정 이유
➡️ 인터페이스의 이름을 통일 시키고자 함
➡️ br0라는가상의 인터페이스를 만들어서 vmware-workstation의 브릿지같은 대역을 만들고 싶음
3-1. SNAPSHOT

3-2. 네트워크 스크립트 파일(ifcfg) 수정
[root@kvm-250213 ~]# cd /etc/sysconfig/network-scripts/
[root@kvm-250213 network-scripts]# ls | grep ifcfg
ifcfg-ens32 # 해당 파일의 이름 & 내용 수정
ifcfg-lo # 가상의 인터페이스도 설정파일 존재
# centOS에서는 장치(ens32)에 해당하는 설정파일이 존재해야 함
[root@kvm-250213 network-scripts]# mv ifcfg-ens32 ifcfg-eth0
# 불필요한 부분 삭제
# 한줄 삭제 dd
[root@kvm-250213 network-scripts]# vi ifcfg-eth0
TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes"
IPADDR="211.183.3.50"
PREFIX="24"
GATEWAY="211.183.3.2"
DNS1="8.8.8.8"
NM_CONTROLLED=no #네트워크매니저의 영향을 받지 않겠음
3-3. GRUB(부트로더) 수정 - 장치명 부여 방식 수정
- 부트로더에 장치 네이밍 방식이 정의되어 있기 때문
➡️ 장치가 추가되면 원하는 장치명을 부여하기 위해서 수정
[root@kvm-250213 network-scripts]# vi /etc/default/grub
[수정 내용]
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 biosdevname=0"
GRUB_DISABLE_RECOVERY="true"
#수정 내용 반영
[root@kvm-250213 network-scripts]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-d169ebc80e9340a9ba04e9b43da5fe11
Found initrd image: /boot/initramfs-0-rescue-d169ebc80e9340a9ba04e9b43da5fe11.img
done
3-4. KVM 서버 종료
[root@kvm-250213 network-scripts]# init 0
4. KVM 서버 가상화 기술 활성
- KVM라는 Hypervisor가 호스트(=노트북)의 자원을 잘 끌어다 사용할 수 있도록 도와주는 가상화 기술을 활성화
- 가상화 기술을 활성화하지 않으면 KVM 서버 내에서 VM을 만들지 못하고 시간이 오래걸림

5. NIC 확인 - 활성화 여부, 장치명, IP
- 장치명 : ens32 ➡️ eth0
- ifconfig 명령을 통해 활성화된 장치 확인 가능

6. KVM 관련 패키지 설치
- KVM 관련 패키지
- qemu-kvm
- 하드웨어 자원을 에뮬리이션하여 가상화를 지원
- CPU, 메모리, 디스크, 네트워크 등 하드웨어 자원을 가상화하여 VM을 실해
- libvirt : kvm app
- virt-install : vm 설치하는 기능
- virt-manager : vm 설치 관리자
- virt-viewer : 콘솔 화면 제공(입출력)
- vmware workstation에서 vm을 만들면 화면에 보이는 것처럼 제공
- qemu-kvm
root@kvm-250213 ~]# yum install -y qemu-kvm libvirt virt-install virt-manager virt-viewer
7. KVM 제어 계정 및 그룹 권한 부여
- KVM 제어 계정 및 그룹 권한 설정 파일 수정
[root@kvm-250213 ~]# vi /etc/libvirt/qemu.conf
[수정 내용]
# 주석 해제
# kvm을 제어할 수 있는 계정 및 그룹 권한부여
442 user = "root"
443
444 # The group for QEMU processes run by the system instance. It can be
445 # specified in a similar way to user.
446 group = "root"
- libvirtd 재부팅
[root@kvm-250213 ~]# systemctl restart libvirtd
[root@kvm-250213 ~]# systemctl enable libvirtd
8. Virtual Machine Manager(=VMware Workstation) 생성 확인
- application 형태로 확인 가능 = KVM APP


9. ISO 파일 다운로드 - vyos에 필요한 OS 설치 파일
[root@kvm-250213 ~]# wget https://ftp.yz.yamagata-u.ac.jp/pub/vyos/iso/release/1.1.7/vyos-1.1.7-amd64.iso
# iso 파일 위치 이동 & 이름 변경
[root@kvm-250213 ~]# mv vyos-1.1.7-amd64.iso.2 /var/lib/libvirt/images/vyos.iso
[root@kvm-250213 ~]# ls /var/lib/libvirt/images
vyos.iso
10. KVM에서 vyos 서버(VM) 생성
- iso 파일 위치 설정
- /var/lib/libvirt/images : iso파일을 인식할 수 있는 위치



- SPEC 설정 - RAM, CPU

- Disk image 용량 설정

- 서버명 & 네트워크 대역 설정
- VM 자체 = VM의 디렉토리 = /var/lib/libvirt/images/vyos.qcow2

- NIC 확인

- virt-viewer를 통해 KVM 설치 확인 가능

KVM 실습
KVM2를 똑같이 구성
Hostname : kvm2
IP : 211.183.3.60/24
SPEC : 2x2 core / 8GB / 20GB
1. KVM2 서버 생성
2. 장치명 변경 : ens32 ➡️ eth0
[root@kvm2-250214 ~]# cd /etc/sysconfig/network-scripts/
[root@kvm2-250214 network-scripts]# ls | grep ifcfg
ifcfg-ens32
ifcfg-lo
[root@kvm2-250214 network-scripts]# mv ifcfg-ens32 ifcfg-eth0
3. 부트로더(GRUB) 수정 - 장치 네이밍 방식
[root@kvm2-250214 network-scripts]# vi /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 biosdevname=0"
GRUB_DISABLE_RECOVERY="true"
[root@kvm2-250214 network-scripts]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-71e58963cd824c6d953cbf13ef9d98f5
Found initrd image: /boot/initramfs-0-rescue-71e58963cd824c6d953cbf13ef9d98f5.img
done
4. 컴퓨터 끄기
[root@kvm2-250214 network-scripts]# init 0
5. 가상화 기술
➕ 자율과제 - 1
- 언젠가는 KVM1과 KVM2에 존재하는 네트워크들도 서로 Overlay Network로 구성될 것이다. 그렇다면, VPN의 Overlay Network와의 차이점은?
6. Bridge 대역 구성 - KVM1
- Bridge 구성하기 위한 패키지 설치
# 브릿지 구성을 위한 패키지
[root@kvm-250213 ~]# yum install -y bridge-utils
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
base | 3.6 kB 00:00
extras | 2.9 kB 00:00
updates | 2.9 kB 00:00
Package bridge-utils-1.5-9.el7.x86_64 already installed and latest version
Nothing to do
# GUI 설치하면서 설치가 된 듯
- Network Script 파일(ifcfg-br0) 생성 - 가상의 NIC 생성/IP 설정
# NAME, DEVICE 수정
[root@kvm2-250214 network-scripts]# vi ifcfg-br0
TYPE=Bridge
BOOTPROTO=none
DEFROUTE=yes
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=211.183.3.50
PREFIX=24
GATEWAY=211.183.3.2
DNS1=8.8.8.8
NM_CONTROLLED=no
- Network Script 파일(ifcfg-eth0) 생성 - 가상의 NIC 생성/IP 설정
[root@kvm-250213 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
DEVICE=eth0
ONBOOT=yes
BRIDGE=br0
- 재부팅
# 재부팅
[root@kvm-250213 network-scripts]# systemctl restart network
- KVM1 인터페이스 확인
[root@kvm-250213 network-scripts]# ifconfig
- eth0 ➡️ br0 : eth0이 하던 일을 논리적으로 br0가 대신함
- 실질적인 트래픽은 어쨌든 eth0을 타고 외부로 나감
7. vyos 외부통신 가능하도록 수정
8. IP 설정 - KVM1의 vyos
vyos@vyos#set int eth eth0 add 211.183.3.123/24
vyos@vyos#set system gateway-address 211.183.3.2
vyos@vyos#commit
❗Needs : KVM1의 vyos1 ↔️ KVM2의 vyos2 통신
9. KVM2의 인터페이스 설정
- ifcfg-br0 설정
[root@kvm2-250214 network-scripts]# mv ifcfg-eth0 ifcfg-br0
[root@kvm2-250214 network-scripts]# vi ifcfg-br0
TYPE=Bridge
BOOTPROTO=none
DEFROUTE=yes
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=211.183.3.60
PREFIX=24
GATEWAY=211.183.3.2
DNS1=8.8.8.8
NM_CONTROLLED=no
- ifcfg-eth0 설정
[root@kvm2-250214 network-scripts]# vi ifcfg-eth0
TYPE=Ethernet
DEVICE=eth0
ONBOOT=yes
BRIDGE=br0
- 재부팅
[root@kvm2-250214 network-scripts]# systemctl restart network
- 인터페이스 확인
10. KVM2의 vyos2 네트워크 대역 변경
- KVM1의 vyos1과 같은 대역으로 변경 - kvmnet1
11. KVM2의 vyos2 : IP 설정
- KVM1의 vyos1와 같은 Bridge 대역에 있기 때문에
➡️같은 IP를 할당하면 충돌 나서 통신이 안됨
vyos@vyos#set int eth eth0 add 211.183.3.124/24
vyos@vyos#set system gateway-address 211.183.3.2
vyos@vyos#commit
- KVM1의 vyos1 ↔️ KVM2의 vyos2 통신 확인
➕ KVM의 virtual Network 대역 추가 방법
- 대역 설정 & DHCP 기능 끄기
❗VM(=vyos)의 디스크 파일 NFS Server에 저장 & 관리
💡Virtual Machine Manager과 VMWare Workstation 차이
- VM(=vyos)는 .qcow2라는 파일로 vyos에 대한 정보를 저장 & 관리하고
- VMware Workstation은 서버의 이름으로 생성된 폴더로 서버에 대한 정보를 관리
💡 NFS 서버 추가 후, 토폴로지
12. NFS 서버 생성 - Storage 저장 역할
1) 초기 설정
- 방화벽(firewall)
[root@kvm3-nfs-250214 ~]# systemctl stop firewalld
[root@kvm3-nfs-250214 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
- SELINUX
[root@kvm3-nfs-250214 ~]# sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
- Repository(레포지토리)
[root@kvm3-nfs-250214 ~]# cat <<EOF > /etc/yum.repos.d/CentOS-Base.repo
> [base]
> name=CentOS-$releasever - Base
> #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
> baseurl=https://vault.centos.org/7.9.2009/os/x86_64/
> gpgcheck=1
> gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
>
> #released updates
> [updates]
> name=CentOS-$releasever - Updates
> #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
> baseurl=https://vault.centos.org/7.9.2009/updates/x86_64/
> gpgcheck=1
> gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
>
> #additional packages that may be useful
> [extras]
> name=CentOS-$releasever - Extras
> #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
> baseurl=https://vault.centos.org/7.9.2009/extras/x86_64/
> gpgcheck=1
> gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
>
> #additional packages that extend functionality of existing packages
> [centosplus]
> name=CentOS-$releasever - Plus
> #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
> baseurl=https://vault.centos.org/7.9.2009/centosplus/x86_64/
> gpgcheck=1
> enabled=0
> gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
>
> #contrib - packages by Centos Users
> [contrib]
> name=CentOS-$releasever - Contrib
> #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib&infra=$infra
> baseurl=https://vault.centos.org/7.9.2009/contrib/x86_64/
> gpgcheck=1
> enabled=0
> gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
> EOF
2) nfs-utils 패키지 설치
[root@kvm3-nfs-250214 ~]# yum install -y nfs-utils
3) /shared 폴더 생성
[root@kvm3-nfs-250214 ~]# mkdir /shared
4) 권한 수정
[root@kvm3-nfs-250214 ~]# chmod -R 777 /shared
5) /etc/exports 설정 & 반영
[root@kvm3-nfs-250214 ~]# vi /etc/exports
# Client에게 root와 같은 권한 부여
/shared *(rw,no_root_squash)
[root@kvm3-nfs-250214 ~]# exportfs -r
6) nfs-server 재부팅
[root@kvm3-nfs-250214 ~]# systemctl restart nfs-server
[root@kvm3-nfs-250214 ~]# systemctl enable nfs-server
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
7) OS 설치 파일 & VM 디스크 저장공간 분리
[root@kvm3-nfs-250214 shared]# mkdir os
[root@kvm3-nfs-250214 shared]# mkdir vm
[root@kvm3-nfs-250214 shared]# ls
os vm
13. KVM1, KVM2에 nfs 설정
1) nfs-utils 설치
[root@kvm2-250214 network-scripts]# yum install -y nfs-utils
2) /remote 폴더 생성 - mount point
[root@kvm2-250214 /]# mkdir /remote
3) mount 설정
[root@kvm2-250214 /]# mount -t nfs 211.183.3.70:/shared /remote
4) 재부팅 시, mount 유지 설정
[root@kvm2-250214 /]# vi /etc/fstab
[ 수정 내용 ]
211.183.3.70:/shared /remote nfs defaults 0 0
14. vyos.iso ➡️ /remote/os 이동
[root@kvm-250213 images]# cp vyos.iso /remote/os
[root@kvm-250213 images]# pwd
/var/lib/libvirt/images
[root@kvm-250213 images]# ls /remote/os
vyos.iso
15. /shared 폴더 권한 부여
- 이전에 권한 부여를 했지만, 새로 추가된 vyos.iso 파일에 대한 권한은 없기 때문에 다시 부여
[root@kvm3-nfs-250214 os]# ls -al
total 239616
drwxr-xr-x 2 root root 22 Feb 14 01:35 .
drwxrwxrwx 4 root root 42 Feb 14 01:32 ..
-rw-r--r-- 1 root root 245366784 Feb 14 01:35 vyos.iso
[root@kvm3-nfs-250214 os]# chmod -R 777 /shared
[root@kvm3-nfs-250214 os]# ls
vyos.iso
[root@kvm3-nfs-250214 os]# ls -al
total 239616
drwxrwxrwx 2 root root 22 Feb 14 01:35 .
drwxrwxrwx 4 root root 42 Feb 14 01:32 ..
-rwxrwxrwx 1 root root 245366784 Feb 14 01:35 vyos.iso
16. KVM1 vyos 삭제 후, 재설치
1) iso 파일 선택

2) Storage Pool 설정 - /remote/os & /remote/vm
- remote-os Storage Pool


- iso 파일 선택

- remote-vm Storage Pool

3) vm Storage Volume 선택



➕ 자율과제
- NFS 서버의 용량을 100GB로 설정했는데, 왜 remote-vm의 사용가능한 용량이 50GB정도인지?
➡️ remote-vm의 용량을 100GB로 만들어보세요. - 해결 방법
- 설치 단계에서 파티션을 잘 잡기(나머지 공간을 전부 할당)
- /dev/mapper/centos-home(/home)의 마운트를 풀고 /vremove 후 /dev/mapper/centos-root를 lvextend -l +100%FREE 후 xfs_growfs로 파일 시스템을 늘려주면 됨
➕ 만약 /home에 데이터가 있다면 데이터는 옮긴 후 진행
4) VM명 & Volume 설정
- 확장자명이 어려워서 .img로 변경

❗KVM1에 존재하는 VM(vyos1)을 KVM2로 옮기기(=migration)
17. SSH 연결(KVM1 ⬅️ KVM2)
- SSH 방식으로 원격지(KVM2)의 하이퍼바이저를 추가하려면 openssh와 openssh-askpass를 설치해야 함
- openssh & openssh-askpass 패키지 설치
[root@kvm-250213 images]# yum install -y openssh openssh-askpass
- ssh 접속 설정
- ssh 접속
- 원격지 접속 확인
18. Migration(이주) : KVM1 ➡️ KVM2 서버 이동
- migration 조건 - 두 호스트의 환경이 동일한 것이 좋음💡
- VM의 Storage Volume 위치 동일
- VM의 네트워크(KVMnet1) 대역
- Allow unsafe : 안전하지 않아도 허용
- VM이 동작 중일 때, 이동하면 VM 파일이 깨지거나 손상될 수 있지만 그냥 옮기겠다.
- migration 실패
- 실패 이유 : KVM2의 환경이 KVM1과 동일하지 않기 때문
➡️ KVM1에 있는 KVMnet1과 동일한 대역 생성
- 실패 이유 : KVM2의 환경이 KVM1과 동일하지 않기 때문
19. KVM2에 KVMnet1 대역 생성
- 대역이 KVM1의 KVMnet1 대역과 동일해야 함
20. Migration : KVM1의 vyos1 ➡️ KVM2로 이동
- 네트워크 대역 & vm 파일이 동일하게 존재 👉 VM의 Migration(이동성) 보장
'CS > Linux' 카테고리의 다른 글
[VMWare] 23-1. 서버 모니터링 - telegraf, influxdb, grafana (1) | 2025.03.05 |
---|---|
[VMware] 22-1. OpenVSwitch(OVS) (1) | 2025.02.28 |
[VMware] 19-1. VPN - Site to Site VPN (0) | 2025.02.14 |
[VMware] 18-2. VPN - Server to Client VPN 실습 (0) | 2025.02.12 |
[VMware] 18-1. VPN - Server to Client VPN (0) | 2025.02.11 |