闪存卡被创建pv报错

时间:2024-05-10 19:06:02

背景:某机器有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 ]

总结:这个问题本质是个很小的知识点,只是之前从未遇到,相信随着闪存卡的普及,应该也会给很多新人带来困惑,因此记录一下。