LVM使用之二-向卷组VG追加物理卷PV

由于上一篇LVM使用之一是从实际需要引入了LVM,但是并没有做介绍,所以首先我们先看看LVM逻辑卷管理的简单结构。

上图中术语解释如下:
VG:卷组,PV的集合
PV:物理卷,一个一个的物理硬盘或者说物理硬盘分区,由若干个PE组成
LV:逻辑卷,可以格式化成文件系统并mount到某个目录的设备,由若干个LE组成
/mnt:新建LV的挂载点(系统的/boot分区不可以使用LV)
*关于PE和LE在本文最后,再做详细介绍,免得读晕了,就不好玩了。

为了方便理解,你可以这样看,VG就是集合了所有物理硬盘PV的一个大硬盘,LV就是从这个大硬盘VG里划分出来的一个一个的小分区,并挂载到我们需要的目录下。

把一块硬盘作为PV追加到VG里的过程简单如下:
插入硬盘->创建LVM分区->创建PV->把PV追加到VG里

接下来,我们就按这个步骤开始尝试:
1.插入硬盘,并用fdisk -l命令确认我们新插入的硬盘。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@ test ~] # fdisk -l
 
Disk /dev/cciss/c0d0 : 293.6 GB, 293617820160 bytes
255 heads, 63 sectors /track , 35697 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
            Device Boot      Start         End      Blocks   Id  System
/dev/cciss/c0d0p1   *           1          13      104391   83  Linux
/dev/cciss/c0d0p2              14        2563    20482875   83  Linux
/dev/cciss/c0d0p3            2564       35697   266148855   8e  Linux LVM
 
Disk /dev/cciss/c0d1 : 146.8 GB, 146807930880 bytes
255 heads, 32 sectors /track , 35139 cylinders
Units = cylinders of 8160 * 512 = 4177920 bytes
 
Disk /dev/cciss/c0d1 doesn't contain a valid partition table

从上面的信息我们可以看到,我要追加的设备是/dev/cciss/c0d1
*说明,其实我的测试机里的/dev/cciss/c0d0是由4块物理硬盘组成的raid1+0,为了测试LVM,我又追加了2块硬盘,做成了raid1,就是你看到的/dev/cciss/c0d1

2.创建LVM分区

?
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
[root@ test ~] # fdisk /dev/cciss/c0d1
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
 
The number of cylinders for this disk is set to 35139.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
    (e.g., DOS FDISK, OS /2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
 
Command (m for help): n <-新建分区
Command action
    e   extended
    p   primary partition (1-4)
p <-作为分区
Partition number (1-4): 1 <-分区号码
First cylinder (1-35139, default 1):<-直接回车,从第一个cylinder开始
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-35139, default 35139):<-直接回车,到最后一个cylinder为止
Using default value 35139
 
Command (m for help): t <-设置分区的system id
Selected partition 1
Hex code ( type L to list codes): 8e <-设置分区system id 为LVM
Changed system type of partition 1 to 8e (Linux LVM)
 
Command (m for help): p <-显示我们设置的分区情况
 
Disk /dev/cciss/c0d1 : 146.8 GB, 146807930880 bytes
255 heads, 32 sectors /track , 35139 cylinders
Units = cylinders of 8160 * 512 = 4177920 bytes
 
            Device Boot      Start         End      Blocks   Id  System
/dev/cciss/c0d1p1               1       35139   143367104   8e  Linux LVM
 
Command (m for help): w <-确认无误,保存退出
The partition table has been altered!
 
Calling ioctl() to re- read par
Syncing disks.

2.把/dev/cciss/c0d1p1创建为PV并确认

?
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
[root@ test ~] # pvcreate /dev/cciss/c0d1p1
   Physical volume "/dev/cciss/c0d1p1" successfully created
[root@ test ~] # pvdisplay
   --- Physical volume ---
   PV Name               /dev/cciss/c0d0p3
   VG Name               VolGroup00
   PV Size               253.82 GB / not usable 6.99 MB
   Allocatable           yes
   PE Size (KByte)       32768
   Total PE              8122
   Free PE               7469
   Allocated PE          653
   PV UUID               6K7yBW-NuRf-3Quv-LU8U-6N1S-DmzG-ccCmbx
 
   "/dev/cciss/c0d1p1" is a new physical volume of "136.73 GB"
   --- NEW Physical volume ---
   PV Name               /dev/cciss/c0d1p1
   VG Name
   PV Size               136.73 GB
   Allocatable           NO
   PE Size (KByte)       0
   Total PE              0
   Free PE               0
   Allocated PE          0
   PV UUID               TWzjBK-0N5x-1A6c-wht3-n4l1-7gFp-m24iy3

