반응형

 

작성일: 2024년 4월 9일

 

Amazon AWS, Microsoft Azure, Google GCP, Oracle Cloud Infra 등 CSP에서 Compute resource를 생성하려고 보면,

이 Compute instance(또는 VM instance)를 생성한 것 때문에 비용이 얼마나 되는지 감을 잡기가 어렵다.

 

마침, Oracle Cloud의 연간 Credit 구입한 것이 많이 남아 있고, 5일 후에 Expire되기 때문에 남는 Credit을 소진해볼겸

VM instnace를 Scale-up, Scale-down하면서 비용 증가/감소 정도를 체크해봤다.

 

1개 VM instance를 대상으로 CPU/Memory Scale-up 수행 후 비용 증감을 체크

초기 VM instance의 Spec Scale-up 이후의 Spec 비용 증가분(Delta)
CPU: 1 core (2 thread)
MEM: 2GB
Storage: 50 GB (Boot volume)
CPU: 8 core (16 thread)
MEM: 128 GB
Storage: 50 GB (Boot volume)
11,479 원   (Daily Cost)

 

참고:
  CPU 종류: AMD EPYC 7J13
  CPU Caches: 
      L1d:  512 KiB (8 instances)
      L1i:   512 KiB (8 instances)
      L2:   4 MiB (8 instances)
      L3:   32 MiB (2 instances)

 

 

 

위에 내가 실제로 VM instance를 Scale-up한 이후의 비용 증가분을 계산한 것은
클라우드 테넌트 계약 조건과 현재 원/달러 환율 따라 30% 정도 차이가 날 것이다.
특히 클라우드 테넌트 계약시, 3년 이상 장기 계약한 경우 많은 할인율이 적용되서  Scale-up에 대한 증가분이 크지 않을 수 있다.
1년 단위로 단기 계약한 테넌트라면, CPU/Memory를 Scale-up할 때 비용 증가분이 위의 계산 결과보다 클 수 있다.

 

 

반응형
작성일: 2024년 4월 9일

 

Microsoft Azure, AWS(Amazon), GCP(Google Cloud Platform), Oracle Cloud Infra 등 Cloud Infra 서비스를 사용하다보면

예상한 것보다 비용이 더 지출되는 경우가 있다.

내 경우, Cloud Infra를 1년간 사용하는 중에 Storage(Block Volume)과 VCN(Virtual Cloud Network) 리소스 사용 비용이 계속 증가만 하길래 이 비용 증가 원인을 찾는 작업을 했다.

 


 

나는 회사 업무 때문에 CSP(Cloud Service Provider)가 제공하는 Managed Kubernetes를 종종 이용하는데, 

이 Managed Kubernetes의 cluster를 생성하고 삭제하는 과정에서 찌꺼기 리소스가 계속 발생하고 있었다.

찌꺼기 리소스가 발생하게 된 이유에 대해 좀더 자세히 설명하면 아래와 같다.

 

  1. Managed Kubernetes 서비스를 이용하여 Cluster-A를 생성한다.
  2. Cluster-A에 Pod, LoadBalancer Type의 Service 리소스 등을 생성한다.
  3. 몇달 동안 사용 후 Cluster-A를 삭제한다.    <-- 이 순간부터 찌꺼기 리소스에 대한 과금이 시작된다 (일명, 숨겨진 비용 발생)

 

위와 같은 순서로 Managed Kubernetes Cluster를 사용하면,

Pod가 사용했던 Storage(즉, PV)와 Public IP Address를 사용했던 LoadBalancer 리소스가 찌꺼기로 남게 된다.

즉, 실제로는 K8s Cluster가 없지만 Storage와 Public IP address는 내 테넌트 내의 자원으로 할당된 상태로 남게 된다.

이 찌꺼기 자원이 계속 비용을 유발하므로, 발견한 즉시 삭제해야 한다.

내 경우, 1년 동안 사용하면서 Pod, PVC, PV, Service Resoruce(LB Type) 등을 먼저 삭제하지 않은 상태에서

K8s cluster를 삭제한 경우가 2번 있었는데... 이것들을 정리하고 나니까 Cloud 사용 요금이 50% 수준으로 떨어졌다. ㅠㅠ

