Expand Disk LXD VM

From UVOO Tech Wiki
Jump to navigation Jump to search

Centos

Existing size is about 10G on Centos host called nas

lxc config device set nas root size=100GiB
lxc shell nas

Add tools and expand (you can use fdisk/parted but this is easer)

lsblk
df -h

yum install e2fsprogs cloud-utils-growpart gdisk
growpart /dev/sda 2
resize2fs /dev/sda2

lsblk
df -h

Ubuntu

Ubuntu Script example (replace overide with set for existing)

set -e

readonly VM="myhost"
readonly CPU="8"
readonly MEM="4GB"
readonly DSK="60GB"

lxc init images:ubuntu/focal ${VM} -p default -p vm --vm
lxc config set ${VM} limits.cpu ${CPU}
lxc config set ${VM} limits.memory ${MEM}
lxc config device override ${VM} root size=${DISK}
lxc start ${VM}

sleep 10  # `lxc start` needs a `--wait`.

lxc exec ${VM} -- apt update
lxc exec ${VM} -- apt install cloud-initramfs-growroot -y
lxc exec ${VM} -- growpart /dev/sda 2
lxc exec ${VM} -- resize2fs /dev/sda2

Profile As well if you want

config:
  user.user-data: |
    apt_mirror: http://us.archive.ubuntu.com/ubuntu/
    ssh_pwauth: yes
    users:
      - name: ubuntu
        passwd: "\$6\$s.wXDkoGmU5md\$d.vxMQSvtcs1I7wUG4SLgUhmarY7BR.5lusJq1D9U9EnHK2LJx18x90ipsg0g3Jcomfp0EoGAZYfgvT22qGFl/"
        lock_passwd: false
        groups: lxd
        shell: /bin/bash
        sudo: ALL=(ALL) NOPASSWD:ALL
    growpart:
      mode: auto
      devices:
        - '/'
        - '/dev/sda'
        - '/dev/sda2'
      ignore_growroot_disabled: false
description: VN profile
devices:
  config:
    source: cloud-init:config
    type: disk
  eth0:
    nictype: bridged
    parent: lxdbr0
    type: nic
  root:
    path: /
    pool: default
    size: 100GB
    type: disk
name: vm