bxm's IT Story

Cloud #2 (KVM 3대 + 스토리지 1대, KIMCHI Project) 본문

가상화/KVM

Cloud #2 (KVM 3대 + 스토리지 1대, KIMCHI Project)

bxmsta9ram 2021. 8. 26. 17:41

다운로드
메모리 4GB, 프로세스 4개
Network Adapter 한개 더 추가한 뒤 VMNet 1번으로 놓기.
## 1번 192.168.1.0  DHCP 체크
8번 셋팅

 

이제 아래와 같은 Map이 완성되었다.

## 첫 번째 설정창은 그대로 놔두고, 두 번째 설정창에서 사용자명과 암호만 설정하고 설치


KVM1]

cd /etc/sysconfig/network-scripts

ls -l

vi ./ifcfg-ens32

일단 여기서 일시정지.


## KVM2도 똑같이 만들기.

역시 2번쨰 Network Adapter는 VMNet1임.

 

 


## KVM3 도 똑같이 만들기

 


## STG (SToraGe)도 만들기

얘는 120GB



 

1. 실습환경 준비하기

1.1 사전 안내 및 준비사항
본 랩은 클라우드 및 가상화에 입문하는 초급자용이다.  기본적인 실습환경 구성에서부터 Live Migration 및 이미지 생성 등과 같은 내용에서부터 간단한 응용 부분을 포함하고 있으며 기업의 환경에 즉시 적용할 수 있는 내용을 담기에는 한계가 있다 따라서 본 내용의 이용은 입문자들이 KVM을 이용하여 흥미를 갖을 수 있도록 하는데 목적을 두고 있다.

모든 실습은 한 대의 데스크탑에서 이루어 질 수 있도록 되어 있으며 첫 번재 실습에서부터 마지막 ㅣ실습까지 차례대로 진행해야 문제 발생 소지가 없다.
필요한 시스템 사양은 아래와 같다.
- 윈도우 10에 설치된 VMware Workstation 16 이상
- 16GB 이상의 메모리
- 4코어 이상의 CPU (VT-x/AMC-v 필수)
- 120 GB 이상의 여유 공간이 있는 HDD(SSD추천)
- 실습용 리눅스 이미지(CentOS-7-x86_64-DVD-2009.iso)

1.2 실습환경 준비하기
전체 실습을 위해서는 아래와 같이 리눅스가 설치된 4대의 가상머신이 필요하며 이 중 3대는 KVM이 설치되고 1대는 공유스토리지로 활용된다.
- 맵 그림-

host-only의 VMnet1은 호스트간 내부 통신, 관리 및 Live Migration 용도로 활용되므로 외부와 직접적인 연결이 필요하지 않다. NAT(VMnet8)은 외부 서비스를 위한 용도이므로 인터넷 연결 또는 외부와의 연결이 허용되어야 한다. 단, STG는 공유 저장소이므로 몇가지 필요한 패키지를 설치한 뒤에는 외부 연결용 인터페이스를 비활성화 해 두고 사용하는 거싱 보안사항에 부합한다고 할 수 있다.

1.2.1 vmware workstation(이하 vm) 설정하기
실행된 wmware 메뉴중 edit->virtual network edit
vmnet1   host-only   host-only  connected   enableed   192.168.1.0

1.2.2 file->net vitual machine 에서 KVM1~STG 설치 준비
#KVM1,KVM2,KVM3
CPU 4Core    // Virtualize~ 체크
Ram 4G
HDD 20G
NIC1 NAT
NIC2 VMnet1

#STG
CPU 2Core    // Virtualize~ 체크
Ram 2G
HDD 120G
NIC1 NAT
NIC2 VMnet1

