逻辑卷让你可以方便地管理你的服务器磁盘空间。一旦逻辑卷发生的问题相对于常用的分区方式会更难以修复。在逻辑卷管理器(LVM)中排障也很困难。在这篇文章中,你将学习到如何修复逻辑卷管理器在启动时发生的问题。
当服务器启动时,它一般会对LVM卷进行自检。不管你使用的是什么版本的Linux,自检都是用启动脚本中的pvscan命令进行的。但是尽管如此,如果有些东西没有正常工作,pvscan还是会失败,然后你就必须自己手动初始化LVM了。等你明白LVM如何工作后,这个工作就不那么麻烦了。
LVM的底层由硬件设备组成,或者是被标记为可供LVM使用的存储设备。但是并不是每一个存储设备都是物理设备;它们……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属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的设置,来查看到底哪里出了错误。请用以下步骤来进行故障排除:
- 如果你的LVM结构从来没有正常工作过,请首先让存储设备自检。如果你曾经往LVM中添加过分区,这些分区应该被标记为8e分区类型。这种情况下你可以用fdisk命令来检测:fdisk -l /dev/sda。如果它没有被设置为8e类型,请用fdisk /dev/sda命令在你的硬盘上打开fdisk。输入t,然后输入一个你想更改的分区的数量作为参数。最后,输入8e,保存设置并重启。如果问题在于错误的分区类型,那么这样操作之后将可以修复你的LVM卷。
- 如果你的卷还是无法工作,请用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
- 下一步是在你的服务器卷组上重复操作以上的动作。首先用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
- 现在物理卷和逻辑组都已经可用了,你可能仍然要扫描你的逻辑卷。首先,运行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
到此为止,你的逻辑卷应该已经可以使用了。如果还不能用的话,那问题有可能和启动过程无关了,我在下一篇文章中将会介绍这种情况的故障该如何解决。