服务器怎么扩容系统盘?

2024-04-26 09:05:12 +08:00
 kandaakihito

现状:服务器有两个硬盘,200GB 的系统盘和 2TB 的数据盘。

服务器从使用开始就没把 2TB 的数据盘挂载上去使用,现在 200GB 的系统盘容量用尽了,什么都做不了。

现状能想到的解决办法是下面三个,不知道有没有更好的办法?

方案一:把 2TB 的数据盘挂到指定路径,作为数据存储空间使用。

尝试结果:服务器内部部署了非常多的东西,并没有按照规范将数据统一挂载在指定路径。

有一堆没人认领的数据分散在系统盘的各个路径下,也没人敢删敢迁移。

现在如果直接挂载到/data 路径的话,最终还是需要有人把 docker 的挂载卷在内等一系列的数据进行迁移;

方案二:通过 LVM 系统,将 2TB 的数据盘和 200GB 的系统盘合并。

尝试结果:系统盘不挂在 LVM 的逻辑卷上,合并不了;

方案三:找运维给系统盘扩容 。

运维说系统盘可以扩容,但是涉及费用变更的问题,需要走工单。;

9148 次点击
所在节点    Linux
75 条回复
fitme
2024-04-26 10:46:21 +08:00
补充一下,cicd 这种大量镜像首先可以清理(因为肯定推送到镜像仓库了),然后 dockerd 的日志文件大小需要限制
stcQ2G13k9yxep40
2024-04-26 11:21:56 +08:00
你们公司运维是只负责软件运维,不负责硬解服务器的运维吗?系统盘扩容这是标准的运维的活啊
xiaoranj
2024-04-26 11:54:48 +08:00
直接对拷扩容
salmon5
2024-04-26 12:40:10 +08:00
200G 的系统盘在线扩容到 1024G ,2TB 的数据盘释放。还能省一些钱。
guo4224
2024-04-26 12:51:33 +08:00
云盘的话在线扩
salmon5
2024-04-26 12:56:26 +08:00
@kandaakihito #28 ,CentOS6 的逻辑分区,需要重启系统生效(等于 umount 再 mount ),CentOS7 及以上系统,逻辑分区都支持在线扩容(上层业务无感知)
salmon5
2024-04-26 13:07:53 +08:00
在线扩容的前提:
1 ,kvm 虚拟化支持:virsh blockresize 能在线通知 guest VM 感知到 ≥RHEL6.1[2011-05-19]
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/6.1_release_notes/virtualization#:~:text=Virtual%20disk%20online%20dynamic%20resize%20feature

2 ,partition 逻辑分区需要内核支持:fdisk /dev/vdb 删除重建通知内核,内核≥3.6[2012-10-01] 能够支持在线 https://kernelnewbies.org/Linux_3.6#Block:~:text=Add%20a%20new%20operation%20code%20(BLKPG_RESIZE_PARTITION)%20to%20the%20BLKPG%20ioctl%20that%20allows%20altering%20the%20size%20of%20an%20existing%20partition%2C%20even%20if%20it%20is%20currently%20in%20use

3 ,filesystem 文件系统支持:resize2fs,xfs_growfs 这 2 个工具,resize2fs 需要 kernel≥2.6.10[2004-12-24]和 e2fsprogs 1.36[2005-02-05],这一步对应的是 mkfs -t xfs /dev/vdb1 创建 filesystem 环节
retanoj
2024-04-26 13:48:43 +08:00
em..如果是我的话

既然是测试环境,那我会排查下硬盘使用大户,然后联系他们迁移数据到另一块硬盘
kksd0912334
2024-04-26 13:51:20 +08:00
这是运维的活,即使是测试环境也是运维的活,docker 的 root 目录挂到系统盘这种事情一定是运维的锅,解决办法也很简单,停掉 docker ,复制所有 docker 文件到数据盘,修改 docker 的 root 目录,重启 docker 就搞定了
brom111
2024-04-26 13:53:00 +08:00
走工单就走呗。这有啥问题。
salmon5
2024-04-26 13:56:06 +08:00
1 ,云控制台先扩容系统盘(云厂商底层的 kvm 会在线扩容对应系统盘的块设备),一般最大不大于 2T 。
2 ,系统盘:
ext4:
growpart /dev/vda 1
resize2fs /dev/vda1

xfs:
growpart /dev/vda 1
xfs_growfs /dev/vda1
如果内核<3.6 ,就重启系统生效;如果内核>=3.6 就在线生效,无需重启。
xR13zp0h67njQr2S
2024-04-26 14:01:39 +08:00
你们的运维不行啊
MIUIOS
2024-04-26 14:03:42 +08:00
测试环境怕个得啊 ,直接关机全盘复制到新盘
ZXiangQAQ
2024-04-26 14:19:29 +08:00
挂上去,然后把 docker 路径迁移到挂到的路径上,然后软链接回到 /var/lib/docker ,完事
vivisidea
2024-04-26 14:28:37 +08:00
@kandaakihito 不能删,删了镜像可能就损坏了,容器可能也起不来,按照我说的挪下 data-root 目录即可
kandaakihito
2024-04-26 14:46:54 +08:00
@retanoj pg 数据库的数据目录 91G 现在领导让我迁移,跟着教程走老是报错说指定的新目录 missing or empty
LLaMA2
2024-04-26 15:18:12 +08:00
第一步,先在阿里云对系统盘做镜像,除了问题大不了恢复镜像

第二步,先跑完第一步再说
baobao1270
2024-04-26 15:23:47 +08:00
如果你们可以用 btrfs/zfs ,那么可以用 subvolume
首先列出所有需要存在数据盘的路径,有很多也没关系
然后每个路径创建一个 subvolume ,把数据迁移进去
然后在 fstab 里配置 subvolume 挂载
LLaMA2
2024-04-26 15:26:40 +08:00
第三步,我也同意 @dier @fitme @ZXiangQAQ 的软链接方案,测试方案,不用搞那么完美。
第四步,以上操作完成了,又不是不能用!!!
NewLine
2024-04-26 16:19:38 +08:00
两块盘是不同协议的吗?如果是的话,用 LVM 做逻辑分区也要三思

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1035787

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX