5154

Good Luck To You!

如何用CentOS从零开始搭建家用NAS云盘系统,具体步骤?

在数字时代,数据已成为个人与企业最宝贵的资产之一,构建一个网络附加存储(NAS)系统,不仅能安全地集中存储文件,还能实现多设备间的便捷共享与访问,选择CentOS作为NAS系统的底层操作系统,是一个兼具稳定性、安全性与成本效益的绝佳方案,本文将详细介绍如何在CentOS系统上,从零开始搭建一个功能完善、性能可靠的NAS系统。

如何用CentOS从零开始搭建家用NAS云盘系统,具体步骤?

准备工作与系统安装

在开始之前,请确保您已准备好必要的硬件:一台用作服务器的计算机(可以是旧电脑或专用主机)、至少一块用于存储数据的大容量硬盘(HDD或SSD),以及稳定的网络连接,软件方面,建议安装CentOS的最新稳定版(如CentOS Stream 8/9),并选择“最小化安装”模式,以减少不必要的资源占用和安全风险,安装完成后,通过sudo yum update -ysudo dnf update -y命令确保系统所有软件包均为最新版本。

磁盘规划与挂载

NAS的核心是存储,因此正确配置磁盘至关重要,假设您已将一块新硬盘(例如/dev/sdb)接入服务器。

  1. 磁盘分区:使用fdiskgdisk工具对新磁盘进行分区,对于大于2TB的磁盘,建议使用支持GPT格式的gdisk

    sudo fdisk /dev/sdb

    fdisk交互界面中,依次输入n(创建新分区)、p(主分区)、1(分区号)、回车(默认起始扇区)、回车(默认结束扇区),最后输入w保存并退出。

  2. 格式化分区:为新创建的分区(如/dev/sdb1)创建文件系统,ext4是一个成熟且稳定的选择。

    sudo mkfs.ext4 /dev/sdb1
  3. 挂载与永久化:创建一个挂载点,并将分区挂载上去,同时配置开机自动挂载。

    # 创建挂载目录
    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等系统共享文件。

如何用CentOS从零开始搭建家用NAS云盘系统,具体步骤?

  1. 安装Samba

    sudo dnf install samba samba-common samba-client -y
  2. 创建共享目录与用户

    # 在/data下创建一个用于共享的文件夹
    sudo mkdir /data/public
    # 创建一个用于访问共享的系统用户(例如nasuser)
    sudo useradd nasuser
    # 为该用户设置Samba访问密码
    sudo smbpasswd -a nasuser
  3. 配置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访问并具有写权限。

  4. 设置目录权限与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
  5. 配置防火墙并启动服务

    # 开放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(网络文件系统)通常提供更高的性能。

  1. 安装NFS服务端

    如何用CentOS从零开始搭建家用NAS云盘系统,具体步骤?

    sudo dnf install nfs-utils -y
  2. 配置导出目录:编辑/etc/exports文件,添加以下内容,允许168.1.0/24网段的主机访问:

    /data/public 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)
  3. 启动服务

    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.confvalid users列表中。

问题2:重启服务器后,我的数据盘(/data)没有自动挂载,怎么办? 解答:这几乎可以肯定是/etc/fstab文件配置错误,请仔细检查您添加的挂载条目,最常见的原因是使用了设备名(如/dev/sdb1)而不是UUID,在某些情况下重启后设备名可能会改变,强烈建议使用sudo blkid命令获取分区的UUID,并在fstab中使用UUID=...的格式,检查条目中的字段是否用空格或制表符正确分隔,以及文件系统类型(如ext4)是否拼写正确,在修改fstab后,务必先执行sudo mount -a进行测试,确保无误后再重启。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年11月    »
12
3456789
10111213141516
17181920212223
24252627282930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.