update
This commit is contained in:
68
postgresql_and_edb/一次数据库硬盘扩容.md
Normal file
68
postgresql_and_edb/一次数据库硬盘扩容.md
Normal 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 -
|
||||
```
|
||||
|
||||
启动数据库
|
Reference in New Issue
Block a user