准备弄个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。