This commit is contained in:
2025-07-30 23:06:41 +08:00
parent 53d2f55c21
commit 917f3bd894

View File

@ -0,0 +1,68 @@
## 数据库硬盘扩容
### 前言
数据库硬盘不够用了 ,数据分区使用的普通分区,
新加一块硬盘 和原来的一块硬盘 组成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 -
```
启动数据库