Freebsd for ECS 系统盘扩容示例

简介: 由于历史遗留问题,Freebsd 系统盘出厂大小是 20G,即使购买的系统盘大小大于 20G,系统内分配的也是 20G 大小,那么云上的 Freebsd 如何扩容系统盘呢?

背景:

  由于历史遗留问题,Freebsd 系统盘出厂大小是 20G,即使购买的系统盘大小大于 20G,系统内分配的也是 20G 大小,那么云上的 Freebsd 如何扩容系统盘呢?
  

怂一下先:

  请对生产环境,保持敬畏之心,务必做好快照备份!
  请对生产环境,保持敬畏之心,务必做好快照备份!
  请对生产环境,保持敬畏之心,务必做好快照备份!

1,查看磁盘信息,不同于 CentOS/Ubuntu系统使用fdisk,
Freebsd 使用gpart 查看磁盘分区信息

# gpart show
=>      63  83886017  vtbd0  MBR  (40G)
        63         1         - free -  (512B)
        64  41942975      1  freebsd  [active]  (20G)(在用的)
  41943039  41943041         - free -  (20G) (空闲的)
 

注:根据官方资料介绍,可以到 /var/run/dmesg.boot 看设备信息,但尴尬的是云上IO优化实例使用KVM的虚拟化技术后,该文件记录似乎不准了(文件记录的是ufs的挂载),因此使用gpart show直接查看

Determine the device name of the disk to be resized by inspecting /var/run/dmesg.boot. In this example, there is only one SATA disk in the system, so the drive will appear as ada0.

2,恢复磁盘的空闲大小(新购系统的扩容理论上可以忽略这一步)

# gpart recover vtbd0
vtbd0 recovering is not needed 

3,扩容分区

# gpart resize -i 1 -a 4k -s 39G vtbd0
vtbd0s1 resized
# gpart show
=>      63  83886017  vtbd0  MBR  (40G)
        63         1         - free -  (512B)
        64  81788928      1  freebsd  [active]  (39G)
  81788992   2097088         - free -  (1.0G)

注:
-i 1 类似于扩容的分区是/dev/vda1
-a 4k 4k对齐
-s 39G 扩容后大小
由于有启动分区的占用,因此不能写满 40G,写满的话会报错

# gpart resize -i 1 -a 4k -s 40G vtbd0 
gpart: size '83886080': Invalid argument

4,文件系统扩容

# service growfs onestart
Growing root partition to fill device
vtbd0s1 resized
super-block backups (for fsck_ffs -b #) at:
 42314112, 43596352, 44878592, 46160832, 47443072, 48725312, 50007552, 51289792, 52572032, 53854272, 55136512, 56418752, 57700992, 58983232, 60265472, 61547712,
 62829952, 64112192, 65394432, 66676672, 67958912, 69241152, 70523392, 71805632, 73087872, 74370112, 75652352, 76934592, 78216832, 79499072, 80781312, 82063552,
 83345792
# gpart show
=>      63  83886017  vtbd0  MBR  (40G)
        63         1         - free -  (512B)
        64  83886016      1  freebsd  [active]  (40G)

 # df -lh
Filesystem                     Size    Used   Avail Capacity  Mounted on
/dev/ufsid/59a7effe7885633c     39G    3.9G     32G    11%    /
devfs                          1.0K    1.0K      0B   100%    /dev

扩容成功~

参考资料:
https://www.freebsd.org/doc/handbook/disks-growing.html

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
11天前
|
弹性计算 开发工具 git
2分钟在阿里云ECS控制台部署个人应用(图文示例)
作为一名程序员,我在部署托管于Github/Gitee的代码到阿里云ECS服务器时,经常遇到繁琐的手动配置问题。近期,阿里云ECS控制台推出了一键构建部署功能,简化了这一过程,支持Gitee和GitHub仓库,自动处理git、docker等安装配置,无需手动登录服务器执行命令,大大提升了部署效率。本文将详细介绍该功能的使用方法和适用场景。
2分钟在阿里云ECS控制台部署个人应用(图文示例)
|
18天前
|
存储 弹性计算 固态存储
阿里云服务器ESSD Entry系统盘测评IOPS、IO读写和时延性能参数
ESSD Entry云盘是阿里云推出的新一代云盘,具备高IOPS、低延迟和企业级数据保护能力。适用于开发与测试场景,支持按量付费和包年包月计费模式。99元和199元的ECS经济型e实例和通用算力型u1实例均采用ESSD Entry系统盘,性价比高。详细性能参数和价格请参考阿里云官方页面。
54 0
|
1月前
|
弹性计算 Linux 数据库
阿里云国际版如何迁移Linux云服务器系统盘中的数据
阿里云国际版如何迁移Linux云服务器系统盘中的数据
|
2月前
|
弹性计算 固态存储 NoSQL
阿里云服务器系统盘和数据盘ESSD Entry、ESSD AutoPL和ESSD云盘区别、性能和价格整理
阿里云服务器系统盘有ESSD Entry、ESSD云盘及ESSD AutoPL三种选择,各自在性能和适用场景上有所不同。ESSD Entry云盘性价比高,适合开发与测试业务;ESSD AutoPL云盘实现容量与性能解耦,支持自定义预配置性能,适用于时延敏感或IO密集型场景;ESSD云盘则提供多种性能级别,适用于大型OLTP数据库和NoSQL数据库等。详情及价格参见阿里云官网。
200 8
|
2月前
|
存储 弹性计算
阿里云服务器系统盘存储空间不够用怎么办?
当阿里云服务器系统盘空间不足时,您可以通过系统盘扩容或挂载数据盘解决。系统盘扩容无需重启服务器,详细步骤见系统盘扩容教程。挂载数据盘需预先购买,并确保与服务器位于同一地域和可用区,最多可挂载64块,详情见挂载数据盘教程
506 6
|
2月前
|
弹性计算 运维 监控
阿里云ECS实例使用示例
使用阿里云ECS实例的流程简便快捷:登录阿里云控制台,在ECS实例列表中选择目标实例并进入详情页,点击“启动”按钮激活实例,确保预装系统和应用完成。运行后,通过控制台监控CPU、内存及磁盘使用情况,如需调整配置,可选择实例后点击“重启”应用新设置。阿里云ECS助力企业轻松上云、高效运维。[1][3] 相关链接:阿里云ECS使用流程 https://startup.aliyun.com/info/1078898.html
|
3月前
|
安全 Unix Shell
如何在 FreeBSD 服务器上配置基于 SSH 密钥的身份验证
如何在 FreeBSD 服务器上配置基于 SSH 密钥的身份验证
107 0
|
4月前
|
Shell
服务器需要扩容,如何停止宝塔的所有服务?
服务器需要扩容,如何停止宝塔的所有服务?
48 3
|
4月前
|
弹性计算 Linux 云计算
云服务器 ECS产品使用问题之如何扩容服务器(内存和带宽)
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
5月前
|
Java Android开发
Java Socket编程示例:服务器开启在8080端口监听,接收客户端连接并打印消息。
【6月更文挑战第23天】 Java Socket编程示例:服务器开启在8080端口监听,接收客户端连接并打印消息。客户端连接服务器,发送"Hello, Server!"后关闭。注意Android中需避免主线程进行网络操作。
103 4