GetNAS Logo

FreeNAS中为插件添加映射存储空间

2015-3-1 11:46 Herald FreeNAS 插件 1,804

FreeNAS中如Transmission这种BT下载插件虽然可以即装即用,但要取出下载的文件还是有些繁琐,可以通过给插件添加(映射)一个专门的数据集,即可实现便捷的文件管理。

FreeNAS:插件(Plugins)入门篇》中已经介绍过,FreeNAS的插件安装在Jail虚拟机中的,每个Jail虚拟机里面都包含完整的FreeBSD系统目录和文件,以Transmission插件为例,默认情况下,Transmission会将文件下载到Jail虚拟机的某个目录中,BT下载倒是没什么问题,但要管理下载的文件就显得有些麻烦了。

我们可以在使用插件以前,专门为插件创建一个数据集,映射到Jail虚拟机中的某个目录上,比如Transmission,可以在设置中将下载目录指定为映射数据集的目录,这样一来,只要把相应的数据集做CIFS等共享,就可以方便的访问下载的文件了。

本教程以Transmission为例,演示如何为插件添加(映射)存储。大致过程:

  1. 检查插件程序在Jail虚拟机中关联的用户和用户组;
  2. 在FreeNAS中新建与插件关联的用户和用户组;
  3. 创建新数据集或使用已有数据集,并将数据集的所有者和所有者组设置为与插件关联的用户和用户组;
  4. 在Jails虚拟机管理界面中找到插件所在的Jail,并为其添加新建的数据集。

检查插件关联的用户和用户组

在类Unix世界,每一款程序都需要对应一个用户角色来运行,FreeNAS以及其插件也不例外。比如Transmission插件会在Jail中同时创建名为transmission的用户和用户组,并且以transmission用户的身份来运行程序,自然的,所下载文件的所有者也是transmission。一般来说,FreeNAS中的插件相关联的用户和用户组名与插件的名称相同。

更准确查找关联用户和用户组的方法是在Jail虚拟机的终端中查看 /etc/passwd 和 /etc/group 这两个文件,在WebGUI中打开Jails管理选项卡,点选插件所在的Jail,如下图所示。点击下方的命令行按钮,这时会弹出网页版Shell窗口,输入 cat /etc/passwd (注意cat后面有空格)回车,在passwd文件的最后面可以看到transmission用户,这就是插件关联的用户了。

Snip20150301_2

查看插件关联的用户组也是同样的方法,继续在Shell窗口中输入 cat /etc/group (注意cat后面有空格)。如下图所示。

Snip20150301_3

在FreeNAS主机创建用户和用户组

在FreeNAS主机创建与插件相关联的用户和用户组,这一步操作的目的是为了在后面创建数据集时能够正确的设置数据集的所有者和所有者组权限。首先创建用户组,在WebGUI中打开Account账户管理菜单,切换到 Groups 选项卡,并点击 Add group 按钮,在弹出窗口的 Group Name 组名称中输入插件关联的用户名,本例为transmission。点击OK按钮,创建完成。

Snip20150301_4

创建新用户也非常简单,切换到 Users 用户选项卡,点击 Add user 添加用户按钮。如下图所示,输入用户名,取消 Create a new primary group for the user (同时创建同名主用户组)的勾选,在下方 Primary Group 主用户组下拉列表中选择上一步创建的用户组,不要忘记输入 Full Name 全名和密码,点击OK按钮,创建完成。

Snip20150301_5

创建新数据集

本例将在myStor的存储池下面创建一个名为BT的数据集。《详解 FreeNAS ZFS 数据集》中介绍了如何创建和管理数据集。如下图所示。

Snip20150301_7

数据集创建好了,接下来修改数据集的权限。如下图所示,点选BT数据集,随后点击下方的修改权限按钮,在弹出窗口中将 Owner所有者和OwnerGroup所有者组都设置为插件关联的用户和用户组,Mode权限分配一项勾选所有的选框,全部勾选的目的是让所有用户对这个数据集都有访问权限,主要是便于管理,你也可以根据需要进行调整。点击 Change 修改按钮,设置完成。

Snip20150301_9

将新数据集添加到插件所在Jail虚拟机

准备工作全部完成,接下来就是见证奇迹的时刻,把新建的数据集添加(更准确的说应该是映射)到插件所在的Jail虚拟机中的某个目录上。打开Jails菜单,点选插件所在Jail虚拟机,如下图所示,点击界面下方的黑色文件夹按钮,即Add Storage添加存储按钮。在弹出窗口中有下列设置项:

  • Jail:标示需要操作的Jail虚拟机;
  • Source:源头的意思,即选择FreeNAS主机上新建的数据集;本例我们设置为BT数据集;
  • Destination:目标的意思,即你要把新建的数据集映射到Jail虚拟机中的哪个目录上。这个你可以根据喜好自由设置,本例我们选择将新建的数据集映射到Jail虚拟机中的 /mnt 目录上;
  • Read-Only:只读模式,也就是说插件对映射的数据集仅有只读权限,显然本例中我们不需要勾选此项;
  • Create directory:勾选此项后,如果 Destination 中设置的目录不存在,则系统会自动创建目录,保持勾选即可;

Snip20150301_10

好了,点击OK按钮,完成数据集映射。接下来检查一下是否添加成功,在WebGUI左侧的系统菜单中展开Jails,继续展开transmission – Storage,可以看到已经有了 /mnt 目录。这代表存储已经添加成功。

Snip20150301_12

最后我们来将Transmission插件的下载目录修改成我们新映射数据集的目录 /mnt。可以在FreeNAS的WebGUI中进行设置,也可以在Transmission的浏览器管理界面中进行设置,本例在FreeNAS中进行设置,如下图。修改Download Directory下载目录,设置完成点击OK按钮即可。

Snip20150301_13

通过上述一番设置,新下载的文件会下载到Jail中的/mnt目录里面,由于新数据集映射(挂载)到了/mnt目录,因此,文件实际上会存储到FreeNAS中名为BT数据集中。这样一来,我们只需要给BT数据集设置CIFS或AFP等形式的共享,就可以轻松的管理下载好的文件了。

按照上述方法,现在你可以给其他插件也添加专门的存储空间了!

本文为GetNAS.com原创,版权归上海炬树信息科技有限公司所有,未经书面授权禁止转载。

授权转载请注明来源:https://www.getnas.com/2015/03/960.html

分享按钮