轻松修复逻辑卷启动故障

日期: 2010-06-20 作者:Sander van Vugt翻译:鬼谷 来源:TechTarget中国 英文

逻辑卷让你可以方便地管理你的服务器磁盘空间。一旦逻辑卷发生的问题相对于常用的分区方式会更难以修复。在逻辑卷管理器(LVM)中排障也很困难。在这篇文章中,你将学习到如何修复逻辑卷管理器在启动时发生的问题。

  当服务器启动时,它一般会对LVM卷进行自检。不管你使用的是什么版本的Linux,自检都是用启动脚本中的pvscan命令进行的。但是尽管如此,如果有些东西没有正常工作,pvscan还是会失败,然后你就必须自己手动初始化LVM了。等你明白LVM如何工作后,这个工作就不那么麻烦了。

  LVM的底层由硬件设备组成,或者是被标记为可供LVM使用的存储设备。但是并不是每一个存储设备都是物理设备;它们……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

逻辑卷让你可以方便地管理你的服务器磁盘空间。一旦逻辑卷发生的问题相对于常用的分区方式会更难以修复。在逻辑卷管理器(LVM)中排障也很困难。在这篇文章中,你将学习到如何修复逻辑卷管理器在启动时发生的问题。

  当服务器启动时,它一般会对LVM卷进行自检。不管你使用的是什么版本的Linux,自检都是用启动脚本中的pvscan命令进行的。但是尽管如此,如果有些东西没有正常工作,pvscan还是会失败,然后你就必须自己手动初始化LVM了。等你明白LVM如何工作后,这个工作就不那么麻烦了。

  LVM的底层由硬件设备组成,或者是被标记为可供LVM使用的存储设备。但是并不是每一个存储设备都是物理设备;它们在能使用之前需要用pvcreate命令来进行初始化。当服务器启动后,它会用pvscan命令来寻找你的存储设备中所存在的LVM设备。

  LVM的第二层由卷组组成。一个卷组由一个或者多个存储设备组成。它们可以被创建为逻辑卷。在配置LVM的过程中,一个或者多个卷组一般可以通过vgcreate命令来创建。当启动时,服务器用vgscan命令来激活卷组。

  逻辑卷由卷组创建而来。文件系统则是在这些存储设备上创建而成。你可以用lvcreate命令来创建它们然后用lvscan来激活。图1显示了一个LVM的建立过程。

逻辑卷启动故障

       图1:LVM建议过程

  开始排除故障之前,请用lvdisplay命令检查你的卷。如果一切都正常,lvdisplay将会显示一个关于你的逻辑卷的概览信息。反之,它则会告诉你‘没有找到任何逻辑组’。如果返回这个信息,你必须从物理卷到逻辑卷全面检查LVM的设置,来查看到底哪里出了错误。请用以下步骤来进行故障排除:

  1. 如果你的LVM结构从来没有正常工作过,请首先让存储设备自检。如果你曾经往LVM中添加过分区,这些分区应该被标记为8e分区类型。这种情况下你可以用fdisk命令来检测:fdisk -l /dev/sda。如果它没有被设置为8e类型,请用fdisk /dev/sda命令在你的硬盘上打开fdisk。输入t,然后输入一个你想更改的分区的数量作为参数。最后,输入8e,保存设置并重启。如果问题在于错误的分区类型,那么这样操作之后将可以修复你的LVM卷。
  2. 如果你的卷还是无法工作,请用pvdisplay命令来检查存储设备是否已经被表示为LVM设备了。如果结果是否定的而你确信你曾经将它们设置为LVM设备,那么用pvscan /dev/sda命令。如果它无法显示你的物理卷,则用pvcreate /dev/sda来将你的存储设备设置为一个LVM设备。下面的表1显示了pvdisplay和pvscan命令通常会返回的结果。

  表1:使用pvscan命令初始化已经存在的物理卷

root@mel:~# pvscan /dev/md0

  PV /dev/md0   VG system   lvm2 [912.69 GB / 10.69 GB free]

  Total: 1 [912.69 GB] / in use: 1 [912.69 GB] / in no VG: 0 [0   ]

