下载trueNAS
访问trueNAS的官网下载相关的镜像
- TrueNAS CORE:可以免费下载使用【操作系统使用FreeBSD】
- TrueNAS SCALE:可以免费下载使用,支持在K8s或Docker上使用【操作系统使用Debian Linux】
- TrueNAS Enterprise:企业版,可以提供技术支持【操作系统使用FreeBSD 13.0 或 Linux 23.10】
版本信息对比
详细信息可以查看官网提供的TrueNAS版本比较【TrueNAS 版本对比 - 强大的存储平台】
附加功能
VMware安装trueNAS
以下我们使用trueNAS core版本
新建VMware虚拟机
新建虚拟机
安装TrueNAS
不需要点击,等待倒计时结束后会默认替我们选择
选择 【1 Install / Upgrade】
选择将系统安装到哪个磁盘,因为我们一开始只添加了一块磁盘,只需按【空格】选择da0即可
提示我们安装会擦除da0磁盘上的所有分区和数据,按【Enter】确认即可
输入root的密码,输入完密码后,按【Tab】键切换选项,待【OK】选项高亮后按【Enter】键确认
选择引导方式,这里选择BIOS
开始进入安装
安装后选择【Shutdown System】,关闭系统,后将映像弹出,否则再次开机会默认读取映像导致再次进入安装界面
TrueNAS初始化配置
通过TrueNAS的IP地址即可访问web管理界面
TrueNAS登录界面
调整界面为中文,设置时区为上海。点击左侧菜单栏中的【System】,随后点击【General】,找到“Language”和“Timezone”,最后点击【save】保存
配置NTP服务器,将原有的NTP服务器删除,更改为阿里云的NTP
TrueNAS存储池
存储池概念
存储池(Storage Pool)是一种逻辑概念,主要用于管理和组织存储资源。它实质上是由一组物理存储设备(如硬盘驱动器、磁盘阵列、磁带库、闪存设备等)组成的集合。通过将这些物理存储资源汇集在一起,存储池形成了一个统一的逻辑存储单元。存储池还可以根据需要进行动态扩展或收缩,以适应存储需求的变化。
根据需求,从存储池中划分出不同大小的逻辑存储区域,即存储空间(Storage Space),用于存储特定的数据或应用程序。这种逻辑上的划分使得存储管理更加精细和灵活。
数据集概念
存储池实质上是由一组物理存储设备组成的集合,它并不能直接写入数据,类似于我们在Windows中插入一块磁盘,我们还需要划分卷才可以写入数据。而数据集相当于在存储池中划分出一部分空间,它们类似于文件系统中的目录结构,可以用于存储不同类型的文件或数据。也可以理解为Linux中的物理卷(PV)—> 卷组(VG)的概念。同时,数据集支持在线扩容,这也是普通磁盘所不具备的功能,普通磁盘只能将同磁盘中的剩余空间扩展到磁盘中。而数据集可以使用存储池中的富余空间扩展。
通过使用数据集,用户可以更方便地对数据进行分类、备份和恢复操作
Zvol概念
Zvol是TrueNAS中用于创建虚拟块设备的机制。它允许用户在存储池中划分出一块逻辑空间,并将其作为块设备暴露给虚拟机或其他需要块存储的应用。通过创建ZVOL,用户可以为虚拟机分配固定的磁盘空间,从而确保虚拟机有足够的存储空间来运行其操作系统和应用程序。也可以理解为Linux中的卷组(VG)—> 逻辑卷(LV)的概念。
卷种类
TrueNAS给我们提供了几种不同的卷,需要根据容量,冗余和性能方面的考虑排列磁盘。将更多磁盘添加到vdev中,可选类型也就更多
- 条带
- 条带使用磁盘的全部容量进行存储,但是没有冗余功能
- 条带中的某一个磁盘出现故障或降级都可能导致数据丢失
- 条带磁盘使用率约为:100%
- 镜像
- 镜像至少需要两个磁盘
- 将数据从一个磁盘复制到vdev中的另一个磁盘,这可能会减少总容量
- 镜像磁盘使用率约为:50%
- Raid-Z
- 提供了不同的数据冗余平衡和总容量平衡
- RAID-Z磁盘使用率约为:2/3
添加磁盘
打开虚拟机设置界面
添加5个20G的磁盘
可以看到,TrueNAS自动识别到的磁盘的插入
新建存储池
打开Web管理界面,点击左侧菜单栏中【存储】,然后点击【池】,在界面右上角点击【添加】
选择【创建新池】,然后点击【创建池】
新建池RAID1
配置相关参数信息
选择镜像
新建池RAID5
新建数据集
RAID1添加两个数据集
RAID5添加两个数据集
FTP服务配置
标识 | TrueNAS | Client1 | Client2 |
---|---|---|---|
IP地址 | 192.168.19.199/24 | 192.168.19.200/24 | 192.168.19.201/24 |
系统 | TrueNAS | WindowsServer2022 | RedHat 9.2 |
角色 | FTP服务器 | FTP客户端 | FTP客户端 |
软件包 | None | None | lftp |
使用的数据集 | /mnt/RAID1/raid1Drive1 | None | None |
新建本地用户
打开Web管理界面,点击左侧菜单栏中的【账户】,然后点击【用户】,即可进入用户管理界面,可以通过点击右上角的齿轮,开启/关闭“显示内置账户”
添加访问ftp服务的本地用户
多创建一个用户用于验证FTP服务
编辑数据集权限
配置FTP服务
打开Web管理界面,点击左侧菜单栏中的【服务】,找到FTP服务,勾选对应的多选框,设置服务为开机自启”
编辑服务配置
点击高级选项,进入详细的配置信息
FTP服务测试
Windows客户端
Windows打开文件资源管理器,在检索框中输入【ftp://192.168.19.199】,输入要登陆的账号,即可访问共享目录
在本地新建【ftpuser1.txt】文件,写入相关内容,然后上传到共享目录中
LinuxK客户端
安装lftp
dnf install lftp* -y
在本地生成大文件
dd if=/dev/zero of=ftpuser2 count=5 bs=2G
访问共享目录,上传生成的大文件
lftp -u ftpuser2,ftpuser2@123 192.168.19.199 # 访问ftp
dir # 查看共享目录中存在文件
put ftpuser2 # 上传文件
验证
打开Web管理界面,点击左侧菜单栏中【仪表板】,找到池RAID1,可以看到池可用空间只剩6.78G
Unix共享(NFS)配置
标识 | TrueNAS | Client1 | Client2 |
---|---|---|---|
IP地址 | 192.168.19.199/24 | 192.168.19.200/24 | 192.168.19.201/24 |
系统 | TrueNAS | WindowsServer2022 | RedHat 9.2 |
角色 | NFS服务器 | NFS客户端 | FTP客户端 |
软件包 | None | 安装NFS客户端 | nfs-utils.x86_64 |
使用的数据集 | /mnt/RAID5/raid5Drive1 | None | None |
新建本地用户
新建用户nfsuser,指定家目录为radi1Drive2
编辑数据集权限
将共享目录的权限设置为新建的用户nfsuser
配置NFS服务
检查NFS服务是否开启,是否加入到开机自启
查看已经共享的目录
Windows客户端配置
WindowsServer可以直接【添加角色和功能】,然后安装【NFS客户端】,如果不安装客户端则无法使用【showmount、mount】命令
查看服务器上的NFS共享名
showmount -e 192.168.19.199
Windows挂载方式1–映射网络驱动器
查看NFS的共享路径,打开文件资源管理,搜索框中输入【\\192.168.19.199】,查看共享的目录,右键属性,即可查看共享目录路径
打开文件资源管理器,点击左侧菜单栏中的【此电脑】
尝试写入数据
Windows挂载方式1–命令行
需要将上面我们挂载的驱动器先断开连接,否则会出现冲突
挂载
mount \\192.168.19.199\mnt\RAID5\raid5Drive1 Z:
Linux客户端配置
安装nfs-utils软件包
dnf install nfs-utils.x86_64 -y
查看服务器的NFS共享
showmount -e 192.168.19.199
本地新建挂载目录,将NFS共享目录挂载到本地目录
mkdir /nfsshare # 新建本地挂载目录
mount 192.168.19.199://mnt/RAID5/raid5Drive1 /nfsshare # /mnt/RAID5/raid5Drive1是共享目录的名称
尝试读写
echo Linux >> /nfsshare/Linux.txt