1. 程式人生 > >快閃記憶體卡被建立pv報錯

快閃記憶體卡被建立pv報錯

背景:某機器有2塊快閃記憶體卡,利用LVM,將其掛載到一個目錄供測試使用; 之前廠商已經安裝了快閃記憶體卡對應的驅動,fdisk可以看到快閃記憶體卡資訊,但是在pvcreate建立時,遭遇如下錯誤:

# pvcreate /dev/dfa 
  Device /dev/dfa not found (or ignored by filtering).
# pvcreate /dev/dfb
  Device /dev/dfb not found (or ignored by filtering).

fdisk -l可以看到這兩塊快閃記憶體卡的資訊,使用shannon-status -a也可以正常看到狀態資訊。 這初步說明驅動的安裝應該沒有問題。

從報錯資訊看有可能是設定了filter,而檢查lvm的配置檔案/etc/lvm/lvm.conf中並沒有配置任何有效filter的內容。

最終解決: 在/etc/lvm/lvm.conf中有設定 types,語法沒來及細查,直接仿照示例配置嘗試新增寶存的快閃記憶體卡資訊;

# types = [ "fd", 16 ]
types = [ "fd", 16 , "shannon", 252]

這裡的252這個數字是通過檢視/proc/devices資訊獲得:

# cat /proc/devices |grep shan
252 shannon

再次嘗試建立pv成功:

--1.建立pv
# pvcreate /dev/dfa 
  Physical volume "/dev/dfa" successfully created
# pvcreate /dev/dfb
  Physical volume "/dev/dfb" successfully created

然後建立vg,lv,格式化,掛載這一系列操作就都很順利了:

--2.建立vg
vgcreate vg_oracle /dev/dfa /dev/dfb
vgdisplay --查到 1525878 Free PE 

--3.建立lv
lvcreate -l 1525878 -n lv_oracle vg_oracle 

--檢視lv資訊
# lvs
  LV            VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  LogVol_oracle VolGroup  -wi-ao---- 100.00g                                                    
  LogVol_root   VolGroup  -wi-ao---- 100.00g                                                    
  lv_oracle     vg_oracle -wi-a-----   5.82t 

--4.格式化lv
mkfs.ext4 /dev/vg_oracle/lv_oracle

--5.掛載目錄使用
# mkdir /xtts

# /etc/fstab新增:
/dev/vg_oracle/lv_oracle        /xtts           ext4    defaults        0 0

# mount -a

--檢視成功掛載的目錄
# df -h /xtts
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_oracle-lv_oracle
                      5.8T   56M  5.5T   1% /xtts

其實事後思考,認為types中只新增寶存的應該就可以了,因為之前的示例本就是註釋掉的,不過這個尚未測試,直覺是可行的:

types = [ "shannon", 252 ]

總結:這個問題本質是個很小的知識點,只是之前從未遇到,相信隨著快閃記憶體卡的普及,應該也會給很多新人帶來困惑,因此記錄一下。