linux中LVM分區重啟後變為inactive問題解決辦法

來源:互聯網
上載者:User

今天工程側的兄弟反饋一個問題,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這個參考頁上最後部分想表示的意思。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.