使用jail自建服务教程之一:jail创建和优化
FreeNAS除了作为存储系统之外,也提供了搭建各种服务的平台,比如插件、jail,以及虚拟机,能够实现自己想要的功能。这里推荐大家使用jail平台,因为jail相当于一个FreeBSD虚拟机,只要在里面安装各种软件就能够实现你想要的各种功能。为什么不选择插件或者虚拟机呢?第一,与插件相比:虽然插件本质上也是一个jail,但是功能单一,可选的服务只有系统提供的那些,而且你需要几个服务就要相应安装几个插件,相当于安装了几个jail,还不能自己方便地升级。而自建一个jail却可以安装各种软件,也能够将需要的功能全部集成在一起,自由度很高。缺点就是配置略显复杂,需要命令行操作。第二,与虚拟机相比:jail同freenas系统共享硬件资源,不用单独分配cpu、内存等,因此相当轻量,却也拥有独立的运行环境和ip,这对于机器配置不高的用户来说是更好的选择。缺点就是它只能运行freebsd系统,不能安装其他系统。因此,综合衡量,建议大家使用jail。
本文介绍如何在FreeNAS11.2中创建一个jail,并搞好相关设置。
1.单击左侧“jails”菜单,显示如下界面

2.选择jail存储位置
在最上方“Activated Pool for Jail Manager: ”这里会显示jail工作的存储池,点击“配置”按钮可以选择存储池,建议选择在固态硬盘上建立的存储池,因为jail系统运行中会不断访问硬盘,如果将jail放在机械盘上,将会不断访问机械盘,可能会影响寿命,放在固态硬盘上系统运行速度也会更快。配置好存储池之后,系统会自动建立一个iocage数据集,用于存放jail相关文件。
3.创建jail
点击“ADD”按钮,在弹出界面中输入jail名称和系统版本,如下图

点击“下一步”,在弹出界面中选择网络设置,一般情况下选择“DHCP自动配置IPv4”就行了。

点击“下一步”,显示确认信息界面

点击“SUBMIT”之后将开始创建jail,这时将会下载前面选择的FreeBSD11.2-RELEASE系统,可能需要较长时间,请耐心等待。

成功之后,显示jail列表,如下图

点击jail前面的选择框,将会在上方显示一个菜单,如下图:

点击“启动”之后jail就会启动,并显示IP地址
4.开启SSH访问
点击jail右边的选项菜单(三个点),点击“Shell”进入命令行界面

先安装nano编辑器(本人习惯用nano,你也可以用系统自带的vi编辑器),输入如下命令,遇到提示全部输入”y”
pkg install nano

编辑系统配置文件,设置开机自启:
nano /etc/rc.conf
在最后加一行:sshd_enable=”YES”,按ctrl+O保存,ctrl+X退出文本编辑器

编辑ssh配置文件
nano /etc/ssh/sshd_config
找到并删除 Port 22 前面的#号;
删除 PermitRootLogin no 前面的#号,并将no修改为yes,修改后为PermitRootLogin yes;
删除 UseDNS yes 前面的#号。

按ctrl+O保存,ctrl+X退出文本编辑器。
启动ssh服务
service sshd start

设置root用户密码
passwd root

输入两次密码,注意这里输入密码并不会显示任何字符,输入后按"Enter"就行了。
完成之后,用putty就可以连接jail了。
5.更改pkg安装源为中科大的源
在jail里安装软件的时候,由于访问国外的源,速度很慢,这里建议大家将pkg源改为国内的。这里以中科大的源为例。
nano /etc/pkg/FreeBSD.conf
将FreeBSD: { }中的内容改成如下,并保存。
url: "pkg+http://mirrors.ustc.edu.cn/freebsd-pkg/${ABI}/quarterly", mirror_type: "srv", signature_type: "none", fingerprints: "/usr/share/keys/pkg", enabled: yes
应用新的源,输入如下命令
pkg update -f

可以看到更新pkg源速度达到1.1MB/S,由于这里下载的文件比较小,速度还体现不明显,实际中安装软件速度会更快。
6.更改系统语言,解决中文乱码问题
FreeBSD默认语言的原因,无法正常显示中文,比如,遇到中文文件名时,会显示这样:

出现这种情况,我们可以更改系统cshrc配置文件来解决。
nano /.cshrc
增加以下内容:
setenv LANG zh_CN.UTF-8 setenv LC_CTYPE zh_CN.UTF-8 setenv LC_ALL zh_CN.UTF-8

保存退出,然后关闭当前shell会话,再重新打开,重新试试显示文件名:

声明:本文为本站【NASGEEK】原创文章,未经许可不得转载!