Files
article/postgresql_and_edb/一次数据库硬盘扩容.md
2025-07-30 23:06:41 +08:00

2.1 KiB
Raw Blame History

数据库硬盘扩容

前言

数据库硬盘不够用了 ,数据分区使用的普通分区,

新加一块硬盘 和原来的一块硬盘 组成lvm 分区

备份数据

  1. 停机数据

  2. 备份数据库文件这里采用tar 配合zstd 压缩归档

    tar -I zstd -cvf archive.tar.zst /data/

lvm卷组创建

一、卸载相关操作

  1. lsof +D /data # 查看/data目录下打开的文件
  2. umount /data # 卸载/data挂载点
  3. df -hT /data #确定卸载情况

二、磁盘及分区查看

  1. df -lh # 查看磁盘分区的使用情况
  2. fdisk /dev/nvme0n1p1 # 对nvme0n1p1分区进行操作如查看、分区等
  3. 使用 fdisk 删除 原有分区(备份好数据)

三、LVM相关配置详情看

  1. pvcreate /dev/nvme0n1 /dev/sdb # 创建物理卷(可以为分区)
  2. pvdisplay # 显示物理卷的信息
  3. vgcreate vg_data /dev/nvme0n1 /dev/sdb # 创建卷组vg_data
  4. vgdisplay # 显示卷组的信息
  5. lvcreate -l 100%FREE -n lv_data_all vg_data # 在vg_data卷组上创建逻辑卷lv_data_all使用全部空闲空间
  6. lvdisplay /dev/vg_data/lv_data_all # 显示vg_data卷组下lv_data_all逻辑卷的信息

四、文件系统及挂载配置

  1. mkfs.xfs /dev/vg_data/lv_data_all # 为逻辑卷创建xfs文件系统
  2. mkdir /data # 创建/data目录作为挂载点(原有目录存在则不创建)
  3. mount /dev/vg_data/lv_data_all /data # 将逻辑卷挂载到/data目录
  4. df -lh # 查看挂载后的磁盘使用情况( 如不生效则配置fstab重启)

五、自动挂载配置及重启

  1. vim /etc/fstab # 编辑fstab文件配置开机自动挂载
  2. /dev/vg_data/lv_data_all /data xfs defaults 0 0
  3. mount -a # 挂载fstab文件中所有未挂载的文件系统验证配置是否正确
  4. reboot # 重启系统

数据恢复

提供两种方法 恢复文件

zstd -d archive.tar.zst && tar -xvf archive.tar -C /path/to/extract
zstd -dc archive.tar.zst | tar -xvf -

启动数据库