Linux LVM安全删除硬盘或分区-

转载:http://blog.51yip.com/linux/1779.html

 

背景:

由于误操作,把三块盘LVM在一起了。挺尴尬的,都安装了系统了。然后由于某种原因,不方便重新安装。所以就想着把多余的两个磁盘踢出来。。

描述:

LVM总共700G,其中sda系统盘,sdb 536G,sdc 214G,实际数据使用空间164G,想要缩减空间做删除盘的操作。

-从根目录删除盘 (根目录被使用所以要进入安全模式)

其他路径的话,在保证数据安全时可以直接迁移数据,移除操作。

1、查看分区情况

[sql] view plain copy  

  1. # df -h  
  2. Filesystem            Size  Used Avail Use% Mounted on  
  3. /dev/mapper/VolGroup00-LogVol00  
  4.                       7xxG  169G   xxG  65% /  
  5. /dev/sda1              99M   13M   81M  14% /boot  
  6. tmpfs                 7.9G     0  7.9G   0% /dev/shm  

说明:斜体表示不确定具体数据,仅供参考

[sql] view plain copy  

  1. # fdisk -l  
  2. Disk /dev/sda: 32.2 GB, 32212254720 bytes  
  3. 255 heads, 63 sectors/track, 3916 cylinders  
  4. Units = cylinders of 16065 * 512 = 8225280 bytes  
  5.   
  6.    Device Boot      Start         End      Blocks   Id  System  
  7. /dev/sda1   *           1          13      104391   83  Linux  
  8. /dev/sda2              14        3916    31350847+  8e  Linux LVM  
  9.   
  10. Disk /dev/sdb: 536.8 GB, 536870912000 bytes  
  11. 255 heads, 63 sectors/track, 65270 cylinders  
  12. Units = cylinders of 16065 * 512 = 8225280 bytes  
  13.   
  14. Disk /dev/sdb doesn't contain a valid partition table  
  15.   
  16. Disk /dev/sdc: 214.7 GB, 214748364800 bytes  
  17. 255 heads, 63 sectors/track, 26108 cylinders  
  18. Units = cylinders of 16065 * 512 = 8225280 bytes  
  19.   
  20. Disk /dev/sdc doesn't contain a valid partition table  

 

 

由于是删除挂载在/目录的盘,不能在线删盘,需要进入安全模式

 

重启操作系统,从安装光盘启动

输入linux rescue 进入linux 安全模式,选择不挂载 NO-NO-NO

(我用的是实体服务器,del,然后选择 rescue 进入,直接在bash里面执行命令 就好了

 

选择第三个)

 

2、取消挂载,进行磁盘检测

lvm vgscan -v

lvm vgchange -a y

lvm lvs -all

e2fsck -f /dev/mapper/VolGroup00-LogVol00 磁盘检测

 

3、对逻辑卷重定义大小

resize2fs -p /dev/mapper/VolGroup00-LogVol00 300G 重定义大小,缩至300G

lvreduce -L 310G /dev/mapper/VolGroup00-LogVol00  重定义大小

 

由700G变成300G,大约要删除400G,就算400G的盘子数据满了,也可以全部移走。

 

4、查看物理卷情况

[sql] view plain copy  

  1.  pvdisplay -m  
  2.   --- Physical volume ---  
  3.   PV Name               /dev/sda2  
  4.   VG Name               VolGroup00  
  5.   PV Size               29.90 GB / not usable 24.06 MB  
  6.   Allocatable           yes (but full)  
  7.   PE Size (KByte)       32768  
  8.   Total PE              956  
  9.   Free PE               0  
  10.   Allocated PE          956  
  11.   PV UUID               cjwiEg-ZlfV-e1q0-VqpF-whuF-BAq4-ECOsrx  
  12.      
  13.   --- Physical Segments ---  
  14.   Physical extent 0 to 892:  
  15.     Logical volume      /dev/VolGroup00/LogVol00  
  16.     Logical extents     0 to 892  
  17.   Physical extent 893 to 955:  
  18.     Logical volume      /dev/VolGroup00/LogVol01  
  19.     Logical extents     0 to 62  
  20.      
  21.   --- Physical volume ---  
  22.   PV Name               /dev/sdb  
  23.   VG Name               VolGroup00  
  24.   PV Size               500.00 GB / not usable 32.00 MB  
  25.   Allocatable           yes   
  26.   PE Size (KByte)       32768  
  27.   Total PE              15999  
  28.   Free PE               6972  
  29.   Allocated PE          9027  
  30.   PV UUID               ltIgU5-6uep-nusm-IvdZ-xby4-cVjT-2RQBrf  
  31.      
  32.   --- Physical volume ---  
  33.   PV Name               /dev/sdc  
  34.   VG Name               VolGroup00  
  35.   PV Size               200.00 GB / not usable 32.00 MB  
  36.   Allocatable           yes  激活状态,可写入  
  37.   PE Size (KByte)       32768  
  38.   Total PE              15999  总共15999PE  
  39.   Free PE               15999  空闲15999PE,也就是说这块硬盘是空的  
  40.   Allocated PE          9027  
  41.   PV UUID               ltIgU5-6uep-nusm-IvdZ-xby4-cVjT-2RQBrf    
  42. --- Physical Segments ---  
  43.   Physical extent 0 to 9026:  
  44.     Logical volume      /dev/VolGroup00/LogVol00  
  45.     Logical extents     893 to 9919  
  46.   Physical extent 9027 to 15998:  
  47.     FREE  

 

5、移动数据,将要删除的盘的数据移动到别的盘

pvmove -i  /dev/sdc

(这里我使用 pvmove /dev/sdc /dev/sda1)根据实际情况把 源 迁移到 目标

no data to move for VolGroup00

这一步,非常重要,如果盘子里面有数据,不做这一步,会造成数据丢失

 

 

6、注销要删除的硬盘/dev/sdc

[sql] view plain copy  

  1. pvchange -xn /dev/sdc  注销sdc  
  2. pvdisplay -m  
  3.   --- Physical volume ---  
  4.   PV Name               /dev/sdc  
  5.   VG Name               VolGroup00  
  6.   PV Size               200.00 GB / not usable 32.00 MB  
  7.   Allocatable           NO   //不是激活状态了  
  8.   PE Size (KByte)       32768  
  9.   Total PE              15999     
  10.   Free PE               15999   
  11.   Allocated PE          0  

 

7、将硬盘或分区从逻辑卷组中删除,并删除物理盘

vgreduce VolGroup00 /dev/sdc  //从逻辑卷组中删除

 

pvremove /dev/sdc   删除物理卷

 

pvdisplay 

sdc 已经看不到了。

 

8、查看结果

[sql] view plain copy  

  1. # df -h  
  2. Filesystem            Size  Used Avail Use% Mounted on  
  3. /dev/mapper/VolGroup00-LogVol00  
  4.                       291G  181G   96G  66% /  
  5. /dev/sda1              99M   13M   81M  14% /boot  
  6. tmpfs                 7.9G     0  7.9G   0% /dev/shm  

启动数据库正常。主从复制线程正常(从)。

 

你可能感兴趣的:(Linux)