Chinaunix首页 | 论坛 | 博客
  • 博客访问: 287756
  • 博文数量: 37
  • 博客积分: 1296
  • 博客等级: 中尉
  • 技术积分: 481
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-24 17:00
文章分类

全部博文(37)

文章存档

2013年(1)

2011年(21)

2010年(4)

2009年(2)

2007年(9)

我的朋友

分类: LINUX

2011-02-28 15:14:30

老了老了,做过要记录。文档是同事写的,感觉不错拿来存档。

前面加一点自己的东西。
上次丢了一块pv,导致整个lv出错。
结果就是这样
  #pvscan
  Couldn't find device with uuid 'RE3S4F-mwkG-cNmN-2mL8-6gj3-NFlz-6gwAF3'.
  Couldn't find device with uuid 'RE3S4F-mwkG-cNmN-2mL8-6gj3-NFlz-6gwAF3'.
  Couldn't find device with uuid 'RE3S4F-mwkG-cNmN-2mL8-6gj3-NFlz-6gwAF3'.
  PV /dev/sdd1        VG VolGroup00   lvm2 [465.75 GB / 465.75 GB free]
  PV unknown device   VG VolGroup00   lvm2 [399.91 GB / 399.91 GB free]
  PV /dev/sdb1        VG VolGroup00   lvm2 [465.75 GB / 465.75 GB free]
  PV /dev/sdc1        VG VolGroup00   lvm2 [465.75 GB / 465.75 GB free]
  Total: 4 [1.76 TB] / in use: 4 [1.76 TB] / in no VG: 0 [0   ]

然后想把 vgremove 重建 或  pvremove重建都不行。
后来研究了一下,需要从vg下手。发现有个这样的命令。
vgreduce --removemissing vg名字
下面是运行结果

[root@223 /]# vgreduce --removemissing VolGroup00
  Couldn't find device with uuid 'RE3S4F-mwkG-cNmN-2mL8-6gj3-NFlz-6gwAF3'.
  Couldn't find device with uuid 'RE3S4F-mwkG-cNmN-2mL8-6gj3-NFlz-6gwAF3'.
  Couldn't find device with uuid 'RE3S4F-mwkG-cNmN-2mL8-6gj3-NFlz-6gwAF3'.
  Couldn't find device with uuid 'RE3S4F-mwkG-cNmN-2mL8-6gj3-NFlz-6gwAF3'.
  Couldn't find device with uuid 'RE3S4F-mwkG-cNmN-2mL8-6gj3-NFlz-6gwAF3'.
  Couldn't find device with uuid 'RE3S4F-mwkG-cNmN-2mL8-6gj3-NFlz-6gwAF3'.
  Wrote out consistent volume group VolGroup00
[root@223 /]# pvscan
  PV /dev/sdd1   VG VolGroup00   lvm2 [465.75 GB / 465.75 GB free]
  PV /dev/sdb1   VG VolGroup00   lvm2 [465.75 GB / 465.75 GB free]
  PV /dev/sdc1   VG VolGroup00   lvm2 [465.75 GB / 465.75 GB free]
  Total: 3 [1.36 TB] / in use: 3 [1.36 TB] / in no VG: 0 [0   ]

然后重建lv就正常了。

今天碰到一个新情况,vg整体混乱。是用上面的方法还不行。要用 -f 参数,强制去除。
vgreduce -f --removemissing VolGroup00

第一章 介绍 略

二、物理卷管理

1、添加物理卷

使用pvcreate命令可以创建物理卷,可以在整个磁盘上创建物理卷,也可以在一个磁盘分区上创建物理卷。例如如果要在第二块SCSI磁盘上创建物理卷,可以使用命令:pvcreate /dev/sdb

2、查看物理卷

[root@demoserver dev]# pvdisplay

  --- Physical volume ---

  PV Name           /dev/hda13                        //pv名称

  VG Name           vg_data                      //pv所属的vg名称

  PV Size             1.87 GB / not usable 1.96 MB    //pv的大小为1.87GB

  Allocatable          yes

  PE Size (KByte)     4096                          //物理块大小为4MB

  Total PE           478                         //总的物理块数

  Free PE            478                         //空闲的物理块数

  Allocated PE        0

  PV UUID            jaVtOk-rpMb-QgbM-zx1N-DmCB-yGqm-hCVmiE

  --- Physical volume ---                           //另一个pv的信息

  PV Name            /dev/hda14

  VG Name            vg_data

  PV Size             1.86 GB / not usable 2.12 MB

  Allocatable          yes

  PE Size (KByte)      4096

  Total PE            476

  Free PE             476

  Allocated PE         0

  PV UUID            VzjEpx-or1h-v3gN-zOCm-FnjC-eDOz-tp5YZg

