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