Multipass Disk Size (Memory/Cpu) Change (용량 변경)

목적

Multipass 인스턴스를 사용하는 도중 아래와 같이 Disk를 거의다 사용하게 되었다.

steven@steven-ubuntu:~$ multipass info master                                   
Name:           master
State:          Running
IPv4:           10.112.125.79
Release:        Ubuntu 20.04.4 LTS
Image hash:     7bd0d8d14260 (Ubuntu 20.04 LTS)
Load:           0.00 0.00 0.00
Disk usage:     4.3G out of 4.7G
Memory usage:   212.3M out of 15.6G
Mounts:         --

Master Instance의 Disk Size를 증가 시키고자 한다.

(Disk Size 증가 법과 Memory/Cpu 증가법은 거의 같다)

 

버전 Upgrade

Multipass는 1.10버전 이전에는 별도의 Size 증가 기능을 제공하지 않았다.

그래서 qemu-img를 사용해서 인스턴스 이미지를 수정하였는데, 사용 방법이 개인적으로 어려웠다.

그래서 조금더 찾아본 결과 Multipass 1.10버전 이후 부터는 이런 사이즈 변경 기능(qemu-img를 내부적으로 사용)을 제공하였다.

https://multipass.run/docs/modify-an-instance

그래서 본 포스팅 내용을 따라하려면 1.10 이후 버전으로 Multipass를 Update 해야 한다.

버전 확인하기

$ multipass --version
multipass   1.9.2
multipassd  1.9.2

현 버전은 1.9.2이다. 버전을 업데이트 해보자.

Snap을 이용한 버전 Update

$ sudo snap refresh multipass
"multipass"에 대한 필수 구성 요소를 사용할 수 있는지 확인
...
snap "multipass" (7478) 서비스 시작                                                                                                                                                     snap "multipass" (7478) 서비스 시작                                                                                                                                                     snap "multipass" (7478) 서비스 시작                                                                                                                                                     
multipass 1.10.0 from Canonical✓ snap 패키지가 새로 고쳐졌습니다

'sudo snap refresh multipass' 명령어를 통해 버전을 업데이트 가능하다.

업데이트 후 패키지를 실행한다.

$ sudo snap start multipass
Started.

버전을 다시 확인하자.

$ multipass version
multipass   1.10.0
multipassd  1.10.0

상기와 같이 버전이 정상적으로 업데이트 된것을 확인할 수 있다.

 

인스턴스 정보 변경하기

인스턴스 정보 얻기

우선 인스턴스 정보를 얻기 위해서 다음과 같이 명령어를 실행하자.

$ multipass info master                                   
Name:           master
State:          Running
IPv4:           10.112.125.79
Release:        Ubuntu 20.04.4 LTS
Image hash:     7bd0d8d14260 (Ubuntu 20.04 LTS)
Load:           0.00 0.00 0.00
Disk usage:     4.3G out of 4.7G
Memory usage:   212.3M out of 15.6G
Mounts:         --

여기에서 master가 인스턴스 명이다. 주의해야 할것은 info를 확인 하기 위해서는 해당 인스턴스가 실행 중이어야 한다.

위에 Disk Size를 보면 4.7G(5G) 중 4.3G를 사용중인 것을 확인 가능하다.

이제 이 Disk Size를 증가 시켜 보자.

Key정보 확인하기

$ multipass get --keys
client.gui.autostart
client.gui.hotkey
client.primary-name
local.bridged-network
local.driver
local.master.cpus
local.master.disk
local.master.memory
local.node1.cpus
local.node1.disk
local.node1.memory
local.node2.cpus
local.node2.disk
local.node2.memory
local.passphrase
local.primary.cpus
local.primary.disk
local.primary.memory
local.privileged-mounts

'multipass get --keys'를 통해서 현 multipass의 인스턴스에 대한 keys를 모두 확인 가능하다.

위는 master, node1, node2 인스턴스가 존재 한다는 것을 확인할 수 있다.

여기서 master의 Disk 정보를 확인해 보자.

$ multipass get local.master.disk
5.0GiB

master는 5GiB의 용량을 활용 중이다.

이것을 10GiB로 늘려보자.

용량 늘리기

$ multipass set local.master.disk=10240MiB

위에서 알게된 key인 local.master.disk의 value를 set명령어를 통해서 변경해 준다.

용량 변경단위는 MiB(메가바이트)이다. GiB 변경을 해보려고 했으나 아직 지원하지 않는듯 하다.

  • 10G = 10240MiB = 1MB * 1024 * 10

이렇게 10G를 계산하고 MiB 단위로 변경해 주었다.

늘어난 용량 확인하기

정상적으로 용량이 늘었는지 다음과 같이 확인해 보자.

$ multipass get local.master.disk
10.0GiB

key value는 정상적으로 수정되었다.

Master를 실행 후 info를 확인하자.

$ multipass start master
$ multipass info master
Name:           master
State:          Running
IPv4:           10.112.125.79
Release:        Ubuntu 20.04.4 LTS
Image hash:     7bd0d8d14260 (Ubuntu 20.04 LTS)
Load:           0.00 0.00 0.00
Disk usage:     4.3G out of 9.5G
Memory usage:   213.8M out of 15.6G
Mounts:         --

용량이 9.5G로 변경되었다.

이제 shell 접속을 통해 Disk가 확장 되었는지 확인하자.

$ multipass shell master
Welcome to Ubuntu 20.04.4 LTS (GNU/Linux 5.4.0-122-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Sun Jul 17 10:37:09 KST 2022

  System load:  0.07              Processes:              196
  Usage of /:   45.6% of 9.51GB   Users logged in:        0
  Memory usage: 5%                IPv4 address for ens3:  10.112.125.79
  Swap usage:   0%                IPv4 address for tunl0: 192.168.219.64

 * Super-optimized for small spaces - read how we shrank the memory
   footprint of MicroK8s to make it the smallest full K8s around.

   https://ubuntu.com/blog/microk8s-memory-optimisation

1 update can be applied immediately.
To see these additional updates run: apt list --upgradable


Last login: Thu Jul 14 00:06:09 2022 from 10.112.125.1
ubuntu@master:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            7.9G     0  7.9G   0% /dev
tmpfs           1.6G  1.7M  1.6G   1% /run
/dev/sda1       9.6G  4.4G  5.2G  46% /

Usage of의 정보나 df를 통해 /dev/sda1의 정보를 보아도 Size가 정상적으로 확장 된 것을 볼 수 있다.

728x90
반응형