PiKVM项目中的Mass Storage Drive功能详解

PiKVM项目中的Mass Storage Drive功能详解

pikvm Open and inexpensive DIY IP-KVM based on Raspberry Pi pikvm 项目地址: https://gitcode.com/gh_mirrors/pi/pikvm

概述

PiKVM的Mass Storage Drive(MSD)功能是一项强大的虚拟存储设备模拟技术,适用于所有PiKVM V2及以上版本的设备。该功能允许PiKVM为目标主机模拟虚拟CD/DVD或闪存驱动器,即使在BIOS/UEFI环境下也能使用,非常适合系统恢复或重装操作系统的场景。

功能特性

PiKVM的MSD功能提供以下核心能力:

  1. 多格式支持:可模拟CD/DVD或Flash Drive两种存储设备类型
  2. 远程管理:通过Web界面完成镜像上传、下载和连接管理
  3. 写入支持:Flash Drive模式下可允许目标主机写入数据
  4. 兼容性强:支持在BIOS/UEFI环境下使用

使用指南

基本操作流程

  1. 通过Web界面的"Drive"菜单上传镜像文件
  2. 选择需要连接的镜像
  3. 设置设备类型(CD/DVD或Flash)和写入模式
  4. 连接设备到目标主机
  5. 使用完成后断开连接

重要安全提示

  • 镜像上传过程中或目标主机以写入模式连接时,切勿切断PiKVM电源
  • 其他情况下断电是安全的,因为PiKVM文件系统默认处于只读模式

设备类型切换注意事项

设备类型(CD/DVD与Flash)的切换需要重新连接设备才能生效:

  • PiKVM V3/V4:使用Web UI中的"System -> Connect main USB"开关
  • 其他版本:需要重启目标主机或重新初始化驱动器

高级应用

手动上传镜像

PiKVM将镜像存储在专门的内存卡分区中,路径为/var/lib/kvmd/msd。该分区通常为只读模式,会在需要时自动重新挂载为可写模式。

手动上传步骤:

  1. 将内部存储重新挂载为读写模式:

    kvmd-helper-otgmsd-remount rw
    
  2. 使用scp等工具上传镜像到/var/lib/kvmd/msd

  3. 将内部存储恢复为只读模式:

    kvmd-helper-otgmsd-remount ro
    

可写闪存驱动器配置

要创建可写的Flash Drive镜像,需要预先准备文件系统镜像:

在PiKVM上创建FAT32镜像
  1. 创建空白镜像文件:

    dd if=/dev/zero of=/var/lib/kvmd/msd/flash.img bs=1M count=512 status=progress
    
  2. 分区并格式化为FAT32:

    loop=$(losetup -f)
    echo -e 'o\nn\np\n1\n\n\nt\nc\nw\n' | fdisk /var/lib/kvmd/msd/flash.img
    losetup -P $loop /var/lib/kvmd/msd/flash.img
    mkfs.vfat ${loop}p1
    losetup -d $loop
    chmod 666 /var/lib/kvmd/msd/flash.img
    
在macOS上创建镜像
  1. 使用"磁盘工具"创建新镜像
  2. 设置格式为"MS-DOS(FAT)",分区为"主引导记录"
  3. 保存后将.dmg重命名为.img
  4. 上传到PiKVM

使用时可启用"Writable"选项,目标主机写入的文件可在断开连接后下载镜像获取。

网络存储集成

NFS存储配置

  1. 安装NFS客户端工具:

    pacman -S nfs-utils
    
  2. 创建挂载点:

    mkdir -p /var/lib/kvmd/msd/NFS_Primary
    
  3. 编辑/etc/fstab添加NFS共享:

    server:/srv/nfs/NFS_Primary /var/lib/kvmd/msd/NFS_Primary nfs vers=3,timeo=1,retrans=1,soft,nolock 0 0
    
  4. 重启应用更改

Samba/CIFS存储配置

  1. 安装CIFS工具:

    pacman -S cifs-utils
    
  2. 创建挂载点:

    mkdir -p /var/lib/kvmd/msd/isos
    
  3. 编辑/etc/fstab添加Samba共享:

    //192.168.0.1/isos /var/lib/kvmd/msd/isos cifs guest,_netdev,nofail 0 0
    
  4. 重启应用更改

注意:使用exFAT格式的USB驱动器时,需在fstab中添加umask=0000选项确保可写权限。

多驱动器配置

PiKVM默认创建一个虚拟驱动器,但可通过配置添加更多驱动器:

  1. 编辑/etc/kvmd/override.yaml

    otg:
        devices:
            drives:
                enabled: true
                count: 1  # 额外驱动器数量
                default:
                    cdrom: false
                    rw: false
    
  2. 重启生效

注意:额外驱动器会占用USB端点资源,需考虑兼容性问题。

手动驱动器管理

使用kvmd-otgmsd工具管理驱动器:

  • 查看驱动器状态:kvmd-otgmsd -i 1
  • 连接镜像:kvmd-otgmsd -i 1 --set-rw=1 --set-cdrom=0 --set-image=/path/to/image.img
  • 断开连接:kvmd-otgmsd -i 1 --unlock --eject

故障排除

如遇到BIOS/UEFI兼容性问题,可完全禁用MSD功能:

  1. 编辑/etc/kvmd/override.yaml

    kvmd:
        msd:
            type: disabled
    
  2. 重启生效

性能优化建议

  1. 对于NFS存储,使用较小的timeoretrans
  2. 必须使用soft挂载选项
  3. 推荐使用nolock选项
  4. 确保网络连接稳定可靠

通过合理配置,PiKVM的Mass Storage Drive功能可以成为系统维护和管理的强大工具,特别是在远程管理场景下表现出色。

pikvm Open and inexpensive DIY IP-KVM based on Raspberry Pi pikvm 项目地址: https://gitcode.com/gh_mirrors/pi/pikvm

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冯梦姬Eddie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值