最近研究了各大 NAS 系统,自己在矿难机中安装了 FreeNAS 系统(11.2 版本),这个系统很好用,不仅把 ZFS 的功能发挥到了极致,各种同步任务、还是 Jail、VM 管理等都非常方便,但又兴起研究了一下同源的低配版 XigmaNAS,在服务器的虚拟机中给了4G4核的配置开了一台 XigmaNAS,这个系统占用资源确实很低,但配置烦琐、功能布局凌乱,不过介于研究性质,我们还是继续下去。
想在这个系统中创建一个完整的 FreeBSD 环境来使用,而这个系统仍然使用较旧的 virtualbox 虚拟化形式,使用 virtualbox 来虚拟化一个环境出来无疑是非常占用资源的,而且本身就是在虚拟机中(不能再一次虚拟化),因为 XigmaNAS 本身也是基于 FreeBSD,这种情况使用 FreeBSD 自带的 jail 功能是最节省资源最合适的。
FreeBSD jail 最好使用工具来管理,对比 ezjail,qjail,iocage 等我比较喜欢 qjail 这款轻量级的工具,主要是因为简单,如果有较为复杂的需求 qjail 就不一定合适了。
使用 pkg 即可安装 qjail,XigmaNAS 的 pkg 不需要任何配置可以直接使用。
1. 安装 qjail
pkg install qjail
qjail 本身就只有一个脚本,安装很快,完成后即可使用 qjail 相关命令。
2. 初始化 qjail
qjail 默认是在 /usr/jails 中创建相关 jail,我希望它安装在创建的数据集 /mnt/vol1/jails 中,根据文档的介绍,这里需要修改 qjail 脚本中设定的存储位置,直接修改 /usr/local/bin/qjail,搜索 jaildir 修改即可。
通过 uname -a 得知当前 XigmaNAS 是基于 FreeBSD 12.0,于是将之前下载好的 FreeBSD 12.0 的 base.txz 文件放入 NAS 中,然后使用以下命令初始化 qjail。
qjail install -f /mnt/vol1/data1/12.0-RELEASE
-f 参数指向 base.txz 文件所在目录,如果不指定 -f 则它默认会从 FreeBSD 官网下载二进制文件,速度较慢,当然你也可以使用 -h 参数指定其它镜像地址。
在使用 qjail install 的时候发现提示 xzdec 命令不存在,发现 XigmaNAS 中并没有 xzdec 这个命令,我们从其它已经安装的 FreeBSD 系统中直接拷贝 /usr/bin 下的 xzdec 到 NAS 的 /usr/bin 中。
继续执行 install 发现会停止在 Installation of bin failed 的错误上,这个错误让人一头雾水,于是查看 qjail 脚本,搜索 failed 字眼,发现报错在以下这个位置:
2133 for dir in ${dirlist}; do 2134 find "${dir}" | cpio -dmp "${sharedfs}" 1> /dev/null 2>&1 || \ 2135 kill "Error: Installation of ${dir} failed." 2136 rm -r "${dir}"; 2137 ln -s /sharedfs/"${dir}" "${dir}" 2138 done
然后临时删除 2134 行中的 1> /dev/null 2>&1 继续执行发现原来是 cpio 命令不存在。于是照搬 cpio 过来,注意 cpio 实际上是软链的 /usr/bin/bsdcpio 文件,我这里是拷贝了 bsdcpio 过来,自己建了软链。
继续执行 install 安装完成。
3. 创建 jail
执行以下命令创建一个 jail
qjail create -4 192.168.1.123 playground
终于显示创建成功。
执行 qjail list 查看 jail 列表
xigmanas: jails# qjail list STATUS JID NIC IP Jailname ------ ---- ------ --------------- -------------------------------------------- DR N/A em0 192.168.1.123 playground
启动 playground 这个 jail。
xigmanas: jails# qjail start playground Jail successfully started playground
进入 jail。
xigmanas: jails# qjail console playground Last login: Wed Oct 30 14:06:59 on pts/0 FreeBSD 12.0-RELEASE-p10 (XIGMANAS-amd64) #0 r352547M: Fri Sep 20 04:56:20 CEST 2019 Welcome to your FreeBSD jail. playground /root >
OK,现在你在 XigmaNAS 中有了一个独立的 FreeBSD 环境,尽情的玩耍吧。
评论 共有 0 条评论
暂无评论,快发表你的评论吧。