Oracle 甲骨文云 引导卷扩容/无损调整系统分区
前言
甲骨文云 Oracle Cloud 的存储服务叫 块存储卷,英文 Block Volume,其实也就是常规云服务商的磁盘,其中分为 块存储卷和 引导卷。本文将介绍两者的 区别,挂载方式,磁盘额度以及 引导卷备份。
块存储和引导卷的区别
块存储卷
块存储可以理解为创建一个新磁盘,附加到实例(服务器)上,并在服务器上进行分区,格式化,挂载在某个目录上使用,主要用于增加一个新的磁盘容量来存储数据。
引导卷
引导卷则是实例(服务器)的 系统启动盘,一般在实例创建时选好系统盘的容量,后续调整引导卷大小后,需要进行扩容将现有的系统盘实时扩大。
区别
举例来说,可以将上述两种磁盘理解为台式机电脑的硬盘,一般 C 盘安装了 Windows 为系统盘,如果 C 盘在使用中被数据,缓存等占满,就需要扩展引导卷来增大 C 盘容量,这样就可以在 不影响当前系统运行的情况下扩容。
实际使用案例:博主是 docker 爱好者,系统磁盘默认 50G,docker 默认的数据路径就在引导磁盘中,随着容器不断增加,引导卷快占满,此时使用引导卷扩容最为方便,无需停止任何服务就可以实时扩容引导卷。
块存储可以理解为 购买了一块全新硬盘,安装到电脑中,在 Windows 下为其格式化,分区为 D 盘,可以存放更多的非系统运行所需文件和数据。
关于免费用户块存储卷额度和费用
这里补充一句,根据上文 甲骨文云 Oracle Cloud 能创建几台免费服务器? 中提到每个免费用户都有 200G 存储额度,如果没有用完,是可以用来创建块存储卷使用的,但是创建块存储卷时不要调整 目标卷性能,调高性能会产生额外的费用。
块存储卷创建和挂载
菜单 → 存储 → 块存储卷 → 创建块存储卷
填写名称,选择定制卷大小。
下方的卷性能根据实际需求选择,但是高性能会产生更多费用。

创建完成后点击 附加到实例

默认选择 ISCSI 性能会更好。
访问类型如果不是用于数台服务器同时共享,请保持默认的读/写。
选择想要挂载的实例。
路径选择默认第一个即可。
值得注意的是 ISCSI 挂载方式属于网络挂载,挂载后系统读写数据会使用默认网卡走内网网络传输,内网传输是免费的,但是一些系统流量监控软件。例如 vnstat 会将此内网流量和公网流量一并统计,请注意区分,避免误会公网流量过大的情况。

附加完毕后,点右侧小点中的 ISCSI 命令和信息。

复制附加命令

登录服务器执行复制的 附加命令

执行 fdisk -l 可以看出多了一块 /dev/sdb 的新磁盘

执行以下命令开始对新磁盘分区格式化
fdisk /dev/sdb
n
# 按 n 开始
p
# 选择 p 为主要分区
# 剩下的默认回撤
w
# 结尾输入 w 来保存

再次执行 fdisk -l 看到已经分区为 /dev/sdb1

执行 mkfs.ext4 /dev/sdb1 为磁盘格式化。
如果需要格式化其他分区格式,可以自行网上搜索相关命令。

创建一个目录,或者挂载到现有的目录,本文示例为创建 /backup 目录。
mkdir /backup
mount /dev/sdb1 /backup
# 挂载磁盘到 /backup
此时 /backup 目录就有上述创建的 50G 块存储卷容量了。

设置开机自动挂载,确保服务器重启后也能自动挂载该目录。
vi /etc/fstab
# 在最后一行添加
/dev/sdb1 /backup ext4 defaults 0 0
扩展引导卷
菜单 → 存储 → 块存储卷 → 左侧点击引导卷
如图所示,我只使用了不到 150G 的磁盘容量,可以将其中一台实例的引导卷扩容到 100GB。

点击需要扩容的引导卷,在点编辑,修改卷大小为 100GB,目标卷性能保持默认,并保存。

复制弹出的扫描命令。

登录服务器执行 lsblk 可以看到整个默认系统盘,也就是引导卷为 46.6G,其中 sda3 就是系统根目录的容量,我们需要将其扩容。

执行刚才复制的扫描命令,再次执行 lsblk,发现整个引导卷 sda 已经变为 100G 了,但是 sda3 根目录还是以前的容量。

继续执行以下命令将其扩容。提示 Confirm 时输入 y。
LANG=en_US.UTF-8
sudo /usr/libexec/oci-growfs
# 提示 Confirm 时输入 y

再次执行 lsblk 检查,此时 sda3 系统盘已经成功扩容。

引导卷扩容至 100G 后,并没有超过 200G 的限额,所以依旧显示始终免费。

引导卷备份
甲骨文云的引导卷备份应该就是类似常规云服务商的 快照服务,博主只测试过 创建多个快照,均显示始终免费,也没有注意账单里有额外费用,不过还没有测试过恢复备份,各位可以自行尝试使用。
菜单 → 存储 → 块存储卷 → 引导卷
右侧菜单点击创建手动备份

填写名称选择备份类型

在引导卷备份页面可以看到始终免费的备份情况
