Fedora atomic 系统扩容最佳实践

环境介绍

系统安装在pve虚拟机中,系统fedora atomic xfce 43. 在使用一段时间后,硬盘只剩下3G,需要增加硬盘容量。 需要准备一个atomic系统镜像,需要用到btrfs。

Step 1 增加虚拟机硬盘容量

先将虚拟机关机,在虚拟机管理页面Hardware + HardDisk + Disk Action + Resize 在弹窗中填入希望增加的容量,这次是增加64G。

Step 2 在系统中增加容量

检查当前系统容量情况

$ df -h
Filesystem                       Size  Used Avail Use% Mounted on
composefs                         38M   38M     0 100% /
/dev/sda3                         62G   58G  3.1G  95% /etc

$  lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda      8:0    0  128G  0 disk
├─sda1   8:1    0  600M  0 part /boot/efi
├─sda2   8:2    0    2G  0 part /boot
└─sda3   8:3    0 61.4G  0 part /var/home
                                /var
                                /sysroot/ostree/deploy/fedora/var
                                /sysroot
                                /etc
sr0     11:0    1 1024M  0 rom
zram0  251:0    0  7.7G  0 disk [SWAP]

安装分区软件

$ sudo rpm-ostree install cloud-utils-growpart
# 安装后重启生效
$ sudo systemctl reboot

对分区进行扩容

# 注意这里/sda 3,有个空格
$ sudo growpart /dev/sda 3
CHANGED: partition=3 start=5425152 old: size=128790528 end=134215679 new: size=263010271 end=268435422

查询当前容量情况

$ sudo lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0   128G  0 disk
├─sda1   8:1    0   600M  0 part /boot/efi
├─sda2   8:2    0     2G  0 part /boot
└─sda3   8:3    0 125.4G  0 part /var/home
                                 /var
                                 /sysroot/ostree/deploy/fedora/var
                                 /sysroot
                                 /etc
sr0     11:0    1  1024M  0 rom
zram0  251:0    0   7.7G  0 disk [SWAP]
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
composefs        38M   38M     0 100% /
/dev/sda3        62G   56G  4.7G  93% /etc

分区已经扩容,文件系统还未扩容。

Step 3 扩容系统容量

因为ostree系统的不可变特性,需要在外部更新系统容量。

使用live OS启动镜像

在pve配置镜像启动,如果是进入镜像就出现安装界面,按ctrl + alt + f2切换字符界面。

创建挂载文件夹并挂载

$ mkdir /opt
# 查询分区
$ lsblk
sda3   8:3    0 125.4G  0 part
# 挂载分区
$ mount /dev/sda3 /opt

更新系统容量

挂载后可对系统进行操作

$ btrfs filesystem resize max /opt

确认系统容量

$ df -h
Filesystem                       Size  Used Avail Use% Mounted on
composefs                         38M   38M     0 100% /
/dev/sda3                        126G   55G   70G  45% /etc

Step 4 总结

通过上面的流程可以看出来,理论上,可以将扩容分区和扩容系统都放在live镜像中执行,只要镜像中有growpard和btrfs软件。即 pve增加容量 + 关机添加live cd + 从cd启动 + 扩容指定分区 +扩容文件系统。