linux中LVM分区重启后变为inactive问题解决办法

萧红SEO SEO爱好者,分享SEO经验~

今天工程侧的兄弟反馈一个问题,LVM分区在安装完成重启后发现无法挂载和识别,主机环境为slse11 sp3,通过查看和处理,现在将结果记录下.

一、在线解决

1、通过lvscan查看lv信息,代码如下:

phpfensi.com:~ # lvscan inactive '/dev/vgteas/lvteasdata' [2.72 TiB] inherit

发现lv信息是inactive状态.

2、通过vgchange激活卷组并重启挂载,代码如下:

  1. phpfensi.com:~#vgchange-ayvgteas
  2. 1logicalvolume(s)involumegroup"vgteas"nowactive
  3. phpfensi.com:~#df-hP
  4. FilesystemSizeUsedAvailUse%Mountedon
  5. /dev/cciss/c0d0p540G920M37G3%/
  6. udev63G188K63G1%/dev
  7. tmpfs63G72K63G1%/dev/shm
  8. /dev/cciss/c0d0p19.9G186M9.2G2%/boot
  9. /dev/cciss/c0d0p938G9.9G26G28%/home
  10. /dev/cciss/c0d0p12259G772M245G1%/onip/teastore
  11. /dev/cciss/c0d0p1199G1.2G93G2%/teasredo
  12. phpfensi.com:~#mount-a
  13. phpfensi.com:~#df-hP
  14. FilesystemSizeUsedAvailUse%Mountedon
  15. /dev/cciss/c0d0p540G920M37G3%/
  16. udev63G188K63G1%/dev
  17. tmpfs63G72K63G1%/dev/shm
  18. /dev/cciss/c0d0p19.9G186M9.2G2%/boot
  19. /dev/cciss/c0d0p938G9.9G26G28%/home
  20. /dev/cciss/c0d0p12259G772M245G1%/onip/teastore
  21. /dev/cciss/c0d0p1199G1.2G93G2%/teasredo
  22. /dev/mapper/vgteas-lvteasdata2.7T202M2.6T1%/teasdata

发现分区可以重新挂上了.

二、规避方法

(1)设置boot.lvm开机自启动

LVM is "inactive" on first reboot after installation,避免该问题重现,可以从以下两方法如手.

1、查看boot.lvm服务的是否默认随系统load,代码如下:

  1. phpfensi.com:~#/etc/init.d/boot.lvmstatus
  2. unknown
  3. phpfensi.com:~#chkconfig--list|greplvm
  4. lvm_wait_merge_snapshot0:off1:on2:off3:off4:off5:off6:offS:on

看到状态是unknow,也就是没有随机启动,这里需要注意的是直接chkconfig --list是无法直接查看到boot.lvm服务的.

2、设置boot.lvm服务开机自启动,代码如下:

  1. phpfensi.com:~#chkconfigboot.lvm
  2. boot.lvmoff
  3. phpfensi.com:~#chkconfigboot.lvmon

3、启动boot.lvm服务,代码如下:

  1. phpfensi.com:~#/etc/init.d/boot.lvmstart
  2. Waitingforudevtosettle...
  3. ScanningforLVMvolumegroups...
  4. Readingallphysicalvolumes.Thismaytakeawhile...
  5. Foundvolumegroup"vgteas"usingmetadatatypelvm2
  6. ActivatingLVMvolumegroups...
  7. PARTIALMODE.Incompletelogicalvolumeswillbeprocessed.
  8. 1logicalvolume(s)involumegroup"vgteas"nowactive
  9. done

启动后可以发现,这里自动发现了vgteas卷组.

