在数字时代,数据已成为个人与企业最宝贵的资产之一,构建一个网络附加存储(NAS)系统,不仅能安全地集中存储文件,还能实现多设备间的便捷共享与访问,选择CentOS作为NAS系统的底层操作系统,是一个兼具稳定性、安全性与成本效益的绝佳方案,本文将详细介绍如何在CentOS系统上,从零开始搭建一个功能完善、性能可靠的NAS系统。
准备工作与系统安装
在开始之前,请确保您已准备好必要的硬件:一台用作服务器的计算机(可以是旧电脑或专用主机)、至少一块用于存储数据的大容量硬盘(HDD或SSD),以及稳定的网络连接,软件方面,建议安装CentOS的最新稳定版(如CentOS Stream 8/9),并选择“最小化安装”模式,以减少不必要的资源占用和安全风险,安装完成后,通过sudo yum update -y
或sudo dnf update -y
命令确保系统所有软件包均为最新版本。
磁盘规划与挂载
NAS的核心是存储,因此正确配置磁盘至关重要,假设您已将一块新硬盘(例如/dev/sdb
)接入服务器。
磁盘分区:使用
fdisk
或gdisk
工具对新磁盘进行分区,对于大于2TB的磁盘,建议使用支持GPT格式的gdisk
。sudo fdisk /dev/sdb
在
fdisk
交互界面中,依次输入n
(创建新分区)、p
(主分区)、1
(分区号)、回车
(默认起始扇区)、回车
(默认结束扇区),最后输入w
保存并退出。格式化分区:为新创建的分区(如
/dev/sdb1
)创建文件系统,ext4是一个成熟且稳定的选择。sudo mkfs.ext4 /dev/sdb1
挂载与永久化:创建一个挂载点,并将分区挂载上去,同时配置开机自动挂载。
# 创建挂载目录 sudo mkdir /data # 获取分区的UUID(推荐使用UUID而非设备名,避免设备名变化导致挂载失败) sudo blkid /dev/sdb1 # 编辑/etc/fstab文件实现开机自动挂载 sudo vi /etc/fstab
在
fstab
文件末尾添加一行,将UUID=你的分区UUID
替换为实际值:UUID=你的分区UUID /data ext4 defaults 0 0
保存并退出后,执行
sudo mount -a
命令,若无错误输出,则表示配置成功,您可以通过df -h
命令查看磁盘是否已成功挂载到/data
目录。
安装配置Samba实现文件共享
Samba是在Linux/UNIX系统上实现SMB/CIFS协议的标准软件,它能让您的CentOS NAS无缝地与Windows、macOS等系统共享文件。
安装Samba:
sudo dnf install samba samba-common samba-client -y
创建共享目录与用户:
# 在/data下创建一个用于共享的文件夹 sudo mkdir /data/public # 创建一个用于访问共享的系统用户(例如nasuser) sudo useradd nasuser # 为该用户设置Samba访问密码 sudo smbpasswd -a nasuser
配置Samba:编辑主配置文件
/etc/samba/smb.conf
,建议先备份原文件,在文件末尾添加共享定义:[PublicShare] comment = Public NAS Storage path = /data/public browseable = yes writable = yes valid users = nasuser create mask = 0664 directory mask = 0775
这段配置定义了一个名为
PublicShare
的共享,指向/data/public
目录,仅允许nasuser
访问并具有写权限。设置目录权限与SELinux上下文:
# 将目录所有者设置为nasuser sudo chown -R nasuser:nasuser /data/public # 设置SELinux允许Samba访问该目录,这是CentOS安全模型的关键一步 sudo semanage fcontext -a -t samba_share_t "/data/public(/.*)?" sudo restorecon -Rv /data/public
配置防火墙并启动服务:
# 开放Samba服务所需的端口 sudo firewall-cmd --permanent --add-service=samba sudo firewall-cmd --reload # 启动并设置Samba服务开机自启 sudo systemctl enable smb nmb sudo systemctl start smb nmb
至此,您的NAS已经可以通过网络被其他设备访问了,在Windows文件资源管理器地址栏输入\您的CentOS服务器IP地址
,然后使用nasuser
及其密码即可登录。
(可选) 配置NFS服务
对于Linux客户端之间的文件共享,NFS(网络文件系统)通常提供更高的性能。
安装NFS服务端:
sudo dnf install nfs-utils -y
配置导出目录:编辑
/etc/exports
文件,添加以下内容,允许168.1.0/24
网段的主机访问:/data/public 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)
启动服务:
sudo systemctl enable nfs-server sudo systemctl start nfs-server sudo exportfs -a
在Linux客户端上,可以使用
mount -t nfs 服务器IP:/data/public /本地挂载点
命令来挂载共享。
远程管理与监控
为了更方便地管理服务器,可以安装Cockpit,一个基于Web的图形化界面。
sudo dnf install cockpit -y sudo systemctl enable --now cockpit
然后在浏览器中访问https://您的服务器IP:9090
,即可使用系统用户登录进行管理。
相关问答FAQs
问题1:我已经按照步骤配置了Samba,但在Windows上无法访问共享,提示“你不能访问此共享文件夹”,是什么原因?
解答:这个问题通常由三个方面导致,检查CentOS的防火墙是否确实开放了samba
服务(sudo firewall-cmd --list-all
),确认SELinux上下文是否设置正确,错误的上下文会阻止Samba访问文件(ls -lZ /data/public
查看),确保您在Windows中输入的Samba用户名和密码(nasuser
及其通过smbpasswd
设置的密码)完全正确,并且该用户在/etc/samba/smb.conf
的valid users
列表中。
问题2:重启服务器后,我的数据盘(/data)没有自动挂载,怎么办?
解答:这几乎可以肯定是/etc/fstab
文件配置错误,请仔细检查您添加的挂载条目,最常见的原因是使用了设备名(如/dev/sdb1
)而不是UUID,在某些情况下重启后设备名可能会改变,强烈建议使用sudo blkid
命令获取分区的UUID,并在fstab
中使用UUID=...
的格式,检查条目中的字段是否用空格或制表符正确分隔,以及文件系统类型(如ext4
)是否拼写正确,在修改fstab
后,务必先执行sudo mount -a
进行测试,确保无误后再重启。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复