kk Blog —— 通用基础


date [-d @int|str] [+%s|"+%F %T"]
netstat -ltunp
sar -n DEV 1

LVM 缩减 VG 大小 ( pvmove )

显示PE到LE的映射, 即PE的使用情况

1
pvdisplay -m /dev/sdd1

https://www.systutorials.com/docs/linux/man/8-pvmove/

https://www.linuxcool.com/pvmove

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Move all physical extents that are used by simple LVs on the specified PV to free physical extents elsewhere in the VG.
pvmove /dev/sdb1

Use a specific destination PV when moving physical extents.
pvmove /dev/sdb1 /dev/sdc1

Move extents belonging to a single LV.
pvmove -n lvol1 /dev/sdb1 /dev/sdc1

Rather than moving the contents of an entire device, it is possible to move a range of physical extents, for example numbers 1000 to 1999 inclusive on the specified PV.
pvmove /dev/sdb1:1000-1999

A range of physical extents to move can be specified as start+length. For example, starting from PE 1000. (Counting starts from 0, so this refers to the 1001st to the 2000th PE inclusive.)
pvmove /dev/sdb1:1000+1000

Move a range of physical extents to a specific PV (which must have sufficient free extents).
pvmove /dev/sdb1:1000-1999 /dev/sdc1

Move a range of physical extents to specific new extents on a new PV.
pvmove /dev/sdb1:1000-1999 /dev/sdc1:0-999

If the source and destination are on the same disk, the anywhere allocation policy is needed.
pvmove --alloc anywhere /dev/sdb1:1000-1999 /dev/sdb1:0-999

The part of a specific LV present within in a range of physical extents can also be picked out and moved.
pvmove -n lvol1 /dev/sdb1:1000-1999 /dev/sdc1

https://www.cnblogs.com/useradd/p/10005212.html

pvmove 命令用来将一块盘上的数据移到另一块盘,可以移动整块盘的数据,也可以移动指定 extent 范围的数据, 接下来演示 pvmove 的一个例子,下面这个例子的 VG 由三个 PV 组成,我们想将其中一个 PV 的数据移动其它 PV中,空闲的PV 可以用来创建新的 VG。

1 显示 pv 使用信息

1
2
3
4
5
 [root@redhat6 ~]# pvs -o+pv_used
  PV         VG         Fmt  Attr PSize  PFree Used  
  /dev/sda2  vg_redhat6 lvm2 a--  14.51g    0   14.51g
  /dev/sdb   vg_redhat6 lvm2 a--   4.00g 2.62g   1.38g
  /dev/sdc   vg_redhat6 lvm2 a--   6.00g 5.60g 404.00m

从上面看出,有三块 pv

2 移动 /dev/sdb 数据到 /dev/sdc 盘上

1
2
3
4
5
6
7
8
[root@redhat6 ~]# pvmove /dev/sdb /dev/sdc
  /dev/sdb: Moved: 0.8%
  /dev/sdb: Moved: 28.3%
  /dev/sdb: Moved: 42.5%
  /dev/sdb: Moved: 57.2%
  /dev/sdb: Moved: 72.8%
  /dev/sdb: Moved: 92.6%
  /dev/sdb: Moved: 100.0%

上述命令将 /dev/sdb 文件移动 /dev/sdc 上。

3 再次查看 pv 信息

1
2
3
4
5
[root@redhat6 ~]# pvs -o+pv_used
  PV         VG         Fmt  Attr PSize  PFree Used 
  /dev/sda2  vg_redhat6 lvm2 a--  14.51g    0  14.51g
  /dev/sdb   vg_redhat6 lvm2 a--   4.00g 4.00g     0
  /dev/sdc   vg_redhat6 lvm2 a--   6.00g 4.22g  1.77g

从上面看出 /dev/sdb 盘使用空间为 0,说明空间被腾出。

4 将 /dev/sdb 从 VG vg_redhat6 中移出

1
2
3
4
5
6
7
8
[root@redhat6 ~]# vgreduce /dev/vg_redhat6 /dev/sdb 
  Removed "/dev/sdb" from volume group "vg_redhat6" 

[root@redhat6 ~]# pvs
  PV         VG         Fmt  Attr PSize  PFree
  /dev/sda2  vg_redhat6 lvm2 a--  14.51g    0
  /dev/sdb              lvm2 a--   4.00g 4.00g
  /dev/sdc   vg_redhat6 lvm2 a--   6.00g 4.22g 

根据pvs 信息, /dev/sdb 已经不是 VG vg_redhat6 的成员了。 那么 /dev/sdb 盘可以移除,或者它用。

5 在 /dev/sdb 上创建新的 VG

1
2
3
4
5
6
[root@redhat6 ~]# vgcreate vg_pgroot  /dev/sdb
  Volume group "vg_pgroot" successfully created
[root@redhat6 ~]# vgs
  VG         #PV #LV #SN Attr   VSize  VFree
  vg_pgroot    1   0   0 wz--n-  4.00g 4.00g
  vg_redhat6   2   4   0 wz--n- 20.50g 4.22g

6 再次查看 PV /dev/sdb 信息

1
2
3
4
5
[root@redhat6 ~]# pvs
  PV         VG         Fmt  Attr PSize  PFree
  /dev/sda2  vg_redhat6 lvm2 a--  14.51g    0
  /dev/sdb   vg_pgroot  lvm2 a--   4.00g 4.00g
  /dev/sdc   vg_redhat6 lvm2 a--   6.00g 4.22g

/dev/sdb 已经是 VG vg_pgroot 的成员了。

system, fs

« Chrome浏览器使用Overrides调试线上代码 LVM 输出更多信息 »