准备弄个NAS,但还没想好直接买现成,还是自己组装一台,先在虚拟机上体验下OpenMediaVault4和黑群晖。主系统是ubuntu,但刚买的时候这笔记本是装windows的,除了ubuntu的系统分区,视频音乐什么的都存在一个NTFS分区里。因此先在ubuntu挂载NTFS分区,再用VirtualBox挂载这个NTFS分区,在OpenMediaVault4里开启DLNA服务,就可以在平板、投影仪上看视频了。

  ubuntu双击打开分区就可以挂载NTFS分区了(或者设置开机自动挂载)。看下挂载的分区:

xzc@xzc-HP-ProBook-4446s:~$ df -h
文件系统        容量  已用  可用 已用% 挂载点
udev            3.6G  4.0K  3.6G    1% /dev
tmpfs           737M  1.3M  736M    1% /run
/dev/sda6        19G  9.4G  8.4G   53% /
none            4.0K     0  4.0K    0% /sys/fs/cgroup
none            5.0M     0  5.0M    0% /run/lock
none            3.6G   17M  3.6G    1% /run/shm
none            100M   48K  100M    1% /run/user
/dev/sda7        31G   24G  5.3G   82% /home
/dev/sda1       300M   37M  263M   13% /boot/efi
/dev/sda4       201G  170G   31G   85% /media/xxx/000F5D6C000830C2
/dev/sda5       199G   56G  144G   28% /media/xxx/0001EC0F0005B874

  找到自己要挂载的分区,比如/dev/sda5,则用下面的指令创建一个虚拟盘(/home/xxx/Documents/virtualbox/MV.vmdk)映射到真实的分区去。

sudo VBoxManage internalcommands createrawvmdk -filename /home/xxx/Documents/virtualbox/MV.vmdk -rawdisk /dev/sda5

  文件是用sudo创建的,要把权限设置一下,不然虚拟机没法读。ubuntu下用gui打开的虚拟机,是用当前登录的用户来运行的,把权限给当前用户(xxx)就行。

sudo chown xxx:xxx Documents/virtualbox/MV.vmdk

  由于MV.vmdk这个文件其实只是一个映射,真正要访问的是/dev/sda5这个物理磁盘分区,所以还要添加到disk

sudo usermod -a -G disk xxx

  处理完权限后,直接挂到虚拟机去。但注意的是,raw disk指的是原生磁盘,因此,主系统和虚拟机里的系统都认为只有自己在访问这个磁盘(就好比你机子的硬盘,同一时间只有一个操作系统能做硬件级的读写),所以数据是不会在两个系统同步的。如果你在两个系统同时写入数据,多半是相互覆盖。

PS:

  1.NTFS盘挂到OpenMediaVault4并不支持ACL,而原来的虚拟盘ext4格式是支持的。支持ACL的,要在ACL里把DLNA的用户设置为可读,不然没法使用DLNA

  2.OpenMediaVault4里丢失的磁盘、共享文件夹如果被引用,是无法被删除的。要去FTP、SMB、NFS等服务里把这个共享文件夹移除才可以删除

  3.挂载到OpenMediaVault4中的磁盘,是不可以直接移除的。要先解除引用,在文件系统中卸载。不然会显示为丢失。在启动时会尝试90秒挂载(a start job is running for ...)。可手动修改/etc/fstab解决。我当前这个版本在文件系统中可以删除,但没效果,最后还需要手动删除/etc/openmediavault/config.xml中对应的配置,明显的bug。