그 동안 쓰지 않아도 될 돈을 지출하고 있었던 것이다.

 

Cloud 서비스를 사용할 때는 Kubernetes cluster를 삭제하는 순서에 대해서 꼭 주의하자!

 

  1. Kubernetes cluster 내부에서 사용했던 Pod, PVC, PV, Service Resoruce를 모두 삭제한다.
  2. PV, Service Resource가 삭제되었는지 여부를 반드시 확인한 후,
  3. Kubernetes cluster를 삭제한다.

 


 

반응형
작성일: 2024년 3월 13일

 

 

CLI 명령 환경 vs. GUI  환경 비교

QEMU/KVM이 돌아가는 Baremetal machine(또는 Host machine)이 GNOME 같은 GUI Desktop 환경이 아닌 경우에는

  1)  QEMU/KVM 서버에 SSH 연결해서

  2)  터미널에서 virsh 명령을 이용해서 VM instance를 기동, 종료, 조회 작업을 해야 한다.

 

virsh CLI 명령에 익숙해지면 어려운 점은 없는데, CPU Memory 통계를 보거나 각종 VM instance의 가상 HW 리소스를 볼 때는

GUI 환경의 Virtual Machine Manager가 편한다.

 

간단하게 아래 화면을 비교해보자 !   어느 것이 더 사용하기 편하겠는가?

 

GUI 환경의 Virtual Machine Manager vs.&nbsp; 터미널 환경의 virsh 명령

 

 


 

Ubuntu 22.04에 Virtual Machine Manager(virt-manager)를 설치하는 절차

 

 

준비 작업: SSH 접속 가능 여부 확인 (필수)

아래와 같이 QEMU/KVM이 설치된 서버에 SSH 접속이 되는지 꼭 확인해야 한다.

아래  SSH 접속에서 중요한 점은 "list of known hosts"에 [my-host.com]을 추가하는 과정이다.

SSH 접속만 잘 된다면, "list of know hosts"에 my-host.com이 잘 추가되었다고 생각하면 된다.

 

[My-PC] $ ssh -p 22678 root@my-host.com

The authenticity of host '[my-host.com]:22678 ([233.52.11.184]:22678)' can't be established.
ED25519 key fingerprint is SHA256:YBk..........................Kg.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

Warning: Permanently added '[my-host.com]:22678' (ED25519) to the list of known hosts.

[my-host.com] $

 

 

Virtual Machine Manager 원격 접속 설정하기

Virtual Machine Manager의 원격 접속을 설정하는 방법은 아래와 같다.

(그냥 예제 화면을 보면서 따라하면 된다)

 

아래 [ Virtual Machine Manager ] 화면에서 [ File ] -> [ Add Connection... ] 메뉴를 선택한다.

 

 

 

[ Add Connection ] 창이 열리면, 각 설정 항목에 값을 입력한다.

  - Hypervisor: QEMU/KVM 을 입력  (특별한 경우가 아니라면, 이 값을 선택하자)

  - Username:  root   (특별한 경우가 아니라면, root 계정을 사용하자)

  - Hostname:  my-host.com:22678  (각자의 인터넷 주소를 사용하자. 왼쪽 22678은 SSH 포트 번호를 의미한다.)

 

 

 

위 화면에서 설정이 끝나면, [ Connect ] 버튼을 누른다.

아래와 같이 원격지 Host machine의 QEMU(KVM)에 연결된 것을 볼 수 있을 것이다.

 

 

 

 

초기 설정에서 주의할 점  (FAQ)

만약 [Virtual Machine Manager]가 QEMU/KVM 서버로 Connect 실패한다면, 

위 "준비 작업"에서 설명한 서버 쪽에 SSH 접속을 한번 해주어야 한다.

SSH 터미널을 열 때, 경고 메시지가 한번 나오는데 여기서 Yes를 입력해주어야 위 GUI가 잘 연결된다.

 

.

.

.

.

.


 

 

macOS에 Virtual Machine Manager(virt-manager)를 설치하는 절차

 

 

대부분 설정하는 과정은 Ubuntu 22.04와 macOS가 비슷하고,
설치하는 명령(brew vs. apt)만 다르다.
따라서 Ubuntu 22.04에서 동일하게 설정했던 내용은 생략하고, 다른 점만 기술하겠다.

 

 