从15到25行可以看出,我们的PV创建成功,名字还是/dev/cciss/c0d1p1

3.把新建的PV添加到我们已有的VG卷组VolGroup00里并确认
首先,确认一下追加新的PV前VG卷组VolGroup00的状况:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@ test ~] # vgdisplay
   --- Volume group ---
   VG Name               VolGroup00
   System ID
   Format                lvm2
   Metadata Areas        1
   Metadata Sequence No  4
   VG Access             read /write
   VG Status             resizable
   MAX LV                0
   Cur LV                2
   Open LV               2
   Max PV                0
   Cur PV                1
   Act PV                1
   VG Size               253.81 GB <--现在的VG大小是253.81 GB
   PE Size               32.00 MB
   Total PE              8122
   Alloc PE / Size       653 / 20.41 GB
   Free  PE / Size       7469 / 233.41 GB  <--剩余233.41 G
   VG UUID               0UvEJz-rfLm-MVDb-20uW-JMCa-T14K-wCmyLO

开始追加:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[root@ test ~] # vgextend VolGroup00 /dev/cciss/c0d1p1
   Volume group "VolGroup00" successfully extended
[root@ test ~] # vgdisplay
   --- Volume group ---
   VG Name               VolGroup00
   System ID
   Format                lvm2
   Metadata Areas        2
   Metadata Sequence No  5
   VG Access             read /write
   VG Status             resizable
   MAX LV                0
   Cur LV                2
   Open LV               2
   Max PV                0
   Cur PV                2
   Act PV                2
   VG Size               390.53 GB <--现在的VG大小是390.53 G
   PE Size               32.00 MB
   Total PE              12497
   Alloc PE / Size       653 / 20.41 GB
   Free  PE / Size       11844 / 370.12 GB <--剩余370.12 GB
   VG UUID               0UvEJz-rfLm-MVDb-20uW-JMCa-T14K-wCmyLO 

可以看到,我们的新PV追加成功了。

前面,我们是把新建的PV添加到已有的VG里,如果们想把一个或者多个新建的PV组成一个新的VG,比如把/dev/sda1和/dev/sdb1组成一个叫MyVG01的VG。

?
1
[root@ test ~] # vgcreate MyVG01 /dev/sda1 /dev/sdb1

现在简单的介绍一下PE和LE:
PE:即物理区域,是物理卷PV中可用于分配的最小存储单元,PE的大小是在创建卷组VG的时候确定的(vgcreate -s参数指定),PE的大小必须是2的整倍数,一旦确定不能更改,新的物理卷PV加入到VG后,PE的大小自动更改为VG中定义的PE大小,一个PV最多只能有65535个PE,也就是说PV的大小等于(PE大小×65535)M,所以如果你的硬盘大,在创建VG的时候,就不要把PE的大小指定的太小。由于本文是在系统已有的VG上操作,所以我们使用的是默认的PE大小。
LE:即逻辑区域,是逻辑卷LV中可用于分配的最小存储单元,当LV创建时,LVM系统会自动创建LE并自动维护PE/LE对应关系,在同一个卷组VG中,LE的大小和PE是相同的,每个LV包含的LE都可以找到与之对应的PE。

为了便于理解,再举个不太恰当的例子
假设:
VG:仓库
PV:仓库里箱子
PE:仓库里箱子里的苹果
LV:篮子
LE:取出仓库里箱子里的苹果放到篮子里的苹果
那么:
增加硬盘:往仓库(VG)里运装满苹果的箱子(PV)
删除硬盘:从仓库(VG)里把装满苹果的箱子(PV)运走
新建LV:拿筐子(LV)到仓库(VG)里的箱子(PV)里取苹果(PE)变成自己的LE
删除LV:把筐子(LV)里的苹果(LE)放回仓库(VG)里的箱子(PV)里
增加LV大小:再从仓库(VG)里的箱子(PV)里取一些苹果(PE)放到自己的筐子(LV)里
缩小LV大小:从自己的筐子(LV)里把苹果(LE)放回仓库(VG)里的箱子(PV)里

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值