共有两个物理卷:/dev/hda13/dev/hda14,其中hda13的大小为1.87GB,物理块大小为4096KB,总的物理块数为478,空闲的物理块数为478,已分配的物理块数为0。而hda14的大小为1.86GB,物理块大小为4096KB,总的物理块数为476,空闲的物理块数为476,已分配的物理块数为0

3.删除物理卷

如果物理卷不再需要,可以使用pvremove命令将其删除,如下所示。

# pvremove /dev/hda16

  Labels on physical volume "/dev/hda16" successfully wiped

物理卷被删除后,其所在的磁盘分区并不会被删除。需要被删除的物理卷必须是已经不属于任何卷组,否则将会失败,如下所示。

[root@demoserver dev]# pvremove /dev/hda13

  Can't pvremove physical volume "/dev/hda13" of volume group "vg_data" without-ff

三、卷组管理

1.添加卷组

物理卷创建完成后就可以开始创建卷组。卷组是由一个或多个物理卷所组成的存储池。例如要创建一个名为vg_data的卷组,可以使用下面的命令。

# vgcreate vg_data /dev/hda13 /dev/hda14

  Volume group "vg_data" successfully created

2.扩展卷组的容量

当卷组中的空间不足的时候,可以使用vgextend命令往卷组中添加新的物理卷,方便地扩展卷组的容量,如下所示。

# vgextend vg_data /dev/hda15

  Volume group "vg_data" successfully extended

3.查看卷组

使用vgdisplay命令可以查看卷组的信息。例如要查看上例中创建的卷组vg_data,执行的命令如下所示。

# vgdisplay vg_data

  --- Volume group ---

  VG Name               vg_data                   //vg名称

  System ID

  Format                  lvm2

  Metadata Areas         3                         //元信息区域

  Metadata Sequence No  2

  VG Access               read/write                //访问许可,可读写

  VG Status               resizable                  //VG状态

  MAX LV                  0                        //最大的LV

  Cur LV                   0                        //当前的LV

  Open LV                 0                        //打开的LV

  Max PV                  0                        //最大的PV

  Cur PV                   3                        //当前的PV

  Act PV                   3

  VG Size                 5.59 GB                 //VG的大小为5.59GB

  PE Size                 4.00 MB                 //物理块的大小为4MB

  Total PE                1430                  //VG的物理块数为1430

  Alloc PE / Size            0 / 0            //已经使用的物理块数和大小

  Free  PE / Size         1430 / 5.59 GB          //空闲的物理块数和大小

  VG UUID                 djgPFx-LOGa-8ZOx-diNr-hxCs-qNip-vg0Hqu

卷组vg_dat格式为lvm2,访问许可为可读写,卷组大小为5.59GB,物理块大小为4MB,总的物理块数为1430,已分配的物理块数为0,空闲的物理块数为1430,大小为5.59GB

4.从卷组中删除物理卷

通过vgreduce命令可以把VG中未被使用的PVVG中删除,例如要从卷组vg_data中删除物理卷hda15,如下所示。

# vgreduce vg_data /dev/hda15

  Removed "/dev/hda15" from volume group "vg_data"

如果要从卷组中删除所有未被使用的物理卷,可以使用如下命令。

# vgreduce –a

5.删除卷组

当卷组不再需要的时候,可以使用vgremove命令删除。如果卷组中已经创建了LV,则系统会提示用户确认是否要进行删除,命令及运行结果如下所示。

# vgremove vg_data

Do you really want to remove volume group "vg_data" containing 2 logical volumes

? [y/n]: y

Do you really want to remove active logical volume "lv_data1"? [y/n]: y

                                             //确定删除逻辑卷lv_data1

  Logical volume "lv_data1" successfully removed

Do you really want to remove active logical volume "lv_data2"? [y/n]: y

                                             //确定删除逻辑卷lv_data2

  Logical volume "lv_data2" successfully removed

  Volume group "vg_data" successfully removed

卷组被删除后,卷组中的所有物理卷将不属于任何卷组,可以对这些物理卷进行删除,命令如下所示。

# pvdisplay /dev/hda14

  "/dev/hda14" is a new physical volume of "1.86 GB"

  --- NEW Physical volume ---

  PV Name            /dev/hda14

  VG Name               //VG Name一列为空,表示该PV不属于任何的VG

  PV Size             1.86 GB         //PV大小

  Allocatable          NO              //是否可分配

  PE Size (KByte)       0               //PE大小

  Total PE             0               //PE

  Free PE              0               //空闲的PE

  Allocated PE         0               //分配的PE

  PV UUID             VzjEpx-or1h-v3gN-zOCm-FnjC-eDOz-tp5Yzg