준비 작업: SSH 접속 가능 여부 확인 (필수)

아래와 같이 내 Macbook(또는 Mac Mini)에서 QEMU/KVM이 설치된 서버에 SSH 접속이 되는지 꼭 확인해야 한다.

아래  SSH 접속에서 중요한 점은 "list of known hosts"에 [my-host.com]을 추가하는 과정이다.

SSH 접속만 잘 된다면, "list of know hosts"에 my-host.com이 잘 추가되었다고 생각하면 된다.

 

[My-Macbook] $ ssh -p 22678 root@my-host.com

The authenticity of host '[my-host.com]:22678 ([233.52.11.184]:22678)' can't be established.
ED25519 key fingerprint is SHA256:YBk..........................Kg.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

Warning: Permanently added '[my-host.com]:22678' (ED25519) to the list of known hosts.

[my-host.com] $

 

 

virt-manager 설치하기

참고 매뉴얼: https://formulae.brew.sh/formula/virt-manager

$ brew install virt-manager

 

 

virt-manager 기동하기 (실행하기)

Ubuntu 22.04와 가장 크게 다른 점이 이 부분이다.

Ubuntu 22.04에서는 [Virtual Machine Manager] 실행 아이콘을 찾아서 클릭하면 virt-manager 프로세스가 기동되지만,

macOS에서는 아래와 같이 옵션을 붙여서 실행해줘야 한다.

$ virt-manager -c "qemu:///session" --no-fork

 

아래와 같이 [Virtual Machine Manager]가 구동될 것이다.

 

macOS에서 구동된 Virtual Machine Manager

 

 

참고: 나머지 virt-manager GUI에서 QEMU/KVM 원격 접속 설정하는 절차는 Ubuntu 22.04와 동일하므로 생략함.
         원격 접속 설정까지 마무리하면, 아래와 같이 전체 VM instance list가 보인다.

 

 

macOS에서 구동된 Virtual Machine Manager

 


 

반응형
작성일: 2024년 2월 16일

 

VirtualBox가 돌아가는 Linux Baremetal 장비에 Desktop GUI를 사용할 수 없는 경우가 있다.

그런 경우는 VirtualBox CLI(명령행 인터페이스)를 이용하여 VM을 관리해야 한다.

VirtualBox CLI에 관해 자세한 내용을 확인하고 싶다면, 아래 Oracle VirtualBox 공식 메뉴얼을 읽는 것을 추천한다.

 

    [ 참고 문서: Controlling VirtualBox from the Command Line ]

    https://www.oracle.com/technical-resources/articles/it-infrastructure/admin-manage-vbox-cli.html

 

내가 자주 사용하는 VBoxManage CLI 명령만 추려 보면 아래와 같다.

 

##
## 전체 VM instance 리스트를 보기
##   (참고: Shutdown 상태의 VM까지 모두 보여준다.)
##
$ VBoxManage list vms
"MyExampleVM" {e8904c82-aaaa-bbbb-cccc-dddddbcb0f3}
"SejongVM"    {e8904c82-aaaa-bbbb-cccc-dddddbcb0f5}
"JeonjoVM"    {e8904c82-aaaa-bbbb-cccc-dddddbcb0f7}


$ VBoxManage list vms -l   ## 상세 정보를 보기
... 출력 내용 생략 ...

##
## 현재 동작하고 있는 전체 VM instance 리스트를 보기
##
$ VBoxManage list runningvms
"MyExampleVM" {e8904c82-aaaa-bbbb-cccc-dddddbcb0f3}
"SejongVM"    {e8904c82-aaaa-bbbb-cccc-dddddbcb0f5}


##
## 특정 VM instance에 대한 상세한 정보를 보기
##
$ VBoxManage showvminfo MyExampleVM


##
## 새로운 VM instance 생성하기
##
$ VBoxManage list ostypes    ## VirtualBox가 제공하는 OS Type 목록을 보여준다.
ID:          OpenSUSE_64
Description: openSUSE (64-bit)
Family ID:   Linux
Family Desc: Linux
64 bit:      true

ID:          Ubuntu_64
Description: Ubuntu (64-bit)
Family ID:   Linux
Family Desc: Linux
64 bit:      true
... 이하 생략 ...


