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

69 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 数据库硬盘扩容
### 前言
数据库硬盘不够用了 ,数据分区使用的普通分区,
新加一块硬盘 和原来的一块硬盘 组成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相关配置[详情看](/linux/linux使用lvm.md)
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文件系统
3. `mkdir /data` # 创建/data目录作为挂载点(原有目录存在则不创建)
4. `mount /dev/vg_data/lv_data_all /data` # 将逻辑卷挂载到/data目录
5. `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 -
```
启动数据库