1.2.3 VM 설치하기
KVM 호스트 3대는 가상머신 관리를 위해 virt-manager를 사용하지 않고 kimchi(wokd)를 사용할 계획이므로 "minimal installation"으로 설치한다. STG 역시 NFS 서버로만 사용할 계획이므로 역시 "minimal installation" 으로 설치한다.
단, 설치 중에 IP 주소는 아래의 내용을 참고하여 구성한다. 테라폼이나 앤서블과 같은 자동화 도구를 사용하거나 vagrant를 통해 가상머신을 배포하는 형태가 아니라 처음 가상화를 시작하는 단계에서 하는 실습이라는 가정에서 진행하는 실습이므로 불편하지만 하나씩 직접 설치해 주어야 한다.

KVM1
ens32=>5.5.5.101/24  Gateway:5.5.5.2 DNS:8.8.8.8
ens33=>192.168.1.101/24
KVM2
ens32=>5.5.5.102/24  Gateway:5.5.5.2 DNS:8.8.8.8
ens33=>192.168.1.102/24
KVM3
ens32=>5.5.5.103/24  Gateway:5.5.5.2 DNS:8.8.8.8
ens33=>192.168.1.103/24
STG
ens32=>5.5.5.104/24  Gateway:5.5.5.2 DNS:8.8.8.8
ens33=>192.168.1.104/24

1.2.4
SecureCRT를 이용하여 호스트이 내부 관리용 주소(192.168.1.0/24)로 접속하기
새 연결 -> SSHv2 -> Port N/O 22 -> 192.168.1.10x
KVM1이 연결되는 것을 확인했다면 나머지 KVM2,3과 STG도 연결

1.2.5 인터페이스 이름 변경하기
시스템 별로 인터페이스의 이름이 다른 경우도 있으며 실습 중 인터페이스 명 입력의 편의 등을 이해, 아래와 같은 방법으로 ens32, ens33 인터페이스 이름을 변경한다.  가상머신 생성중 실수로 인해 간혹 ens32, ens34 등과 같이 다른 인터페이스 이름으로 되어 있다하더라도 상관없이 아래와 같이 eth0, eth1로 변경해 둔다.
# yum -y install vim
# echo "alias vi='vim'" >> ~/.bashrc
# yum provides ifconfig
net-tools-2.0-0.25.20131004git.el7.x86_64 : Basic networking
# yum -y install net-tools
이제 ifconfig 명령어를 쓸 수 있다.
# vi /etc/default/grub
  //6행 끝부분에 net.ifnames=0 biosdevname=0 추가
# cd /etc/sysconfig/network-scripts/
# ls ifcfg-ens*
# mv ifcfg-ens32 ifcfg-eth0
# mv ifcfg-ens33 ifcfg-eth1
# vi ifcfg-eth0
  NAME=eth0
  DEVICE=eth0
# vi ifcfg-eth1
  NAME=eth1
  DEVICE=eth1

이제 DEVICE 명을 반영하기 위하여 GRUB 설정을 실행시킨다.
# grub2-mkconfig -o /boot/grub2/grub.cfg

 

 


## 3대의 KVM, 1대의 스토리지, 총 4대가 설치가 되었으면 아래와 같이 설정바꾸기 ##

 

KVM1]

vi /etc/sysconfig/network-scripts/ifcfg-ens32

 

vi /etc/sysconfig/network-scripts/ifcfg-ens33

## Host-only니까 Gateway와 DNS1이 없음!!!!!!!

systemctl restart network


Host PC]

[cmd] - [ping 192.168.1.101]

Ping이 정상적으로 보내지는 것을 확인할 수 있다.

 

## SecureCRT 접속

접속 완료!!


KVM2]

vi /etc/sysconfig/network-scripts/ifcfg-ens33

KVM1이 .101 이므로 .102로 넣기.

 

vi /etc/sysconfig/network-scripts/ifcfg-ens33

 

systemctl restart network


Host PC]

Ping이 잘 보내진다.

 


KVM3]

vi /etc/sysconfig/network-scripts/ifcfg-ens32

.103

 

