FreeNAS 存储服务综合实训教程
本文最后更新于 2025-09-28,文章内容可能已经过时。
一、FreeNAS 虚拟机安装与配置
1.1 新建虚拟机
VMware 配置要求:
操作系统类型:FreeBSD 12 64位
处理器:2核心
内存:8GB
硬盘1:20GB(系统盘,SCSI控制器)
硬盘2:20GB × 3(数据盘,SATA控制器)
硬盘3:15GB(缓存盘,SCSI控制器)
注意: I/O控制器选择 LSI Logic SAS 可以解决硬盘不识别的问题,但是可能会遇到系统安装引导无法创建的问题
1.2 安装 FreeNAS 系统
# 启动安装界面后选择:
1. Install/Upgrade
2. 选择系统磁盘(da0)
# 注意需要使用space键进行选择,Enter确认
3. 确认安装
4. 设置root密码
5. 选择启动方式(BIOS或UEFI)安装完成需要弹出安装介质
1.3 初始配置
安装完成后,控制台显示管理IP地址(如192.168.140.149)
在浏览器中输入:https://IP地址 进入Web管理界面
二、iSCSI 块存储配置
2.1 创建存储池
Web界面操作:
Storage → Pools → ADD
名称:
FreeNAS选择3块20GB SATA硬盘加入到数据VDev 15GB SCIS硬盘加入到缓存Vdev
创建池
2.2 创建数据集和ZVOL
Web界面操作:
创建数据集:
Storage → Pools → 点击FreeNAS池 → Add DATASET
名称:
iSCSI
创建Zvol:
Storage → Pools → 点击FreeNAS池 → Add ZVOL
名称:
iSCSI大小:5GB
2.3 配置iSCSI服务
在配置服务之前需要在服务一栏中打开对应服务并设置自启
Web界面操作:
2.3.1 全局配置
Services → iSCSI → 配置
Base Name:
iqn.2005-10.org.freenas.ctl
2.3.2 Portals配置
Portals → ADD
IP地址:
0.0.0.0,端口:3260
2.3.3 Initiators配置
Initiators → ADD
Initiators:
ALL
2.3.4 Authorized Access
如需认证可配置CHAP用户
2.3.5 Targets配置
Targets → ADD
Target Name:
iqn.2005-10.org.freenas.ctl:iscsi
2.3.6 Extents配置
Extents → ADD
名称:
iscsi-extent类型:
Device设备:
zvol/FreeNAS/iscsi/zvol0
2.3.7 Associated Targets
关联Target和Extent
2.3.8 启动iSCSI服务
Services → iSCSI → 启动
三、CentOS 客户端配置
3.1 换源并安装客户端
# 备份原有源
cd /etc/yum.repos.d/
mkdir backup
mv *.repo backup/
# 下载阿里云源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 安装iSCSI客户端
yum install -y iscsi-initiator-utils nfs-utils
# 配置initiator名称
echo "InitiatorName=iqn.2022-10.com.example:centos-client" > /etc/iscsi/initiatorname.iscsi
# 重启服务
systemctl restart iscsid
systemctl enable iscsid3.2 连接iSCSI目标
# 发现目标
iscsiadm -m discovery -t sendtargets -p 192.168.140.149:3260
# 查看发现的目标
iscsiadm -m node
# 登录目标
iscsiadm -m node -l
# 查看新磁盘
lsblk
# 应看到新磁盘 sdb3.3 分区格式化并挂载
# 分区
fdisk /dev/sdb
# 在fdisk中:n → p → 1 → 回车 → 回车 → w
# 格式化
mkfs.xfs /dev/sdb1
# 创建挂载点
mkdir -p /mnt/public
# 挂载
mount /dev/sdb1 /mnt/public
# 验证
df -h /mnt/public3.4 测试iSCSI功能
# 创建测试文件
echo "iSCSI Test File" > /mnt/public/test-iscsi.txt
# 查看文件
ls -la /mnt/public/
# 设置开机自动挂载
echo "/dev/sdb1 /mnt/public xfs defaults,_netdev 0 0" >> /etc/fstab3.5 服务端验证
可以在服务端shell中对共享文件进行查询,但是从理论来说我们之前设置的iSCSI是在块设备级别工作的,不是文件级别,所以从服务端不应该能够看到对应文件,书上对应步骤存在,如下。
shell界面
进入到对应数据集目录下
/mnt/FreeNAS/iscsi查看当前目录文件
四、NFS 文件共享配置
4.1 FreeNAS端NFS配置
Web界面操作:
4.1.1 创建NFS数据集
4.1.2 配置NFS共享
Sharing → Unix Shares (NFS) → ADD
Path:
/mnt/FreeNAS/nfsAuthorized Networks:
192.168.140.0/24Mapall User:
rootMapall Group:
wheel
4.1.3 启动NFS服务
Services → NFS → 启动
4.2 CentOS客户端NFS配置
# 安装NFS客户端(如果未安装)
yum install -y nfs-utils
# 查看可用的NFS共享
showmount -e 192.168.140.149
# 创建挂载点
mkdir -p /mnt/freenas-nfs
# 挂载NFS共享
mount -t nfs 192.168.140.149:/mnt/FreeNAS/nfs /mnt/freenas-nfs
# 测试NFS功能
touch /mnt/freenas-nfs/test-nfs.txt
echo "NFS Test" > /mnt/freenas-nfs/test-nfs.txt
# 设置开机自动挂载
echo "192.168.140.149:/mnt/FreeNAS/nfs /mnt/freenas-nfs nfs defaults,_netdev 0 0" >> /etc/fstab4.3 服务端验证
shell界面
进入到对应数据集目录下
/mnt/FreeNAS/NFS查看当前目录文件
五、WebDAV 配置
5.1 FreeNAS端WebDAV配置
Web界面操作:
5.1.1 创建WebDAV数据集
# 创建专门用于WebDAV的数据集
zfs create FreeNAS/webdav5.1.2 配置WebDAV共享
Sharing → WebDAV Shares → ADD
Path:
/mnt/FreeNAS/webdavName:
webdavPermission:
Read/WriteChange User & Group:
root
5.1.3 配置WebDAV服务
Services → WebDAV → 配置
协议:
HTTP(端口8080)或HTTPS(端口8081)认证类型:
BASIC启动WebDAV服务
5.2 客户端访问WebDAV
5.2.1 浏览器访问
http://192.168.140.149:8080/
或
http://192.168.140.149:8080/webdav5.2.2 登录
5.2.3 进入页面
六、验证与测试
6.1 服务状态检查
FreeNAS端检查:
# 检查iSCSI服务
service iscsi_target status
# 检查NFS服务
service nfsd status
# 检查WebDAV服务
service apache24 status
# 检查存储池状态
zpool status
zfs list6.2 客户端验证
CentOS端验证命令:
# 检查iSCSI连接
iscsiadm -m session
# 检查挂载点
df -h | grep -E '(public|freenas)'
# 检查NFS挂载
mount | grep nfs
# 测试文件操作
echo "综合测试" > /mnt/public/final-test.txt
cp /mnt/public/final-test.txt /mnt/freenas-nfs/6.3 故障排查命令
# 查看系统日志
tail -f /var/log/messages
# 检查网络连接
ping 192.168.140.149
telnet 192.168.140.149 3260 # iSCSI端口
telnet 192.168.140.149 2049 # NFS端口
telnet 192.168.140.149 8080 # WebDAV端口
# 检查防火墙
systemctl status firewalld