如何用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进行测试,确保无误后再重启。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-19 13:26
下一篇 2025-10-19 13:29

相关推荐

  • CentOS开机是命令行,如何进入桌面图形界面?

    CentOS,作为一个以稳定性和安全性著称的企业级Linux发行版,其默认安装通常是为服务器环境优化的最小化版本或核心版本,这意味着系统启动后直接进入命令行界面(CLI),对于许多开发者、系统管理员或希望拥有图形化操作体验的用户来说,一个功能完善的桌面系统是必不可少的,将CentOS从命令行环境转变为图形化桌面……

    2025-10-02
    001
  • CentOS系统如何让HD3000显卡驱动正常工作?

    在信息技术领域,硬件的生命周期往往比预期的要长,英特尔酷睿第二代处理器(Sandy Bridge架构)集成的HD 3000显卡,尽管发布于2011年,但至今仍在许多老旧的办公电脑、瘦客户端或特定用途的服务器中服役,当这些设备需要安装一个稳定、可靠的操作系统时,CentOS便成了一个常见的选择,在CentOS上正……

    2025-10-05
    002
  • CentOS服务器要如何设置定时任务才能实现每天自动重启呢?

    在服务器管理和运维工作中,确保关键服务的持续可用性至关重要,CentOS作为一款广泛使用的服务器操作系统,其稳定性和可靠性深受信赖,即使是经过优化的系统,长时间运行后也可能出现内存泄漏、进程僵死或服务无响应等问题,为了有效应对这些潜在风险,配置“centos 自动重启任务”成为一项基础且必要的技能,通过预设的计……

    2025-10-11
    0010
  • 翻译软件语音_翻译处理

    Translation software voice translation processing.

    2024-07-01
    007

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信