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