Difference between revisions of "Expand Disk LXD VM"
Jump to navigation
Jump to search
(Created page with "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...") |
|||
| (2 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
| + | |||
| + | # Centos | ||
| + | |||
Existing size is about 10G on Centos host called nas | Existing size is about 10G on Centos host called nas | ||
| Line 17: | Line 20: | ||
lsblk | lsblk | ||
df -h | 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 | ||
``` | ``` | ||
Latest revision as of 01:32, 16 May 2021
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