$ VBoxManage createvm  --name MyNewUbuntuVM --ostype Ubuntu_64 --register
... 출력 내용 생략 ...


##
## VM Properties 설정하기
##
$ VBoxManage modifyvm  MyNewUbuntuVM --cpus 2 --memory 2048 --vram 12


##
## Virtual Network Adapter 설정하기
##
$ VBoxManage modifyvm  MyNewUbuntuVM --nic1 bridged --bridgeadapter1 eth0


##
## VM instance를 구동하기
##
$ VBoxManage startvm  MyNewUbuntuVM
또는
$ VBoxManage startvm  MyNewUbuntuVM --type headless   ## 화면으로 출력되는게 없도록 VM 구동


##
## VM instance를 강제 종료하기
##
$ VBoxManage controlvm  MyNewUbuntuVM  poweroff

 

 

 


 

반응형
작성일: 2024년 3월 28일

 

Oracle Cloud Infra(OCI)에서 VM instance를 생성하는 것은 Web Console에서 권고값을 따라

"다음", "OK" 같은 버튼만 누르면 쉽게 처리할 수 있다.

 

그런데 이렇게 생성한 VM instance에 SSH 접속하려고 하면, Oracle 매뉴얼처럼 수행했을 때 잘 안 된다.

SSH 접속이 안 되는 원인이 OS Image 마다 조금 달랐다.

 

참고: VM instance에 기본 로그인 계정 설정하기

    Oracle OCI Web Console에서 VM instance에 console 화면에 접근하려면,
    VM instance를 생성하는 시점에 cloud-init 스크립트에 Login 계정을 설정해야 한다. (ID, Password 등)
    아래 블로그에 자세한 방법과 예제가 있다. 예제를 보고 따라하면 된다.

    https://andrewpage.tistory.com/171

 

 

Case: "Oracle Linux 8 Image"를 이용하여 VM Instance를 만든 경우

 방화벽이 활성화되어 있어서 Source IP address가 동일 Subnet이 아닌 경우 SSH 접속이 막고 있다.

아래 명령을 수행해서 방화벽을 끄면 된다.

$ systemctl stop firewalld

$ systemctl disable firwalld

 

초기 작업을 위해 위와 같이 방화벽을 우선 끄고 SSH 접속하고, 어느 정도 Network과 관련한 설정을 변경하고 나면 

다시 firewalld 서비스를 활성화해야 한다. (보안을 위해서 꼭 잊지 말고 해야 한다)

 

 

Case: "Ubuntu 22.04 Image"를 이용하여 VM Instance를 만든 경우

Ubuntu 22.04 VM instance는 다행히 Ubuntu Firewall 서비스가 꺼져 있다.

그런데 Netfilter가 특정 몇개 Port를 제외하고 모두 Reject 하도록 설정되어 있다.

그러므로 Netfilter의 Rule을 조정할 필요가 있다. (아래 명령을 참고)

$ iptables -F

 

그리고 아래와 같이 iptables rule을 다시 구성했다. 

아래 스크립트 중에서 "FIXME" 라고 코멘트 추가한 부분을 참고하면 된다.

$ cat /etc/iptables/rules.v4

# CLOUD_IMG: This file was created/modified by the Cloud Image build process
# iptables configuration for Oracle Cloud Infrastructure

