| 第一阶段:准备新LV |
|
|
|
|
| 1.1 |
查看当前 /var 文件系统类型 |
df -Th /var |
确认是 xfs 还是 ext4 |
显示文件系统类型 |
| 1.2 |
查看卷组剩余空间 |
vgs |
确认有足够空间创建新LV |
VFree 至少 20G |
| 1.3 |
创建新常规LV |
lvcreate -L 20G -n var_new rootvg |
创建20G的常规LV |
显示创建成功 |
| 1.4 |
格式化新LV |
mkfs.xfs /dev/mapper/rootvg-var_new |
格式化为相同类型(或 ext4) |
显示格式化完成 |
| 第二阶段:数据同步 |
|
|
|
|
| 2.1 |
创建临时挂载点 |
mkdir -p /mnt/var_new |
用于挂载新LV |
目录创建成功 |
| 2.2 |
挂载新LV到临时目录 |
mount /dev/mapper/rootvg-var_new /mnt/var_new |
挂载新LV |
挂载成功 |
| 2.3 |
同步数据(首次) |
rsync -avx /var/ /mnt/var_new/ |
复制所有数据,保留权限 |
显示文件列表和传输大小 |
| 2.4 |
检查数据完整性 |
ls -la /var | wc -l && ls -la /mnt/var_new | wc -l |
对比文件和目录数量 |
两个数字相近 |
| 2.5 |
二次同步(增量) |
rsync -avx --delete /var/ /mnt/var_new/ |
同步新增/变更的文件 |
显示增量变化 |
| 第三阶段:切换挂载 |
|
|
|
|
| 3.1 |
查看当前 /var 挂载 |
mount | grep /var |
确认当前使用的是旧LV |
显示 /dev/mapper/rootvg-var |
| 3.2 |
执行 bind mount 切换 |
mount --bind /mnt/var_new /var |
新LV覆盖挂载到 /var |
无报错 |
| 3.3 |
验证切换结果 |
mount | grep /var |
确认 /var 已切换到新LV |
显示 /dev/mapper/rootvg-var_new |
| 3.4 |
检查服务是否正常 |
systemctl status rsyslog tuned |
确认关键服务正常 |
显示 active (running) |
| 3.5 |
卸载临时挂载点 |
umount /mnt/var_new |
释放临时挂载点 |
卸载成功 |
| 3.6 |
验证 /var 仍正常 |
df -h /var |
确认 /var 仍在使用新LV |
显示新LV的设备名 |
| 第四阶段:修改 fstab |
|
|
|
|
| 4.1 |
备份 fstab |
cp /etc/fstab /etc/fstab.bak |
安全备份 |
生成备份文件 |
| 4.2 |
修改 fstab |
sed -i 's/rootvg-var /rootvg-var_new /' /etc/fstab |
将旧LV改为新LV |
配置更新完成 |
| 4.3 |
验证 fstab 修改 |
grep /var /etc/fstab |
确认配置正确 |
显示 /dev/mapper/rootvg-var_new |
| 第五阶段:重启验证 |
|
|
|
|
| 5.1 |
重启系统 |
reboot |
确保挂载配置持久化 |
系统正常重启 |
| 5.2 |
验证 /var 挂载 |
mount | grep /var |
确认重启后使用新LV |
显示 /dev/mapper/rootvg-var_new |
| 5.3 |
检查服务状态 |
systemctl status rsyslog tuned |
确认服务正常运行 |
显示 active (running) |
| 5.4 |
检查系统日志 |
journalctl -xe | tail -20 |
确认无异常日志 |
无错误信息 |
| 第六阶段:清理旧LV和pool00 |
|
|
|
|
| 6.1 |
删除旧的 var LV |
lvremove rootvg/var |
删除pool00中的旧 var |
输入 y 确认 |
| 6.2 |
删除 pool00 精简池 |
lvremove rootvg/pool00 |
删除整个精简池 |
输入 y 确认 |
| 6.3 |
验证 pool00 已删除 |
lsblk | grep pool00 |
确认无 pool00 设备 |
无任何输出 |
| 6.4 |
重命名新LV |
lvrename rootvg var_new var |
改为正式名称 |
显示重命名成功 |
| 第七阶段:最终配置 |
|
|
|
|
| 7.1 |
再次修改 fstab |
sed -i 's/rootvg-var_new /rootvg-var /' /etc/fstab |
改回正式名称 |
配置更新完成 |
| 7.2 |
验证 fstab |
grep /var /etc/fstab |
确认配置正确 |
显示 /dev/mapper/rootvg-var |
| 7.3 |
查看最终结构 |
lsblk |
确认LVM结构干净 |
无 pool00,var 在 sda3 下 |
| 7.4 |
查看所有LV |
lvs |
查看最终LV列表 |
var 显示为常规LV |
| 第八阶段:最终验证 |
|
|
|
|
| 8.1 |
第二次重启(可选) |
reboot |
确认所有配置持久化 |
系统正常重启 |
| 8.2 |
最终检查 |
lsblk && df -h /var |
确认一切正常 |
无 pool00,/var 正常 |
| 8.3 |
检查所有服务 |
systemctl status |
确认所有服务正常 |
所有服务正常 |