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

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

一、在线解决

1、通过lvscan查看lv信息

 代码如下 复制代码
111cn.net:~ # lvscan inactive '/dev/vgteas/lvteasdata' [2.72 TiB] inherit

发现lv信息是inactive状态。

2、通过vgchange激活卷组并重启挂载

 代码如下 复制代码
111cn.net:~ # vgchange -a y vgteas
1 logical volume(s) in volume group "vgteas" now active
111cn.net:~ # df -hP
Filesystem Size Used Avail Use% Mounted on
/dev/cciss/c0d0p5 40G 920M 37G 3% /
udev 63G 188K 63G 1% /dev
tmpfs 63G 72K 63G 1% /dev/shm
/dev/cciss/c0d0p1 9.9G 186M 9.2G 2% /boot
/dev/cciss/c0d0p9 38G 9.9G 26G 28% /home
/dev/cciss/c0d0p12 259G 772M 245G 1% /onip/teastore
/dev/cciss/c0d0p11 99G 1.2G 93G 2% /teasredo
111cn.net:~ # mount -a
111cn.net:~ # df -hP
Filesystem Size Used Avail Use% Mounted on
/dev/cciss/c0d0p5 40G 920M 37G 3% /
udev 63G 188K 63G 1% /dev
tmpfs 63G 72K 63G 1% /dev/shm
/dev/cciss/c0d0p1 9.9G 186M 9.2G 2% /boot
/dev/cciss/c0d0p9 38G 9.9G 26G 28% /home
/dev/cciss/c0d0p12 259G 772M 245G 1% /onip/teastore
/dev/cciss/c0d0p11 99G 1.2G 93G 2% /teasredo
/dev/mapper/vgteas-lvteasdata 2.7T 202M 2.6T 1% /teasdata

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

二、规避方法

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

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

1、查看boot.lvm服务的是否默认随系统load

 代码如下 复制代码
111cn.net:~ # /etc/init.d/boot.lvm status
                                            unknown
111cn.net:~ # chkconfig --list|grep lvm
lvm_wait_merge_snapshot   0:off  1:on   2:off  3:off  4:off  5:off  6:off  S:on

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

2、设置boot.lvm服务开机自启动

 代码如下 复制代码
111cn.net:~ # chkconfig boot.lvm
boot.lvm  off
111cn.net:~ # chkconfig  boot.lvm on

 
3、启动boot.lvm服务

 代码如下 复制代码
111cn.net:~ # /etc/init.d/boot.lvm start
Waiting for udev to settle...
Scanning for LVM volume groups...
  Reading all physical volumes.  This may take a while...
  Found volume group "vgteas" using metadata type lvm2
Activating LVM volume groups...
  PARTIAL MODE. Incomplete logical volumes will be processed.
  1 logical volume(s) in volume group "vgteas" now active
                                                                     done

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

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

 代码如下 复制代码
111cn.net:~ # ls /etc/rc.d/boot.d
K01boot.compliance  K01boot.klog         K01boot.udev_retry   K04boot.localfs        S02boot.rootfsck       S13boot.fuse         S14boot.ldconfig  S17boot.kdump
K01boot.cycle       K01boot.ldconfig     K02boot.cleanup      K06boot.rootfsck       S03boot.clock          S13boot.klog         S14boot.quota
K01boot.debugfs     K01boot.lvm_monitor  K02boot.clock        K08boot.device-mapper  S04boot.device-mapper  S13boot.lvm_monitor  S14boot.sysctl
K01boot.efivars     K01boot.proc         K02boot.loadmodules  K09boot.udev           S04boot.loadmodules    S13boot.proc         S15boot.cleanup
K01boot.fuse        K01boot.quota        K02boot.localnet     S01boot.debugfs        S10boot.localfs        S13boot.scpm         S15boot.ipconfig
K01boot.ipconfig    K01boot.scpm         K02boot.swap         S01boot.efivars        S12boot.compliance     S13boot.swap         S16boot.apparmor
K01boot.kdump       K01boot.sysctl       K03boot.apparmor     S01boot.udev           S13boot.cycle          S13boot.udev_retry   S16boot.localnet
 

(2)修改lvm 的默认配置文件

以下是lvm配置文件的默认配置

 代码如下 复制代码
111cn.net:~ # cat /etc/sysconfig/lvm
## Path:        System/File systems/LVM
## Description: LVM configuration
## Type:        string
## Default:     ""
#
# This variable allows to only activate the LVM volume groups listed at
# bootup. If it is empty, all LVM volume groups are activated at bootup.
# This variable needs setting only under very special circumstances.
# For almost all standard LVM installations it can safely stay empty.
#
LVM_VGS_ACTIVATED_ON_BOOT=""
## Path:    System/File systems/LVM
## Description: LVM configuration
## Type:    string
## Default: "disable"
#
# This variable allows newly discovered VG to be activated automatically
# via udev rules. Set to "enable" to turn this feature on.
#
LVM_ACTIVATED_ON_DISCOVERED="disable"

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

 代码如下 复制代码
111cn.net:~ # sed -i 's/LVM_ACTIVATED_ON_DISCOVERED="disable"/LVM_ACTIVATED_ON_DISCOVERED="enable"/g' /etc/sysconfig/lvm

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

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

情况1 :uuid重复