vi /etc/sysconfig/network-scripts/ifcfg-ens32

 

systemctl restart network


Host PC]


STG]

vi /etc/sysconfig/network-scripts/ifcfg-ens32

.104

 

vi /etc/sysconfig/network-scripts/ifcfg-ens33

 

systemctl restart network


Host PC]

 



## 모든 세션 종류 및 제거 후 

 


KVM1
KVM2
KVM3
STG

 

## 이제 한 화면에서 Server 4대를 한방에 운용 가능한 상태가 되었다 ##

## 접속이 모두 되는 것까지 확인하였음!!


## 인터페이스 이름 변경하기 ##

KVM1, KVM2, KVM3, STG] - 4대 다 적용시키기!! (대표 사진은 KVM1로)

yum -y install vim

echo "alias vi='vim'" >> ~/.bashrc

## bashrc라는 곳에 추가를 하면 aliac가 적용이 된다.

사진은 KVM1 한 장으로 대표했음.

 

 

ifconfig

## 안된다. Minimal 설치를 해서 그럼!! ㅎㅎ 당연한것임.

 

yum provides ifconfig

 

yum -y install net-tools

 

yum provides ifconfig

 

vi /etc/default/grub                   ==> 멀티부스터로더

## 6번째 줄에 <net.ifnames=0 biosdevname=0> 추가 : 네트워크 인터페이스 이름을 바꿀 수 있도록 해달라. (0=ok)

 

cd /etc/sysconfig/network-scripts/

ls ifcfg-ens*

mv ifcfg-ens32 ifcfg-eth0

mv ifcfg-ens33 ifcfg-eth1

 

vi ifcfg-eth0

 

vi ifcfg-eth1

 

 

grub2-mkconfig -o /boot/grub2/grub.cfg

명령어 작성 후 꼭 shutdown -r now 명령어를 통해 재부팅!! 그래야지 ifconfig 했을때 eth0과 eth1로 바뀐 것을 확인할 수 있다.

 

 

## 원래 랜카드 이름을 못바꿈. grub(부트매니저)이 막음.

## vi /etc/default/grub에서 이름 바꿀 수 있다고 정의해줬음.

## mv로 파일명 바꿨음.

## 이 파일명 바꾼게 grub2-mkconfig -o /boot/grub2/grub.cfg를 입력해야지 이제 적용이 되는 것임.


1.2.6 모든 노드의 방화벽 및 SELinux 비활성화
실습의 편의를 위해 방화벽과 SELinux 를 중지시킨다.  특히 VM 의 기본 디스크 저장 장소 변경등을 위해는 SELinux의 비활성화가 필요하다.  편의상 STG까지 포함한다.

KVM1, KVM2, KVM3, STG]

systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/=enforcing/=disabled/' /etc/selinux/config
cat /etc/selinux/config | grep -e ^SELINUX=

SETLINUX=DISABLED로 바뀐 것을 확인할 수 있다!!

 

 

1.2.7 모든 노드의 NetworkManager 비활성화

KVM1, KVM2, KVM3, STG]

systemctl stop NetworkManager

systemctl disable NetworkManager

 

 

1.2.8 4개의 모든 노드에서 아래의 내용을 /etc/hosts/ 에 등록한다.

KVM1, KVM2, KVM3, STG]

cat << EOF >> /etc/hosts

192.168.1.101 kvm1

192.168.1.102 kvm2

192.168.1.103 kvm3

192.168.1.104 stg

EOF

 

vi /etc/hosts

 

 

## KIMCHI 설치 ##

1.2.9 [KVM1 ~ KVM3] 호스트에 KVM, WOKD(Kimchi) 설치하기.

yum -y update             

## yum을 업데이트 해야만 다운로드 받을 수 있음.

 

## 만약 yum이 잘 안들으면 'yum clean all' 하고 나서 해보자.

