上次和大家介绍了如何在超微X11SSH-F主板上安装PVE虚拟平台的方法,整个流程还是比较简单的,今天和大家分享一下如何在PVE中的VM虚机内安装OMV管理存储。
在 Proxmox VE (PVE) 中,VM (Virtual Machine) 是基于完全虚拟化的技术,通常使用 KVM (Kernel-based Virtual Machine) 来提供虚拟机功能。PVE 的虚拟机特点和优点使其成为一款功能强大、灵活的虚拟化解决方案。
PVE 中 VM 的特点
完全虚拟化:
使用 KVM 技术,能够虚拟化几乎所有操作系统,包括 Linux、Windows、BSD 和其他非 Linux 系统。
每个 VM 包含完整的虚拟硬件(CPU、内存、硬盘、网络等),与宿主机完全隔离。
硬件隔离:
每个 VM 运行在自己独立的环境中,与宿主机和其他 VM 隔离,提供高安全性和稳定性。
支持 PCIe 直通 (PCIe Passthrough),可以直接访问宿主机硬件资源(如 GPU、网卡等)。
灵活的资源分配:
支持动态调整 CPU 核心数、内存大小、磁盘空间等,便于优化资源利用率。
提供 CPU 限制、内存上限等机制,防止单个 VM 占用过多资源。
多种存储支持:
支持多种存储后端,包括 ZFS、Ceph、NFS、iSCSI 等,适用于不同的性能和高可用需求。
VM 磁盘可以存储为 QCOW2 或 RAW 格式,支持快照和精简分配。
强大的网络功能:
支持多种网络配置,包括 NAT、桥接和 VLAN。
提供虚拟交换机功能,支持复杂的网络拓扑。
高性能:
利用 KVM 的硬件加速技术(如 Intel VT-x 和 AMD-V),提供接近原生的性能。
支持 VirtIO 驱动程序,进一步优化磁盘和网络性能。
快照和备份:
VM 支持在线快照,便于快速备份和恢复。
支持增量备份,降低备份时间和存储空间。
多种操作系统支持:
可以运行多种类型的操作系统,包括 Windows、Linux 发行版(如 Ubuntu、Debian、CentOS)、macOS(需配置特殊补丁)等。
集群支持:
PVE 支持多节点集群,VM 可以在集群中迁移,实现高可用性(HA)和负载均衡。
易于管理:
提供图形化 Web 界面,用户可以方便地创建、启动、停止、迁移和克隆虚拟机。
支持命令行工具和 API,便于自动化管理
安装OMV
首先从OMV的官网地址下载iso镜像文件,目前最新的OMV版本为7.0。
可以自行浏览器下载拷贝到镜像目录中,也可以点击PVE的local存储->ISO Images,直接填入地址下载。
下载完成后即可在VM里调用。
然后根据实际情况选择内存、CPU、磁盘的大小,注意这里的硬盘仅是用于作为OMV的系统盘,实际作为存储的硬盘我们将在稍后利用硬盘直通调用。
然后启动虚机。
调用ISO即可在VM里安装OMV,全图形化界面。
注意这里GRUB安装在/dev/vda中。
等待安装完成。
设置硬盘直通
我这里有一块10T的SAS硬盘通过直通卡连接到了超微主板上,理论上直通卡+SAS硬盘的组合可以比直连SATA硬盘带来更快的传输带宽和速度。
用lsblk查看当前硬盘和分区,这里sda就是那块SAS硬盘设备。
然后用parted命令对硬盘进行格式化分区操作。
再用lsblk命令可见多了一个sda1的分区。
使用以下命令查看硬盘的id。
ls -al /dev/disk/by-id/
我这里需要的就是第一行中的数据scsi-xxxxxxxxxxxxxxxxxx。
硬盘直通命令行如下:
qm set [VM-ID] --virtio[num]/sata[num] [disk-path]
根据实际情况我的命令应该为:
qm set 100 --virtio1 /dev/disk/by-id/scsi-xxxxxxxxxxxxxxx
因为我的VM的ID是100。
配置OMV
浏览器访问OMV的IP地址,登录名admin,密码openmediavault。
在OMV的存储器->磁盘内可以看到直通的硬盘/dev/vdb。
创建文件系统。
创建好的文件系统如下:
创建共享文件夹:
然后可选创建新的存储用户。
启用SMB服务。
以及启用的共享文件夹。
至此,局域网里可以挂载SMB访问文件。
至于读写速度嘛,比原来开发板+USB存储的OMV速度差不多,我的古旧工作站的无线网络下写速度大概20MB/s左右,大概网卡确实比较差。
那么问题来了,有没有必要在PVE里利用虚拟机架设OMV呢?
我仔细想了下,这完全就是脱裤子放屁啊!!!
因为PVE本来就是Debian12的内核,完全可以直接设置Samba存储,为什么要创建一个虚机作为OMV主机呢?
而且因为是PVE宿主机硬盘直通到虚机OMV里,所以OMV里不能读取到硬盘的健康状态,OMV的存储管理功能也是阉割的。
于是说干就干,把所有设置清零。
格式化SAS硬盘,创建ext4分区。
mkfs.ext4 /dev/sda
创建挂载点:
mount /dev/sda /mnt/sm-nas
设置自动挂载:
blkid /dev/sda
得到输出:/dev/sda: UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" TYPE="ext4"
在/etc/fstab的文件尾添加
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/sm-nas ext4 defaults 0 2
安装samba服务:
apt-get update
apt-get install samba
在/etc/samba/smb.conf的最后添加新的共享文件夹的信息。
创建文件夹,并赋予权限。
mkdir -p /mnt/sm-nas
chmod 777 /mnt/sm-nas
若有需要,也可以添加samba用户。
smbpasswd -a your_username
因为我有很多视频文件要复制到新的samba存储上,可以用rsync来复制,比Windows系统里拷贝速度快了很多。
rsync -ah --progress /mnt/source/resources/ /mnt/sm-nas
后来发现子文件夹内无法写入,记得修改权限时加入-R递归处理。
chmod -R 777 /mnt/sm-nas
chown -R nobody:nogroup /mnt/sm-nas
做了这些操作之后,再次尝试了一下文件读写,写速度达到了35MB/s。
看来PVE虚机即使做了硬盘直通,但是毕竟做了分层隔离,对于读写速度还是有较大的影响。
还是直接在PVE的宿主机做Samba或者NFS文件系统更合适一些。
本文来自:什么值得买