Problem(Abstract)
If a disk with Logical Volume Manager (LVM) on it is mounted to the original machine with the same disk, one or more duplicate Universal Unique Identifiers (UUID) are created
具体可以参看ibm站点上的技术文章,该问题貌似是redhat5等一些版本上存在的一个bug。

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

The system is not installed through the defualt installer, instead bootstrapped
through zypper and then installed additional patterns through YaST and might be
the cause the LVM not loading;

具体参看opensuse上的文档。

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

时间: 2024-09-22 23:10:12

linux中LVM分区重启后变为inactive问题解决办法的相关文章

centos中时间修改后重启后无效的问题解决办法

Linux的时间有两种,一是系统时间,另外是硬件时间(BIOS时间). 系统每次启动时会读出BIOS时间,将之赋给系统时间.之后系统时间将独立运行,而BIOS时间不会变化. 在BIOS时间中,有两种表示形式.一种是以localtime表示的,一种是以UTC表示的.具体查看的方式可以通过hwclock –debug,该命令可以输出当前硬件时间的表示形式. 安装完centos后,发现时间与本地时间不匹配,在网上找了好多的办法,但是一直没有奏效,重启之后,又恢复为原来的时间.很是纳闷.最后抱着试一试的

linux中Pureftpd提示553与530错误问题解决办法

一,Pureftpd提示553错误 lnmp安装pureftpd成功后,ftp连接提示以下错误: 碰到这种错误我们可以尝试重启pureftpd来看看可以解决不  代码如下 复制代码 1.重启Pureftpd /root/pureftpd restart 2.在stopping Pure-FTPd中发现那么一句话 cat: /var/run/pure-ftpd.pid: No such file or directory (据说是一个脚本错误) 3.再用命令检查Pureftpd的进程: ps -e

Linux中svn提交文件后自动同步更新到网站目录

 下面来为各位介绍Linux中svn提交文件后自动同步更新到网站目录希望文章对各位有帮助.     有时,对于多文件需要上传到服务器的时候将会很麻烦,但是如果使用svn的钩子脚本就容易实现本地提交svn后,自动同步代码文件到远程服务器的网站目录下,而不必手动上传了. 首先,在网站目录下checkout代码,例如我的目录是/data/www/test svn co https://127.0.0.1/test/trunk/ /data/www/test/ 注意,这是因为有时我会在服务器上直接修改代

Linux中fdisk分区使用方法

实例解说Linux中fdisk分区使用方法 一.fdisk 的介绍 fdisk - Partition table manipulator for Linux ,译成中文的意思是磁盘分区表操作工具:本人译的不太好,也没有看中文文档:其实就是分区工具. fdsik 能划分磁盘成为若干个区,同时也能为每个分区指定分区的文件系统,比如linux .fat32. linux .linux swap .fat16 以及其实类Unix类操作系统的文件系统等:当然我们用fdisk 对磁盘操作分区时,并不是一个

Node.js中AES加密和其它语言不一致问题解决办法

 这篇文章主要介绍了Node.js中AES加密和其它语言不一致问题解决办法,例如和C#.JAVA语言相互通信时,需要的朋友可以参考下 例子一:   这几天被一个问题困扰着.Nodejs的AES加密和Java,C#加密出来的不一致.当然,这样就不能解密了.纠结了许久:后来还是实在不行了,看了下源代码,要不然还得继续纠结下去.网上说,通常的nodejs AES和其他语言实现不一样.好吧~~或许吧. nodejs的crypto模块.    代码如下: var crypto = require('cry

linux下php添加zlib后页面乱码解决办法

在linux下php添加zlib后页面乱码的解决办法 原因: 在php.ini中 如果zlib.output_compression = On,那在程序中不就要再使用gzencode()压缩,不然就会呈现乱码. 解决办法: zlib.output_compression = Off 重启apache即可. zlib安装 1. 下载安装zlib http://www.gzip.org/zlib/ 解压tar包,进入目录执行命令: 1 ./configure && make &&

linux中mysql不能 REPAIR TABLE修复表解决办法

REPAIR TABLE语法 REPAIR TABLE `table_name` 修复表 REPAIR TABLE 用于修复被破坏的表 在linux中使用 REPAIR TABLE `table_name` pre_forum_thread 提示 xt.pre_forum_thread repair error 1 when fixing table xt.pre_forum_thread repair Error Can't change ownership of the file '/usr

mount --bind 重启后失效的解决办法

vsftp不支持软链接,可以用mount来支持不同的目录结构 mount --bind /home/www/web/ROOT/img/upload /ftp/private/upload 重启后失效. 解决办法: 编辑fstab,重启后自动mount vi /etc/fstab /home/www/web/ROOT/img/upload /ftp/private/upload none bind 0 0  

Linux中LVM的综合性介绍及实现

1 LVM: 是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性. DM逻辑设备介绍 1.1 卷组(Voume  Group):多个物理卷组成的一个组,它是个组合,不能直接使用,要想使用组合后的空间需要创建逻辑卷:VG大小取决与物理卷,VG中可以划分多个逻辑卷(可以动态缩展) 1.2  逻辑卷:可以是卷组所有可用空间,是真正意义上的动态缩减设备,本身有两种边界,一个是物理边界,一个是逻辑边界:也可以说每个逻辑卷就是个文件系统,或者