官方扩容指导文档
PVE给虚拟机磁盘扩容
- 给虚拟机磁盘扩容,选中OpenWRT的硬盘,随后选择调整大小
- 输入增量大小,即增加多少磁盘空间给硬盘。这里我选择增加4G
- 进入OpenWRT控制台界面
- 安装一些linux常用查看磁盘的工具(也可以通过网页安装)
opkg update
opkg install lsblk fdisk
- 安装扩容所依赖的软件包
opkg install parted losetup resize2fs
- 在root目录下创建并编辑expand-root.sh文件
cd root
vi expand-root.sh
- 将下列代码复制进该文件
# Configure startup scripts
cat << "EOF" > /etc/uci-defaults/70-rootpt-resize
if [ ! -e /etc/rootpt-resize ] \
&& type parted > /dev/null \
&& lock -n /var/lock/root-resize
then
ROOT_BLK="$(readlink -f /sys/dev/block/"$(awk -e \
'$9=="/dev/root"{print $3}' /proc/self/mountinfo)")"
ROOT_DISK="/dev/$(basename "${ROOT_BLK%/*}")"
ROOT_PART="${ROOT_BLK##*[^0-9]}"
parted -f -s "${ROOT_DISK}" \
resizepart "${ROOT_PART}" 100%
mount_root done
touch /etc/rootpt-resize
reboot
fi
exit 1
EOF
cat << "EOF" > /etc/uci-defaults/80-rootfs-resize
if [ ! -e /etc/rootfs-resize ] \
&& [ -e /etc/rootpt-resize ] \
&& type losetup > /dev/null \
&& type resize2fs > /dev/null \
&& lock -n /var/lock/root-resize
then
ROOT_BLK="$(readlink -f /sys/dev/block/"$(awk -e \
'$9=="/dev/root"{print $3}' /proc/self/mountinfo)")"
ROOT_DEV="/dev/${ROOT_BLK##*/}"
LOOP_DEV="$(awk -e '$5=="/overlay"{print $9}' \
/proc/self/mountinfo)"
if [ -z "${LOOP_DEV}" ]
then
LOOP_DEV="$(losetup -f)"
losetup "${LOOP_DEV}" "${ROOT_DEV}"
fi
resize2fs -f "${LOOP_DEV}"
mount_root done
touch /etc/rootfs-resize
reboot
fi
exit 1
EOF
cat << "EOF" >> /etc/sysupgrade.conf
/etc/uci-defaults/70-rootpt-resize
/etc/uci-defaults/80-rootfs-resize
EOF
- 运行expand-root.sh脚本
sh expand-root.sh
- 执行真正的扩容操作步骤1(这一步可能会执行重启动作,请注意是否保存重要内容)
sh /etc/uci-defaults/70-rootpt-resize
- 执行真正的扩容操作步骤2(这一步可能会执行重启动作,请注意是否保存重要内容)
sh /etc/uci-defaults/80-rootfs-resize
- 查看磁盘空间占用
lsblk
再在网页端确认是否生效
参考文档
官方扩容指导文档