yum -y install qemu-kvm libvirt virt-install virsh openssh-askpass wget bind-utils

KVM1, KVM2, KVM3 3개의 호스트에 전부 KIMCHI 설치 완료.

 

## 설치가 완료되었으면 아래로 들어가서 442, 446 Hash Mark 지우기. (이제 이 root 계정을 쓰겠다는 말임.)

vi /etc/libvirt/qemu.conf

3개의 호스트 모두 442, 446 번째 줄의 HashMark 지우기.

 

## 이제 KVM 실행

systemctl start libvirtd

systemctl enable libvirtd

 

 

## KIMCHI 를 설치하려면 yum의 업그레이드 버전인 epel이 필요함.

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

 

 

## 설치가 완료된 이후, Github 설치가 필요하다.

* Git

  : 형상관리 도구 중 하나로, 컴퓨터 파일의 변경 사항을 추적하고 여러명의 사용자들간에 해당 파일들의 작업을 

   조율하기 위한 분산 버전 관리 시스템이다. 소스코드를 따로 주고 받을 필요 없이, Git을 사용하면 하나의 프로젝트,

   같은 파일을 여러 사람이 동시에 작업하는 병렬 개발이 가능하다.

 

* Github

  : 분산 버전 관리 툴인 깃(Git)을 사용하는 프로젝트를 지원하는 웹호스팅 서비스이다. 버전 관리와 협업을 위한

   코드 웹 호스팅 플랫폼으로, 언제, 어디서나 협업 프로젝트를 쉽게 진행할 수 있도록 돕는 역할을 한다.

 

 

## wok라는 rpm 파일이 필요하고,

yum -y install https://github.com/kimchi-project/kimchi/releases/download/2.5.0/wok-2.5.0-0.el7.centos.noarch.rpm 

 

 

## Kimchi 다운로드

yum -y install https://github.com/kimchi-project/kimchi/releases/download/2.5.0/kimchi-2.5.0-0.el7.centos.noarch.rpm

 

 

## 데몬 리로드,

systemctl daemon-reload
systemctl restart wokd
systemctl enable wokd
reboot

 



## 이제 웹브라우져로 클라우드를 구성할 수 있음. virt-manager보다 훨씬 나음 ##

## 호스트 컴퓨터의 웹브라우저에서 https://192.168.1.101:8001 로 KVM1에 접근한다. (KVM2,3에도 접근한다.) 

https://192.168.1.101:8001 접속 화면.

 

 

 

https://192.168.1.102:8001 접속 화면.


1.2.10 공유 스토리지 설정

## STG를 NFS Server로 만들기 ##

STG] - nfs(Network File Service) Server로 쓰자.

yum -y install nfs-utils

mkdir /stg

chmod 777 -R /stg             ## 하위 디렉토리까지 권한 전부!

vi /etc/exports

 

systemctl start nfs-server

systemctl enable nfs-server

 

KVM1, KVM2, KVM3]

mkdir /stg

mount -t nfs stg:/kvm /stg

mount | grep stg:/kvm

echo "Hello from KVM" > /stg/test.txt                         ## /stg/test.txt에 출력해라.

 

STG] - Mount를 시켜줬기 때문에 STG Server에 저장이 된다. (Storage)

ls /stg

cat /stg/test.txt

## test.txt가 나온다. // ## 'Hello from KVM1' 이라고 나온다.

끝 !



2. 가상머신의 기본 생성과 가상머신 관리

 

2.1 virt-install을 이용한 기본 설치

2.1.1 STG에서 설치용 이미지 준비

 

STG]

yum -y install wget               ## wget(Web GET 이라는 뜻)

wget https://releases.ubuntu.com/20.04/ubuntu-20.04.3-desktop-amd64.iso 

시간이 좀 걸린다 ^^..

 

 

## CentOS 다운로드 (카이스트 사이트에서 받아오기)