4、同redhat略有不同的是,在suse下有一部分服务在rcx.d(x为0-6)运行级别下没有一些系统相关的服务,这部分服务在/etc/init.d目录下可以找到,不过其控制是否开机加载是在/etc/init.d/boot.d 目录下的,代码如下:

  1. phpfensi.com:~#ls/etc/rc.d/boot.d
  2. K01boot.complianceK01boot.klogK01boot.udev_retryK04boot.localfsS02boot.rootfsckS13boot.fuseS14boot.ldconfigS17boot.kdump
  3. K01boot.cycleK01boot.ldconfigK02boot.cleanupK06boot.rootfsckS03boot.clockS13boot.klogS14boot.quota
  4. K01boot.debugfsK01boot.lvm_monitorK02boot.clockK08boot.device-mapperS04boot.device-mapperS13boot.lvm_monitorS14boot.sysctl
  5. K01boot.efivarsK01boot.procK02boot.loadmodulesK09boot.udevS04boot.loadmodulesS13boot.procS15boot.cleanup
  6. K01boot.fuseK01boot.quotaK02boot.localnetS01boot.debugfsS10boot.localfsS13boot.scpmS15boot.ipconfig
  7. K01boot.ipconfigK01boot.scpmK02boot.swapS01boot.efivarsS12boot.complianceS13boot.swapS16boot.apparmor
  8. K01boot.kdumpK01boot.sysctlK03boot.apparmorS01boot.udevS13boot.cycleS13boot.udev_retryS16boot.localnet

(2),修改lvm 的默认配置文件,以下是lvm配置文件的默认配置,代码如下:

  1. phpfensi.com:~#cat/etc/sysconfig/lvm
  2. ##Path:System/Filesystems/LVM
  3. ##Description:LVMconfiguration
  4. ##Type:string
  5. ##Default:""
  6. #
  7. #ThisvariableallowstoonlyactivatetheLVMvolumegroupslistedat
  8. #bootup.Ifitisempty,allLVMvolumegroupsareactivatedatbootup.
  9. #Thisvariableneedssettingonlyunderveryspecialcircumstances.
  10. #ForalmostallstandardLVMinstallationsitcansafelystayempty.
  11. #
  12. LVM_VGS_ACTIVATED_ON_BOOT=""
  13. ##Path:System/Filesystems/LVM
  14. ##Description:LVMconfiguration
  15. ##Type:string
  16. ##Default:"disable"
  17. #
  18. #ThisvariableallowsnewlydiscoveredVGtobeactivatedautomatically
  19. #viaudevrules.Setto"enable"toturnthisfeatureon.
  20. #
  21. LVM_ACTIVATED_ON_DISCOVERED="disable"

从上面的注释说明来看,第二个参数设置成enable可以自动发现一些新创建的lvm分区并设置为active状态,这里将上面的disable改为enable,代码如下:

  1. phpfensi.com:~#sed-i's/LVM_ACTIVATED_ON_DISCOVERED="disable"/LVM_ACTIVATED_ON_DISCOVERED="enable"/g'/etc/sysconfig/lvm

三、其他可能的原因及参考

在网上也查到一些其他原因可能会引起以上的情况出现.

情况1:uuid重复.

  1. Problem(Abstract)
  2. IfadiskwithLogicalVolumeManager(LVM)onitismountedtotheoriginalmachinewiththesamedisk,oneormoreduplicateUniversalUniqueIdentifiers(UUID)arecreated

具体可以参看ibm站点上的技术文章,该问题貌似是redhat5等一些版本上存在的一个bug.

情况2:安装时未使用默认安装,导致未开机加载.

  1. Thesystemisnotinstalledthroughthedefualtinstaller,insteadbootstrapped
  2. throughzypperandtheninstalledadditionalpatternsthroughYaSTandmightbe
  3. thecausetheLVMnotloading;

具体参看opensuse上的文档,这里的情况2,个人理解应该就是由于boot.lvm服务未开机自启动的原因,由于水平有限,并未能理解opensuse这个参考页上最后部分想表示的意思.

相关广告
  • linux中LVM分区重启后变为inactive问题解决办法 linux中LVM分区重启后变为inactive问题解决办法 linux中LVM分区重启后变为inactive问题解决办法
相关阅读

linux中LVM分区重启后变为inactive问题解决办法

2019/10/10 17:45:57 | 谷歌SEO算法 | 人工智能卓医