可以看到,物理卷hda14VG Name一列为空,表示该物理卷不属于任何的卷组,用户可以删除该物理卷,或分配给其他卷组使用。

四、逻辑卷管理

逻辑卷类似于非LVM系统中的磁盘分区,在逻辑卷上可以建立文件系统,文件系统建立完成后就可以挂载到操作系统中进行使用。逻辑卷被划分为被称为LELogical Extents)的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。

1.添加逻辑卷

当卷组创建后,可以使用lvcreate命令在卷组上创建逻辑卷。例如要在卷组vg_data上创建一个1000MB的逻辑卷lv_data1,其命令如下所示。

# lvcreate -L 1000m -n lv_data1 vg_data

  Logical volume "lv_data1" created

除了KBMBGB这些常规单位以外,lvcreate命令还可以使用PE数作为单位。由vgdisplay可以看到卷组vg_dataPE大小为4MB,如果要创建一个大小为1000MB的逻辑卷,则需要250PE,命令如下所示。

# lvcreate -l 250 -n lv_data2 vg_data

  Logical volume "lv_data2" created

我们现在ppvodLVM使用的命令是:

#lvcreate –i 4 –I 8192 –L 1600G –n lv_data2 vg_data

-i:采用条带模式的映射方式创建逻辑卷,该参数的值用于指定所创建的逻辑卷将映射在几个PV上。

-I:指定使用条带模式时所采用块的大小,单位为KB,其值必须是:2NN≥2)。

-L:指定创建逻辑卷的大小,单位的可以用KMGT表示KBMBGBTB

-n:用来指定所创建的逻辑卷名称,该名称可以根据需要随便定义。

在使用“-i”参数指定PV的个数时,一定要确认所指定的这些PV是没有完全被分配给任何逻辑卷的,否则将创建失败,其次若这些PV的大小不等,那么所创建的逻辑卷只能取最小值。

这样创建的LVM起到了软Raid的作用,可以使IO压力分散到各个硬盘之上,提高IO性能。

卷组和逻辑卷创建后,会在/dev目录下创建一个以VG名称命名的目录,在目录下会创建以LV名称命名的设备文件,如下所示。

#ll /dev/vg_data

total 0

lrwxrwxrwx 1 root root 28 Aug 24 22:22 lv_data1 -> /dev/mapper/vg_ data-lv_data1

lrwxrwxrwx 1 root root 28 Aug 24 22:21 lv_data2 -> /dev/mapper/vg_ data-lv_data2

2.更改逻辑卷的大小

使用lvresize命令可以更改已有逻辑卷的大小。一般情况下不建议减少逻辑卷的空间,因为这样可能会导致逻辑卷上的文件系统中的数据丢失,所以除非用户已经确定被减少空间中的数据不再需要或者已经把重要数据备份出来,否则不要减少逻辑卷的空间以免造成不可挽回的损失。如果要把逻辑卷lv_data1的大小增加为1500MB,可以使用下面的命令。

# lvresize -L 1500m /dev/vg_data/lv_data1

  Extending logical volume lv_data1 to 1.46 GB

  Logical volume lv_data1 successfully resized

3.查看逻辑卷的信息

使用lvdisplay命令可以查看指定逻辑卷的信息,例如要查看逻辑卷lv_data1的信息,命令和运行结果如下所示。

# lvdisplay /dev/vg_data/lv_data1

  --- Logical volume ---

  LV Name                 /dev/vg_data/lv_data1  //逻辑卷名称

  VG Name             vg_data                   //逻辑卷所属的卷组

  LV UUID                 3CrIH1-rZr6-UkNZ-1Z5n-gHw2-SM5T-by5fKg

  LV Write Access        read/write

  LV Status               available

  # open                  0

  LV Size                 1.46 GB                  //逻辑卷的大小

  Current LE              375                      //逻辑卷的逻辑块数

  Segments                1

  Allocation               inherit

  Read ahead sectors      auto

  - currently set to         256

  Block device             253:0

可以看到,逻辑卷/dev/vg_data/lv_data1所属的卷组为vg_data,访问许可为可读写,卷组状态为可用,逻辑卷大小为1.46GB,总的逻辑块数为375

4.删除逻辑卷

使用lvremove命令可以删除指定的逻辑卷,删除前系统会提示用户确认。例如要删除逻辑卷lv_data2,其命令和运行结果如下所示。

# lvremove /dev/vg_data/lv_data2

Do you really want to remove active logical volume "lv_data2"? [y/n]: y

  Logical volume "lv_data2" successfully removed

删除后,逻辑卷上的所有数据均会被清除。


阅读(3154) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~