wget https://ftp.kaist.ac.kr/CentOS/7.9.2009/isos/x86_x64/CentOS-7-x86_64-Minimal-2009.iso

또는

wget http://mirror.navercorp.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso

나는 KAIST 사이트가 404에러가 떠서 네이버에서 받았음.


## QEMU는 하이퍼바이저를 채용했다. 정확하게는 Type-2 하이퍼바이저이다. 이를 이용해 가상머신 여럿을

    한 플랫폼으로 돌릴 수 있다. 이와 비슷한 소프트웨어로는 VMWare와 VirtualBox 등이 있다.

## libvirt가 제공하는 가상 디스크 형식

    1) raw : 다른 메타 데이터 없이 원본 디스크의 정확한 바이트 대 바이트 사본

    2) cloop : 압축 루프백 디스크 이미지 형식

    3) cow : 사용자 모드 리눅스 디스크 이미지 형식

    4) dmg : 맥 디스크 이미지 형식

    5) iso(제일 유명) : CD-ROM 디스크 이미지 형식

    6) qcow : QEMU v1 디스크 이미지 형식

    7) qcow2 : QEMU v2 디스크 이미지 형식

    8) QED : QEMU의 향상된 디스크 이미지 형식

    9) VMDK : VMWare 디스크 이미지 형식

    10) Virtual PC 디스크 이미지 형식

 

 

2.1.1 STG에서 설치용 이미지 준비

KVM1]

qemu-img create -f qcow2 /stg/centos01.qcow2 10G

## STG는 Server를 뜻함. Mount가 되었으므로 qcow2 형식으로 10G로 디스크를 만들어라. OS를 설치하기 전에 디스크를 만들어야해서 만든 것임!!

 

virt-install --name centos01 --ram 1024 --disk /stg/centos01.qcow2,format=qcow2 --network network=default --graphics vnc,port=5901 --location=/stg/CentOS-7-x86_64-Minimal-2009.iso --noautoconsole

개고생해서 성공 ..ㅎㅎ

 

STG]

cd /

ls /kvm

cp /root/CentOS-7-x86_64-Minimal-2009.i ubuntu-20.04.3-desktop-amd64.i /kvm


Host PC]

https://192.168.1.101:8001

## Virtualization 들어가면 centos01이 새로 뜸.

## 오른쪽에 조치 눌러서 들어가면 CentOS 설치 가능함. 아래 Ubuntu까지 깔고 설정할 것임.


## 두 번째 centos 설치 ##

KVM1]

virt-install --name centos02 --ram --disk /stg/centos02.qcow2,format=qcow2,size=10 --network network=default --graphics vnc,port=5902 --location=/stg/CentOS-7-x86_64-Minimal-2009.iso --noautoconsole

## 위의 방식과 틀린 것은, 위에서는 디스크를 미리 만들어 놓고 시작했다. 하지만 얘는 Size 옵션을 붙였기에, 디스크를 만들면서 시작!!

 

호스트 이름 : centos01로 설정 후 설치 완료.


## centos02도 마찬가지


## Ubuntu 설치 ##

KVM1]

virt-install --connect qemu:///system --name ubuntu01 --vcpus 1 --ram 1024 --disk path=/stg/ubuntu01.qcow2,size=10 --network network=default --graphics vnc,port=5903 --cdrom /stg/ubuntu-20.04.3-desktop-amd64.iso --noautoconsole

설치 완료.


KVM1]

virsh list

현재 실행중인 list가 나오는 것을 확인할 수 있다.

 

 

## 이름만 보고 싶다면, 아래와 같이 명령어를 작성하면 된다.

virsh list --all

virsh list --all --name

 

 

2.2.2 가상머신의 세부 내용 확인하기와 편집하기

KVM1]

virsh dumpxml centos01 | head

 

 

 

2.2.3 호스트 실행시 자동 실행 가능하도록 autostart 설정하기

KVM1]

