>volume group vg1包括了三个PV,sda1 sdb1 sdc1,各600GB的SAS,先发现其中一个SAS sdc盘呼哧呼哧的想,猜想快挂了。
vg1上创建了一个lv1,目前有800GB的数据在里面。
我目前想直接将sdc这个盘取出来,在新的盘未到来之前,就用sda sdb。有神马好办法来操作?
直接 vgreduce vg1 /dev/sdc1 , 提示still in use,有神马办法将sdc1上的部分数据copy到前面两个磁盘上去,然后把sdc1从vg1里安全删除掉,取出磁盘呢?
pvmove一下,具体怎么操作如下:
1查看vg中可用空闲空间,
# pvs -o+pv_used //保证vg中其他磁盘可用空间大于需要移除磁盘空间,新盘没到之前,这个是必须的,
2移动 sdc1中的数据,
#pvmove /dev/sdc1
3。查看是否移动成功,
#pvs -o+pv_used //若sdc1已用空间显示零,表示移动成功。
4.vgreduce删除磁盘
vgreduce vg1 /dev/sdc1 //删除sdc1磁盘
1、增加空间 增加空间的命令是:lvextend.有两种方法,一个是指定在现有的空间上增加的大小,一个是指定将现有空间增加到多少。 举例,如果testlv目前的大小是20G 在testlv现有空间的基础上再增加10G lvextend -L +10G -f -r /dev/testvg/testlv #此时testlv的大小是30G 将testlv的空间扩大到100Glvextend -L 100G -f -r /dev/testvg/testlv #此时testlv的大小是100G 关于lvextend的详细用法,可以用命令lvextend --help查询。 也可以分步操作,先增加lv的大小,再修改文件系统的大小,还以增加10G为例,具体命令为: lvextend -L +10G /dev/testvg/testlv resize2fs -f /dev/testvg/testlv 30G2、减少空间 减少lv空间的操作是有风险的,操作之前一定要做好备份,以免数据丢失。 要减少一个lv的空间,必须先减少之上的文件系统的大小。 具体操作顺序是:检查文件系统,减少文件系统大小,减少lv大小。命令依次为: e2fsck -f /dev/vg/lv
resize2fs /dev/vg/lv newsize 10G
lvreduce -L newsize /dev/vg/lv 也可以用lvreduce一条命令完成。 lvreduce -L newsize -f -r /dev/vg/lv 举例,将testlv的大小减少到10G,分步操作命令如下: e2fsck -f /dev/testvg/testlv resize2fs /dev/testvg/testlv 10G lvreduce -L 10G /dev/testvg/testlv 也可以用下面一条命令实现: lvreduce -L 10G -f -r /dev/testvg/testlv
转自:/uid-24946452-id-119775.html
/jingyan/121397.html
以上内容是参考的 下面是我实验的过程 模拟更换硬盘和缩小空间 都是在虚拟机进行的
首先新建3个pv
新建一个VG 加入3个PV
创建LV 并格式化挂载
现在可以在这个目录下写一些测试文件
因为每块次的大小为19.9G 剩余空间是19.99g+1.98g 我们现在假设磁盘空间不够用来缩小
lv test的空间 我们把test的空间缩小到12G
执行e2fsck -f /dev/apple/test
执行resize2fs /dev/apple/test 12G
执行lvresize -L 12G /dev/apple/test
再次执行e2fsck -f /dev/apple/test
而后挂载文件系统
从以上看来我们的lv test成功修改为12G 现在的空间是13G 现在进入目录 看看之前创建的文件是否存在.
test文件存在而且内容页是正确的.
现在我们模拟更换磁盘
假设现在/dev/sdb1 出现问题了 我们更换sdb1 sdb1的大小事19.9G 我们看看剩余空间是否够19.9G
我们按到空间还有很多 19.99*2+7.99G
现在我们移除sdb1
移动完成
我们看到现在sdb1已经完全空余
OK 现在我们从vg移除db1
我们看到VG的大小已经发生变化 开始的VG大小事19.9G*3 现在是39.98G
现在我们移除物理卷
OK我们看到PV已经被移除了 剩下的事情就是更换硬盘 安装 关于安装本人就不在叙述
本文转自flyingzf 51CTO博客,原文链接:/flyingzf/1336068,如需转载请自行联系原作者