root@mel:~# pvdisplay

  --- Physical volume ---

  PV Name               /dev/md0

  VG Name               system

  PV Size               912.69 GB / not usable 1.69 MB

  Allocatable           yes

  PE Size (KByte)       4096

  Total PE              233648

  Free PE               2736

  Allocated PE          230912

  PV UUID               Z0qNiT-ZWH3-Yqfh-8jmi-jdW7-pNR4-IY6JW1

  1. 下一步是在你的服务器卷组上重复操作以上的动作。首先用vgdisplay命令查看你当天的逻辑组。如果它无法返回结果,则用vgscan命令来告诉服务器在你的存储设备上扫描逻辑组。表2显示了这些命令可能返回的结果:

  表2:用vgscan和vgdisplay命令初始化卷组

root@mel:~# vgscan

  Reading all physical volumes.  This may take a while...

  Found volume group "system" using metadata type lvm2

root@mel:~# vgdisplay

  --- Volume group ---

  VG Name                     system

  System ID

  Format                      lvm2

  Metadata Areas              1

  Metadata Sequence           No  6

  VG Access                   read/write

  VG Status                   resizable

  MAX LV                      0

  Cur LV                      5

  Open LV                     5

  Max PV                      0

  Cur PV                      1

  Act PV                      1

  VG Size                     912.69 GB

  PE Size                     4.00 MB

  Total PE                    233648

  Alloc PE / Size             230912 / 902.00 GB

  Free  PE / Size             2736 / 10.69 GB

  VG UUID                     9VeHJR-nkCX-2Ofg-3BUq-l52H-WqFW-3B2Sw7

  1. 现在物理卷和逻辑组都已经可用了,你可能仍然要扫描你的逻辑卷。首先,运行lvdisplay命令来查看它们是否已经被自动激活了。命令会自动按顺序运行:用lvscan来扫描可用的卷,lvdisplay来查看它们是否被列出。表3显示了你通过这两个命令可能会得到的结果:

  表3:用lvscan和lvdisplay命令来初始化你的逻辑卷

root@mel:~# lvscan

  ACTIVE            '/dev/system/root' [100.00 GB] inherit

  ACTIVE            '/dev/system/swap' [2.00 GB] inherit

  ACTIVE            '/dev/system/var' [100.00 GB] inherit

  ACTIVE            '/dev/system/srv' [100.00 GB] inherit

  ACTIVE            '/dev/system/clonezilla' [600.00 GB] inherit

root@mel:~# lvdisplay

  --- Logical volume ---

  LV Name                /dev/system/root

  VG Name                system

  LV UUID                C2QCPB-vtTJ-E3QN-hoZE-dfZE-cBiZ-zzO6mN

  LV Write Access        read/write

  LV Status              available

  # open                 1

  LV Size                100.00 GB

  Current LE             25600

  Segments               1

  Allocation             inherit

  Read ahead sectors     0

  Block device           254:0

  --- Logical volume ---

  LV Name                /dev/system/swap

  VG Name                system

  LV UUID                1NY8gw-TZgt-9Xxp-6FnA-2HEa-HUmv-tnqnI5

  LV Write Access        read/write

  LV Status              available

  # open                 2

  LV Size                2.00 GB

  Current LE             512

  Segments               1

  Allocation             inherit

  Read ahead sectors     0

  Block device           254:1

  --- Logical volume ---

  LV Name                /dev/system/var

  VG Name                system

  LV UUID                0yzvpN-U1uC-3Hra-7iOn-Sljz-pweh-1J8FsO

  LV Write Access        read/write

  LV Status              available

  # open                 2

  LV Size                100.00 GB

  Current LE             25600

  Segments               1

  Allocation             inherit

  Read ahead sectors     0

  Block device           254:2

  --- Logical volume ---

  LV Name                /dev/system/srv

  VG Name                system

  LV UUID                zUwbXR-7T1T-2yAJ-34Ri-FiFf-Wruc-ql5QtS

  LV Write Access        read/write

  LV Status              available

  # open                 1

  LV Size                100.00 GB

  Current LE             25600

  Segments               1

  Allocation             inherit

  Read ahead sectors     0

  Block device           254:3

  --- Logical volume ---

  LV Name                /dev/system/clonezilla

  VG Name                system

  LV UUID                zh1jLm-k3ut-UjwD-fBkh-GArt-HxII-i5342d

  LV Write Access        read/write

  LV Status              available

  # open                 1

  LV Size                600.00 GB

  Current LE             153600

  Segments               1

  Allocation             inherit

  Read ahead sectors     0

  Block device           254:4

  到此为止,你的逻辑卷应该已经可以使用了。如果还不能用的话,那问题有可能和启动过程无关了,我在下一篇文章中将会介绍这种情况的故障该如何解决。

翻译

鬼谷
鬼谷