for as in $(virsh list --all --name)
>do
>virsh autostart "$as" ; done

 

virsh list --all --autostart


## for문
for 변수 in [범위](리스트 또는 배열, 묶음 등)
do
    반복할 작업
done

 

 


2.2.4 도메인별 인터페이스와 IP 주소 간단히 확인하기

KVM1]

virsh domiflist centos01

 

 

 


2.2.5 디스크 생성과 추가하기

KVM1]

virsh pool-list --all


virsh vol-create-as stg volume1 1G

 


virsh attach-disk centos01 /stg/volume1 --target sdb --persistent --live

 


Kimchi-centos01]

ls /dev/sd*

 


KVM1]

virsh detach-disk centos01 sdb

이렇게 디스크를 붙였다가 뗐다가 마음대로 할 수 있다.

 

 

virsh vol-list stg

virsh vol-delete volume1 stg

 

 

## 강제종료 시키기.

KVM1]

virsh destroy ubuntu01             ## Ubuntu 강제종료

virsh destroy centos02              ## centos02 강제종료

virsh list --all 로 확인해보기.

 

 

## VM 시작

virsh start ubuntu01

 

 

## VM 재부팅 

virsh reboot ubuntu01

 

## VM 삭제 (이건 따라하지말기 !!)

virsh undefine ubuntu01 --remove-all-storage

2.3 기본 네트워크와 가상 브릿지 생성하기
2.3.1 초기에 생성되는 default 네트워크의 설정확인
virsh net-list --all

 

 

 

## 이제 KIMCHI로 가기 전에 마지막 확인!!

virsh net-dumpxml default


 

Kimchi-centos01]

ip addr

192.168.122.66으로 122대역을 받았음.

 

yum -y install net-tools             ## 이걸 까는 순간 인터넷이 되는것도 확인 가능해지는 것이다 ㅎㅎ.

## 이제 ifconfig를 사용할 수 있음.

 

 

 

2.3.2 내부 사설 네트워크 구성을 위한 xml 파일 작성하기

KVM1]

vi private1.xml

저장.

 

 

2.3.3 작성된 파일을 이용한 네트워크 구성과 동작 확인.

KVM1]

virsh net-define private1.xml

현재 위치인 /etc/libvirt/qemu/networks 에서는 xml 파일을 통해 네트워크를 구성할 수 없음.

 

mv private1.xml /                       ## xml은 특수한 파일이기 때문에 루트 디렉토리에서만 가능함!!

cd /

virsh net-define private1.xml

 

 

virsh net-list

## 동작을 안하기에 안 나올 것임.

 

virsh net-list --all

## 이래야지 다 뜨게 된다.

 

virsh net-start private01

virsh net-list

활성화가 되었음.

 

## 자동시작도 설정해놓자.

virsh net-autostart private01

virsh net-list

 

 

virsh net-dumpxml private01

private1 네트워크가 생성됨과 동시에, 'virbr1' 브릿지가 자동으로 생성되고, 이 브릿지에 private1 네트워크가 할당된다.

 

 

2.3.4 생성된 사설 네트워크를 centos01, centos02에 연결해보자.

virsh list -all

virsh attach-interface --domain centos01 --type network --source private01 --model virtio --config --live

## centos01을 private01에 집어넣겠다. 라는 뜻임.

virsh domiflist centos01

 

virsh domifaddr centos01

 


## 똑같은 방법으로 centos02에도 집어넣어보기!!

virsh start centos02

 

virsh attach-interface --domain centos02 --type network --source private01 --model virtio --config --live

virsh domiflist centos02

 

virsh domifaddr centos02

 

## 현재 centos01 : 172.16.1.179

           centos02 : 172.16.1.147 을 할당받았음. centos01과 centos02에서 서로 통신이 되는지 확인해보자.

## 또한 외부로도 ping이 잘 가는지 확인해보자.

 

 

Kimchi-centos01]

