背景:最近公司接到一个电话,说是服务器需要降配置,刚开始还有点懵逼,然后电话了之后大概意思就是如下图
500G磁盘 | 200G磁盘 |
4CPU | 2CPu |
8台 | 8台 |
如图:他的意思就是目前有8台centos7的服务器,配置是4核cpu,500G数据盘,晚上需要关机服务器,将cpu降到2核,再给挂一块新的200G磁盘。将500G磁盘中的100G数据,移动到新盘的200G磁盘中,回收500G磁盘。
这时候我的操作如下:
介绍: 程序全部停止
原来500G磁盘挂载位置: /data
挂载后200G磁盘挂载位置:/data
思路:先将新的200G磁盘临时挂载位置:/temporary 500G磁盘中的100G数据移动到200G临时磁盘后,卸载重新挂载 /data 目录
1 lsblk #检查新挂载的200G磁盘 UUID检查:blkid
2 mkfs.ext4 /dev/vdc #格式化新磁盘
3 mkdir /temporary #创建临时目录
4 vim /etc/fstab # 永久挂载文件
UUID=92cbaed9-cd8c-4ee4-8025-3f2b07905896 /temporary xfs defaults 0 0
#增加一行
5 mount -a #挂载成功
6 cp -r /data/* /temporary/ #注意根据实际情况移动数据。切勿直接*
7 cd /root/ #进入根目录
8 umount /data #卸载500G磁盘
存在问题:error busy to 。。。
解决方法: lsof /dev/vdb 、 查看哪些程序还在500G磁盘当中运行,杀死程序,再进行卸载磁盘
9 umount /temporary
注意:上述操作为:卸载 /data 500G磁盘 和卸载 /temporary 200G 临时磁盘
10 vim /etc/fstab
删除 UUID 为 /data 的路径行
更改 UUID 为/temporary 的目录位置,更改如下
源:
UUID=92cbaed9-cd8c-4ee4-8025-3f2b07905896 /temporary xfs defaults 0 0
更改后:
UUID=92cbaed9-cd8c-4ee4-8025-3f2b07905896 /data xfs defaults 0 0
11 mount -a
这个时候就实现了:将500G磁盘中的100G数据全部迁移到了200G磁盘中,此时500G磁盘还是卸载状态,可以通知三方回收500G磁盘了。