# See the Oracle-Provided Images section in the Oracle Cloud Infrastructure
# documentation for security impact of modifying or removing these rule

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [463:49013]
:InstanceServices - [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p udp --sport 123 -j ACCEPT

## FIXME: Domain Name Server 접근을 허용하는 Rule 추가
-I INPUT -p udp -m udp --dport 53 -j ACCEPT

## FIXME: SSH 접속할 포트를 변경
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2022 -j ACCEPT 

-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

... 이하 생략 ...

 

위와 같이 /etc/iptables/rules.v4 를 수정하고, 깔끔하게 VM instance를 Restart하고 SSH를 접속해보자~

잘 접속될 것이다. ^^

 


 

반응형

 



virsh, virt-install 명령 테스트한 날짜: 2023년 3월 6일

 

KVM을 사용하다보면, Virt-Manager라는 GUI 툴이 조작하기 편해서 계속 Virt-Manager만 사용하게 된다.

그런데 가끔 SSH 터미널만 사용할 수 있는 환경이거나 CLI Command만 이용해서 Script를 작성할 때는 virsh를 꼭 사용해야 한다.

 

Virtual Machine 생성하기 (그리고 VM에 OS 설치하기)

##
##  2023년 1월에 실제 Ubuntu 설치할 때 사용했던 명령.
##   참고: --disk 옵션에 기존에 사용했던 qcow image file을 사용하면 kernel을 못 찾는다는 에러 발생.
##        원인은 아직 모르겠음.
##   참고: 아래 명령을 수행하고 대략 55초 정도 지나야 Console에 text message가 출력된다.
##        (내가 사용한 HW Spec: i7-11700, 64GB)
##        따라서 느긋하게 기다려야 제대로 설치가 가능하다.
##

## 참고: size 단위는 GB.

## Case: OS 설치하면서 VM instance 시작하기
##       (주의: OS 설치하면서 VM start 할 때는 --osinfo 옵션을 빼야 한다.)

$ virt-install \
  --name my-vm \
  --ram 4096 \
  --vcpus 2 \
  --disk /mnt/sda1/virtual_storage/waas.qcow2,size=100 \
  --disk /mnt/hdd0/virtual_machine/harbor-2nd-storage.qcow2,size=500 \
  --graphics none \
  --network network=br-ex \
  --console pty,target.type=virtio \
  --autoconsole text \
  --location /home/iso/ubuntu-22.04.1-live-server-amd64.iso
 


## Case: 기존 사용했던 VM 이미지를 이용하여 VM instance 기동하기.

$ virt-install \
  --import \               ## 기존 VM image 파일을 이용하겠다는 옵션
  --osinfo ubuntu22.04 \   ## 이 osinfo 옵션을 꼭 추가해야 한다.
  --name my-vm \
  --ram 4096 \
  --vcpus 2 \
  --disk /mnt/sda1/virtual_storage/waas.qcow2,size=100 \
  --graphics none \
  --network network=br-ex \
  --console pty,target.type=virtio \
  --autoconsole text

  
  
##
## CPU Pinning, Hugepages 설정이 필요해서 사용했던 명령.
##

$ virt-install --import \
  --name my-machine \
  --vcpus 4 \
## CPU Pinning  
  --cpuset=2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32 \
  --memory=4096 \
## Hugepages  
  --memorybacking hugepages=on \
  --numatune 0 \
  --disk /mydir/my-machine.qcow2 \
  --network bridge=my-br \
  --network bridge=ems-br \
  --os-variant rhel7.9 \
  --noautoconsole
  
  
  ##
  ## 주의:
  ##  아래 --osinfo, --os-variant 옵션을 사용하면 VM instance 생성할 때 오류가 발생한다.
  ##  꼭 필요한 옵션이 아니니까, 아래 2가지 옵션을 사용하지 않는 것이 좋다. (2023년 1월 현재)
  ##    --osinfo ubuntu22.04
  ##    --os-variant ubuntu22.04
  ##
  
  
  ##
  ## 주의:
  ##  VM instance 내부에서 OS 설치가 끝나고, 자동 reboot되어야 하는게 정상이지만
  ##  가끔 OS termination 단계에서 실패하고 멈춘 경우가 있다.
  ##  reboot 시도 후 30초 후에도 console 화면의 변화가 없다면
  ##  과감하게 VM instance destroy를 시도한다.  (아래 명령을 사용)
  ##  
  $  
  ##

 

위 `virt-install` 명령을 실행하면, 바로 아래 화면이 출력되고

이 화면에서 대략 55~60초 정도 기다려야 다음 설치 화면으로 넘어간다.

 

 

위 화면에서 대략 55~60초 정도 기다리면, 드디어 아래와 같이 OS 설치 시작 화면이 나온다.

 

 

비록 Text Terminal 이지만, 조금이라도 예쁜 설치 화면을 원하면 "rich mode"를 선택한다.

이후부터는 일반적인 Ubuntu OS 설치 절차와 같다.

 

 

 

 

 

 

Virtual Machine 목록 보기

$  virsh list --all
 Id   Name     State
-------------------------
 1    x-node   running
 -    am0      shut off
 -    aw0      shut off
 -    aw1      shut off
 $

 

 

Virtual Machine 기동하기

##
## am0 가상 머신을 기동하기
##

$  virsh start am0
Domain am0 started


##
## am0 가상 머신이 기동되었는지 확인하기
##

$  virsh list --all
 Id   Name     State
-------------------------
 1    x-node   running
 2    am0      running
 -    aw0      shut off
 -    aw1      shut off
$

 

 

Virtual Machine 종료하기

##
## Graceful Termination of VM instance
## (참고로, 아래 숫자 2는 VM의 ID이다)
##

$  virsh shutdown 2
Domain 2 is being shutdown

$


##
## VM instance 강제 종료
## (참고로, 아래 숫자 2는 VM의 ID이다)
##

$ virsh destroy 2


##
## VM instance 삭제하기
##
$ virsh undefine vm-name

 

 

Virtual Machine의  Console에 접속하기

$  virsh console x-node
Connected to domain x-node
Escape character is ^]

CentOS Linux 8
x-node login: root
Password: ......

[root@x-node ~]# _

 

 

qcow2 image file size 조정 (resize)

##
## 원하는 size로 vm image를 재조정할 수 있다.
## 최초에 작게 만들어진 volume image 용량을 더 크게 늘리기 위해서 사용한다.
##

$ qemu-img  resize  myvm.qcow2  100G


##
##  아래 명령과 같이 수행하여 기존 VM image에서 빈 공간을 제거하고 size를 줄일 수 있다.
##  보통 qcow2 파일을 다른 장비로 옮길 때, vm image size를 줄이기 위한 용도로 사용된다.
##  참고: 원본 qcow2 이미지 파일은 유지되므로 별도로 백업하지 않아도 된다.
 
$  qemu-img convert -O qcow2 source_image.qcow2 shrunk_image.qcow2


##
## volume image 정보를 열람한다.
##

$ qemu-img  info    myvm.qcow2

 

 

qcow2 image 파일 생성하기

##
## 만약 qcow2 type의 virtual volume을 만들고 싶다면 아래와 같이 명령을 수행.
## Volume size는 250GB로 지정했지만, 실제로는 qcow2 파일에 meta data만 생성하기 때문에
## 실제 사이느는 1MB 밖에 안 되고, 시간도 3초 정도 밖에 안 걸린다.
##

$  qemu-img  create  -f qcow2  my-virtual-volume.qcow2  250G

 

 

VM의 OS Type 전체 목록 열람하기

$  virt-install --osinfo list
...
ubuntu-lts-latest, ubuntu-stable-latest, ubuntu22.04, ubuntujammy
ubuntu21.10, ubuntuimpish
ubuntu21.04, ubuntuhirsute
ubuntu20.10, ubuntugroovy
ubuntu20.04, ubuntufocal
...
$

 

 

기존 VM instance에 disk 추가하기

$ virsh edit my-vm

... 중간 생략 ...

  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' discard='unmap'/>
      <source file='/var/lib/libvirt/images/my-vm-a.qcow2'/>
      <target dev='vda' bus='virtio'/>
      <boot order='1'/>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
    </disk>
    ##
    ## FIXME: 이 부분을 추가한다.
    ##
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/opt/virtual_storage/vol_01.qcow2'/>
      <target dev='vdb' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x09' slot='0x00' function='0x0'/>
    </disk>
    
... 중간 생략 ...

$ virsh reboot my-vm

## 또는 아래와 같이 hypervisor를 restart한다.

$ systemctl restart libvirt-bin

 

위 방식과 다르게 virt-install 명령으로 disk를 추가하여 VM instance를 재시작한다.

virt-install \
  --import \
  --name my-vm \
  --osinfo ubuntu22.04 \
  --ram 2048 \
  --vcpus 2 \
  --disk  /opt/virtual_machine/my-vm.qcow2 \
  --disk  /opt/virtual_machine/my-new-disk.qcow2 \
  --graphics none \
  --network network=br-ex \
  --console pty,target.type=virtio \
  --autoconsole text

 

 

 

 

 


 

게시물 작성자: sejong.jeonjo@gmail.com

 

+ Recent posts