ping 172.16.1.147

ping 10.0.0.1

ping 168.126.63.1

 

 

Kimchi-centos02]

ping 172.16.1.179

ping 10.0.0.1

ping 168.126.63.1


2.3.5 kvm호스트가 가상머신의 트래픽을 외부로 포워딩 할 수 있도록 하기 위한 설정.  포워딩 설정은 모든 kvm

호스트에 설정해 두는 것이 좋다.

KVM1]

## ip_forward 값이 1이면 라우팅이 가능하다.

##                       0이면 라우팅이 불가하다.

echo "1" > /proc/sys/net/ipv4/ip_forward

vi /proc/sys/net/ipv4/ip_forward

1이 기본값이라서 할 필요는 없다고 함.

 

Kimchi-centos01]

ping -c 1 www.google.com

Ping이 간다.


2.3.6 인터페이스 제거하기

KVM1]

virsh domiflist centos01

 

 

## private01 랜카드를 제거해보자.

virsh detach-interface --domain centos01 --type network --mac 52:54:00:a6:78:5e

랜카드가 날아간 것을 확인할 수 있다. ㅎㅎ

 

## 만약 인터페이스 탈착 이후에도 계속 연결되어 있는 것으로 확인된다면

    'virsh edit 도메인 이름'에서 해당 인터페이스 부분을 제거해 주어야 한다.

    일반적으로 해당 가상머신을 destroy(종료) > start(실행)하면 된다.

 

## centos02도 똑같이 날려보자.

virsh domiflist centos02

virsh detach-interface --domain centos02 --type network --mac 


2.4 스냅샷

2.4.1 centos01에서 스냅샷 생성과 리스트 확인

KVM1]

virsh snapshot-list centos01

 

 

## 스냅샷 생성

virsh snapshot-create-as centos01 --name "centos-2021-08-31"

virsh snapshot-list centos01

 

 

## 2번째 스냅샷 생성  (atomic 옵션은 성공/실패 여부 확인을 보장해 준다.)

virsh snapshot-create-as centos01 --name "centos-2021-08-31-02" --description "second ss-default" --atomic

 

 

## 누구로부터 파생되었는지(부모가 누군지) 확인할 수 있다.

virsh snapshot-list centos01 --parent

 

 

## 트리 모양으로 보여준다.

virsh snapshot-list centos01 --tree

 

 

 

2.4.1 스냅샷을 통해 복구가능 여부를 확인하기 위하여 동작중인 centos01을 중지시킨 뒤, 동작중인 상태에서 작성된

    스냅샷 "centos-2021-08-31"로 되돌린다.

KVM1]

virsh destroy centos01

## centos01 강제종료시키기.

 

virsh list --state-shutoff

종료된 것을 확인.

 

virsh snapshot-list centos01

virsh snapshot-revert centos01 --snapshotname "centos-2021-08-31"

virsh list

스냅샷으로 돌아간 것을 확인할 수 있다.

 

 

2.4.3 snapshot-dumpxml을 통해 스냅샷 설정 내용을 확인할 수 있으며 snapshot-edit를 통해 수정이 가능하다.

KVM1]

virsh snapshot-dumpxml --snapshotname centos-2021-08-31 centos01

 

virsh snapshot-edit --snapshotname centos-2021-08-31 centos01

 

 

2.4.4 스냅샷 삭제

KVM1]

virsh snapshot-list centos01

## 스냅샷 리스트 확인

 

 

virsh snapshot-delete centos01 centos-2021-08-31-02

## 스냅샷 삭제

 

 

virsh snapshot-list centos01

## 스냅샷 1개가 날아간 것을 확인할 수 있음.

'가상화 > KVM' 카테고리의 다른 글

Cloud #3 (KVM Final-Migration, Cirros, Overlay Network)  (0) 2021.09.01
Cloud #1 (KVM-Linux의 가상머신)  (2) 2021.08.24