前言

正式服务器部署后发现linux系统盘爆满,df -h命令执行后发现系统磁盘只有20G?明明申请的是1T磁盘,哪去了?
原来非系统盘并不会直接在linux系统目录中体现,需要挂载一下。
那么接下来的工作就是:

  1. 挂载非系统盘
  2. 迁移数据库
  3. 迁移应用

一、挂载非系统盘

1. 查看磁盘信息fdisk -l

linux 硬盘挂载及迁移相关数据 - 图1
可以看到我这里的外接系统盘为/dev/vdb

2. 磁盘分区

  1. fdisk /dev/vdb
  2. 输入n 其他默认回车就可以
    linux 硬盘挂载及迁移相关数据 - 图2

3. 格式化磁盘mkfs -t ext3 /dev/vdb

4. 挂载分区

  1. mkdir /data
  2. mount -t ext3 /dev/vdb /data
  3. #查看是否挂载成功
  4. lsblk -f

linux 硬盘挂载及迁移相关数据 - 图3

通过图片我们可以发现分区挂载成功了,但需要注意的是,这只是临时挂载,重启后挂载将失效。

5. 永久挂载

  1. vim /etc/fstab

linux 硬盘挂载及迁移相关数据 - 图4

  1. mount -a

完成。
linux 硬盘挂载及迁移相关数据 - 图5


二、迁移数据库Postgresql

数据库迁移我们只需要迁移数据库文件即可,不需要整个安装文件都迁移。

1. 查看原pg文件存放位置

  1. ps auxw | grep postgres | grep -- -D

可以看到存放位置为:/var/lib/pgsql/11/data/

2. 创建新的数据目录

  1. mkdir /data/pgdata

3. 关闭pgsql

  1. systemctl stop postgresql-11

4. 复制原pg文件

  1. cp -R /var/lib/pgsql/11/data/* /data/pgdata

5. 修改权限

  1. chown -R postgres:postgres /data/pgdata
  2. chmod 750 /data/pgdata -R

6. 修改systemd 配置文件

  1. vim /usr/lib/systemd/system/postgresql-11.service

linux 硬盘挂载及迁移相关数据 - 图6

7. 重启pg

  1. systemctl daemon-reload
  2. systemctl start postgresql-11

8. 删除原文件重启服务器验证


三、迁移服务应用

将整个服务目录复制到/data下,kill掉原服务重启即可。


总结

部署服务器前,通过命令df -h查看服务器磁盘空间情况,先挂接非系统盘后再部署。

知识扩展:
https://blog.csdn.net/inrgihc/article/details/108596724
https://www.cnblogs.com/luoahong/p/6242058.html


b4b75b97-e732-4dd4-b94b-83a3140be149.jpg