一、前提条件
-
硬件连接:
-
PVE 服务器通过光纤 HBA 卡接入 EMC 存储(如通过 Brocade 光纤交换机)。
-
确保光纤链路已连接并能识别存储端的 LUN。
-
-
EMC 存储端设置:
-
创建好 LUN(逻辑磁盘卷)。
-
将 LUN 映射(Mapping)到 PVE 服务器的 WWN(通过 zoning/masking)。
-
-
PVE 系统准备:
-
安装 multipath 工具。
-
确保系统能识别 FC 存储。
-
1. 安装必要软件
apt update
apt install multipath-tools检查光纤设备:
lspci | grep -i fibre
你应该能看到 FC HBA,比如 Emulex、QLogic 等。没有就是没识别或者没驱动
2. 启用并配置 multipath
编辑
/etc/multipath.conf(如果不存在则创建):defaults { user_friendly_names yes find_multipaths yes }然后重启 multipath 服务:
systemctl enable multipath-tools
systemctl restart multipath-tools
查看是否发现多路径设备:
multipath -ll3. 刷新设备列表(可选)
rescan-scsi-bus -r4. 查看 LUN 是否识别
lsblk
fdisk -l
你应该能看到
/dev/mapper/mpathX或/dev/dm-X的设备。其中/dev/mapper/mpathx就是fc存储设备
比如以下几种场景:
-
EMC 存储 LUN 上已经有一个文件系统(如 ext4、xfs)
-
LUN 上已经建立 LVM(比如原来在其他服务器上用作 VG)
-
LUN 是一个 ZFS pool 成员盘
二、直接挂载已有文件系统分区(不格式化)
已有分区应该会显示/dev/mapper/mpathX-part1
lsblk /dev/mapper/mpathX查看设备和分区uuid
blkid /dev/mapper/mpathX1:确认识别 LUN
lsblk
multipath -ll
假设你发现设备是
/dev/mapper/mpatha
2:查看是否已有文件系统或结构
blkid /dev/mapper/mpatha
示例输出:
/dev/mapper/mpatha: UUID="abcd-1234" TYPE="ext4"如果是 ext4 / xfs 等普通文件系统:
3A:直接挂载已有文件系统(如ext4 / xfs)
mkdir /mnt/emc
mount /dev/mapper/mpatha /mnt/emc
✅ 注意:不要执行
mkfs!这是危险的。
3B:如果是已有的 LVM 卷组
如果
blkid没输出,可能是 LVM 结构:pvscan
vgscan
lvscan
如果你看到例如:
Found volume group "emc_vg" using metadata type lvm2
你可以激活它:
vgchange -ay emc_vg然后入查看pvs
vgsvgchange -ay
lvscan成功激活后直接在pve数据中心添加lvm存储即可如果是 ZFS pool(比如来自其他 Proxmox 或存储系统)
可以尝试导入:
zpool import
然后挂载:
zpool import -f tankname实践建议
-
永远 先用
blkid/lsblk/file -s看清楚设备内容,再决定是否 mount。 -
如果你打算在 PVE Web 界面中添加这些“已有 LVM”的存储,请选择:
-
Datacenter > Storage > Add > LVM,选择已有 VG,不要让它格式化。
-
三、没有分区就创建分区挂载(会格式化)
容量很大格式化很慢
查看当前状态(确认未分区)
lsblk /dev/mapper/mpatha
你应该看到类似:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
mpatha 253:0 0 XXXX 0 disk
如果没有
mpatha1,说明确实未分区。
② 使用parted创建一个新分区
parted /dev/mapper/mpatha
在交互模式下执行以下命令(按顺序):
mklabel gpt
mkpart primary ext4 0% 100%
quit
解释:
-
mklabel gpt:使用 GPT 分区表 -
mkpart primary ext4 0% 100%:创建一个 ext4 类型主分区,占用全部空间
③ 确认新分区已创建
lsblk /dev/mapper/mpatha
你应该会看到
mpatha1出现:NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT mpatha 253:0 0 XXXX 0 disk └─mpatha1 253:1 0 XXXX 0 part1. 确认设备存在
lsblk /dev/mapper/mpathb-part1
确保设备存在且未被挂载。
2. 格式化分区
假设你想格式化为
ext4文件系统:mkfs.ext4 /dev/mapper/mpathb-part1
注意:执行此命令会清除该分区上所有数据!请确认无误后操作。
3. 创建挂载点
mkdir -p /mnt/emc
你可以根据需要换成其他挂载目录。
4. 挂载设备
mount /dev/mapper/mpathb-part1 /mnt/emc
5. 验证挂载
df -h | grep /mnt/emc
确认设备已经挂载。
6. 配置开机自动挂载(可选)
编辑
/etc/fstab:nano /etc/fstab
添加一行:
/dev/mapper/mpathb-part1 /mnt/emc ext4 defaults 0 2
保存并退出。
创建lvm后pve添加
1. 清除旧内容(如已有分区)
wipefs -a /dev/mapper/mpathb
初始化 LVM(裸设备方式)
2.1 创建物理卷(PV):
pvcreate /dev/mapper/mpathb
2.2 创建卷组(VG),例如叫
emc_vg:vgcreate emc_vg /dev/mapper/mpathb
📐 2. 创建分区(可选,推荐裸设备方式)
如你坚持使用分区方式:
parted -s /dev/mapper/mpathb mklabel gpt mkpart primary 0% 100%
partprobe /dev/mapper/mpathb
然后设备路径就是
/dev/mapper/mpartl
📦 3. 创建 LVM(VG + PV)
注意:此处不创建逻辑卷,不格式化!
pvcreate /dev/mapper/mpathb1 # 或直接用 mpathb
vgcreate emc_vg /dev/mapper/mpathb1 # 或 mpathb
现在
emc_vg就是一个 PVE 可用的卷组。
4. 在 PVE 中添加 LVM 存储
方法一:Web 界面添加(推荐)
-
登录 Proxmox Web 界面
-
左侧点击
Datacenter→Storage→Add→LVM -
配置如下:
-
ID:
emc-lvm -
Volume group:
emc_vg(你刚刚创建的) -
Content: 勾选
Disk image和Container -
Base storage: 空着
-
点击 Add
-
添加后 PVE 会自动识别该 VG 并使用其中的空间创建 VM disk(
raw格式)。 -
-