>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的空间扩大到100G
lvextend -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 30G
2、减少空间
减少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


转自:http://blog.chinaunix.net/uid-24946452-id-119775.html
http://www.shangxueba.com/jingyan/121397.html



以上内容是参考的  下面是我实验的过程  模拟更换硬盘和缩小空间 都是在虚拟机进行的


首先新建3个pv

新建一个VG 加入3个PV

[root@LVS-Master /]# pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1
  Physical volume "/dev/sdb1" successfully created
  Physical volume "/dev/sdc1" successfully created
  Physical volume "/dev/sdd1" successfully created



[root@LVS-Master /]# vgcreate apple /dev/sdb1 /dev/sdc1 /dev/sdd1
  Volume group "apple" successfully created


创建LV 并格式化挂载

[root@LVS-Master /]# lvcreate -L 38G -n test apple
  Logical volume "test" created
[root@LVS-Master /]# mkdir lvmtest
[root@LVS-Master /]# mount /dev/apple/test /lvmtest/

现在可以在这个目录下写一些测试文件

[root@LVS-Master lvmtest]# ps aux > test.text
..................
[root@LVS-Master lvmtest]# pvs
  PV         VG           Fmt  Attr PSize  PFree
  /dev/sda2  vg_lvsmaster lvm2 a--  19.80g     0
  /dev/sdb1  apple        lvm2 a--  19.99g     0
  /dev/sdc1  apple        lvm2 a--  19.99g  1.98g
  /dev/sdd1  apple        lvm2 a--  19.99g 19.99g

因为每块次的大小为19.9G 剩余空间是19.99g+1.98g 我们现在假设磁盘空间不够用来缩小

lv test的空间 我们把test的空间缩小到12G

[root@LVS-Master /]# umount /lvmtest/


执行e2fsck -f /dev/apple/test

[root@LVS-Master /]# e2fsck -f /dev/apple/test
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/apple/test: 16/2490368 files (0.0% non-contiguous), 2298484/9961472 blocks


执行resize2fs /dev/apple/test 12G

[root@LVS-Master /]# resize2fs /dev/apple/test 12G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/apple/test to 3145728 (4k) blocks.
The filesystem on /dev/apple/test is now 3145728 blocks long.

执行lvresize -L 12G /dev/apple/test

[root@LVS-Master /]# lvresize -L 12G /dev/apple/test
  WARNING: Reducing active logical volume to 12.00 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce test? [y/n]: y
  Reducing logical volume test to 12.00 GiB
  Logical volume test successfully resized


再次执行e2fsck -f /dev/apple/test

[root@LVS-Master /]# e2fsck -f /dev/apple/test
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/apple/test: 16/786432 files (0.0% non-contiguous), 2189523/3145728 blocks

而后挂载文件系统

[root@LVS-Master /]# mount /dev/apple/test /lvmtest/
[root@LVS-Master /]# df -H
Filesystem             Size   Used  Avail Use% Mounted on
/dev/mapper/vg_lvsmaster-LogVol01
                        20G   3.9G    15G  21% /
tmpfs                  983M      0   983M   0% /dev/shm
/dev/sda1              204M    34M   159M  18% /boot
/dev/mapper/apple-test
                        13G   8.8G   3.3G  73% /lvmtest
[root@LVS-Master /]#


从以上看来我们的lv   test成功修改为12G 现在的空间是13G 现在进入目录 看看之前创建的文件是否存在.


[root@LVS-Master lvmtest]# cd /lvmtest/
[root@LVS-Master lvmtest]# ll
total 8388632
-rw-r--r--. 1 root root 2147479552 Dec  4 20:07 hello.cfg
-rw-r--r--. 1 root root 2147479552 Dec  4 20:08 hello.conf
-rw-r--r--. 1 root root 2147479552 Dec  4 20:08 hello.sh
-rw-r--r--. 1 root root 2147479552 Dec  4 20:06 hello.txt
drwx------. 2 root root      16384 Dec  4 20:02 lost+found
-rw-r--r--. 1 root root       7258 Dec  4 20:12 test.text
[root@LVS-Master lvmtest]#


test文件存在而且内容页是正确的.


现在我们模拟更换磁盘

假设现在/dev/sdb1 出现问题了 我们更换sdb1  sdb1的大小事19.9G 我们看看剩余空间是否够19.9G


root@LVS-Master lvmtest]# pvs
  PV         VG           Fmt  Attr PSize  PFree
  /dev/sda2  vg_lvsmaster lvm2 a--  19.80g     0
  /dev/sdb1  apple        lvm2 a--  19.99g  7.99g
  /dev/sdc1  apple        lvm2 a--  19.99g 19.99g
  /dev/sdd1  apple        lvm2 a--  19.99g 19.99g

我们按到空间还有很多  19.99*2+7.99G


现在我们移除sdb1


[root@LVS-Master lvmtest]# pvmove /dev/sdb1
  /dev/sdb1: Moved: 0.1%
  /dev/sdb1: Moved: 31.1%
  /dev/sdb1: Moved: 63.8%
  /dev/sdb1: Moved: 95.7%
  /dev/sdb1: Moved: 100.0%


移动完成


[root@LVS-Master lvmtest]# pvs -o+used
  PV         VG           Fmt  Attr PSize  PFree  Used
  /dev/sda2  vg_lvsmaster lvm2 a--  19.80g     0  19.80g
  /dev/sdb1               lvm2 a--  19.99g 19.99g     0
  /dev/sdc1  apple        lvm2 a--  19.99g  7.99g 12.00g
  /dev/sdd1  apple        lvm2 a--  19.99g 19.99g     0

我们看到现在sdb1已经完全空余

OK 现在我们从vg移除db1

[root@LVS-Master lvmtest]# vgreduce apple /dev/sdb1
  Removed "/dev/sdb1" from volume group "apple"
[root@LVS-Master lvmtest]# vgdisplay apple
  --- Volume group ---
  VG Name               apple
  System ID           
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  7
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               39.98 GiB
  PE Size               4.00 MiB
  Total PE              10236
  Alloc PE / Size       3072 / 12.00 GiB
  Free  PE / Size       7164 / 27.98 GiB
  VG UUID               LH0hdO-W5op-nz1X-m0jZ-pZcP-VrTc-qpnmGN


我们看到VG的大小已经发生变化  开始的VG大小事19.9G*3  现在是39.98G


现在我们移除物理卷


[root@LVS-Master lvmtest]# pvremove /dev/sdb1
  Labels on physical volume "/dev/sdb1" successfully wiped
[root@LVS-Master lvmtest]# pvscan
  PV /dev/sdc1   VG apple          lvm2 [19.99 GiB / 7.99 GiB free]
  PV /dev/sdd1   VG apple          lvm2 [19.99 GiB / 19.99 GiB free]
  PV /dev/sda2   VG vg_lvsmaster   lvm2 [19.80 GiB / 0    free]
  Total: 3 [59.79 GiB] / in use: 3 [59.79 GiB] / in no VG: 0 [0   ]


OK我们看到PV已经被移除了 剩下的事情就是更换硬盘  安装  关于安装本人就不在叙述