linux lvm逻辑卷命令失效
今天工程侧的兄弟反馈一个问题,LVM分区在安装完成重启后发现无法挂载和识别,主机环境为slse11 sp3。通过查看和处理,现在将结果记录下。
一、在线解决
1、通过lvscan查看lv信息
361way.com:~ # lvscan inactive
‘/dev/vgteas/lvteasdata’ [2.72 TiB] inherit
发现lv信息是inactive状态。
2、通过vgchange激活卷组并重启挂载
1361way.com:~ # vgchange -a y vgteas
21 logical volume(s) in volume group "vgteas" now active
3361way.com:~ # df -hP
4Filesystem Size Used Avail Use% Mounted on
5/dev/cciss/c0d0p5 40G 920M 37G 3% /
6udev 63G 188K 63G 1% /dev
7tmpfs 63G 72K 63G 1% /dev/shm
8/dev/cciss/c0d0p1 9.9G 186M 9.2G 2% /boot
9/dev/cciss/c0d0p9 38G 9.9G 26G 28% /home
10/dev/cciss/c0d0p12 259G 772M 245G 1% /onip/teastore
11/dev/cciss/c0d0p11 99G 1.2G 93G 2% /teasredo
12361way.com:~ # mount -a
13361way.com:~ # df -hP
14Filesystem Size Used Avail Use% Mounted on
15/dev/cciss/c0d0p5 40G 920M 37G 3% /
16udev 63G 188K 63G 1% /dev
17tmpfs 63G 72K 63G 1% /dev/shm
18/dev/cciss/c0d0p1 9.9G 186M 9.2G 2% /boot
19/dev/cciss/c0d0p9 38G 9.9G 26G 28% /home
20/dev/cciss/c0d0p12 259G 772M 245G 1% /onip/teastore
21/dev/cciss/c0d0p11 99G 1.2G 93G 2% /teasredo
22/dev/mapper/vgteas-lvteasdata 2.7T 202M 2.6T 1% /teasdata
发现分区可以重新挂上了。
二、规避方法
a. 设置boot.lvm开机自启动
LVM is “inactive” on first reboot after installation ,避免该问题重现,可以从以下两方法如手:
1、 查看boot.lvm服务的是否默认随系统load
1361way.com:~ # /etc/init.d/boot.lvm status
2unknown
3361way.com:~ # chkconfig --list|grep lvm
4lvm_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服务开机自启动
1361way.com:~ # chkconfig boot.lvm
2boot.lvm off
3361way.com:~ # chkconfig boot.lvm on
3、启动boot.lvm服务
1361way.com:~ # /etc/init.d/boot.lvm start
2Waiting for udev to settle...
3Scanning for LVM volume groups...
4 Reading all physical volumes. This may take a while...
5 Found volume group "vgteas" using metadata type lvm2
6Activating LVM volume groups...
7 PARTIAL MODE. Incomplete logical volumes will be processed.
8 1 logical volume(s) in volume group "vgteas" now active
9done
启动后可以发现,这里自动发现了vgteas卷组。
同redhat略有不同的是,在suse下有一部分服务在rcx.d(x为0-6)运行级别下没有一些系统相关的服务。这部分服务在/etc/init.d目录下可以找到,不过其控制是否开机加载是在/etc/init.d/boot.d 目录下的。
1361way.com:~ # ls /etc/rc.d/boot.d
2K01boot.compliance K01boot.klog K01boot.udev_retry K04boot.localfs S02boot.rootfsck S13boot.fuse S14boot.ldconfig S17boot.kdump
3K01boot.cycle K01boot.ldconfig K02boot.cleanup K06boot.rootfsck S03boot.clock S13boot.klog S14boot.quota
4K01boot.debugfs K01boot.lvm_monitor K02boot.clock K08boot.device-mapper S04boot.device-mapper S13boot.lvm_monitor S14boot.sysctl
5K01boot.efivars K01boot.proc K02boot.loadmodules K09boot.udev S04boot.loadmodules S13boot.proc S15boot.cleanup
6K01boot.fuse K01boot.quota K02boot.localnet S01boot.debugfs S10boot.localfs S13boot.scpm S15boot.ipconfig
7K01boot.ipconfig K01boot.scpm K02boot.swap S01boot.efivars S12boot.compliance S13boot.swap S16boot.apparmor
8K01boot.kdump K01boot.sysctl K03boot.apparmor S01boot.udev S13boot.cycle S13boot.udev_retry S16boot.localnet
b. 修改lvm 的默认配置文件
以下是lvm配置文件的默认配置
1361way.com:~ # cat /etc/sysconfig/lvm
2## Path: System/File systems/LVM
3## Description: LVM configuration
4## Type: string
5## Default: ""
6#
7# This variable allows to only activate the LVM volume groups listed at
8# bootup. If it is empty, all LVM volume groups are activated at bootup.
9# This variable needs setting only under very special circumstances.
10# For almost all standard LVM installations it can safely stay empty.
11#
12LVM_VGS_ACTIVATED_ON_BOOT=""
13## Path: System/File systems/LVM
14## Description: LVM configuration
15## Type: string
16## Default: "disable"
17#
18# This variable allows newly discovered VG to be activated automatically
19# via udev rules. Set to "enable" to turn this feature on.
20#
21LVM_ACTIVATED_ON_DISCOVERED="disable"
从上面的注释说明来看,第二个参数设置成enable可以自动发现一些新创建的lvm分区并设置为active状态 ,这里将上面的disable改为enable 。
1361way.com:~ # 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这个参考页上最后部分想表示的意思。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/lvm-reboot-inactive/3998.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.