如何一步步自建原生NAS服务器

2024-09-04 16:51:16 4点赞 8收藏 5评论

最近因为频繁停电,用了半年的黑裙变成只读了,但是扫描之后,硬盘并没有问题。本人对群晖也不熟悉,网上搜了一圈也没处理好,一气之下备份好数据,格式化之后装了个truenas。可是好景不长,truenas又因为我配置太差,开机10分钟就OOM了,忍无可忍,要自由还是原生Linux,直接装了rockylinux9.4,所有服务全部手动配置,现在已经稳定工作3天。

配置:
CPU: AMD R5 5600G

主板:华硕TUFB550 WIFI 2

内存:光威16GB x2

硬盘:西数紫盘6TBx4 + 西数紫盘4TBx4

目前已安装并运行的服务:nfs, filebrowser,qBittorrent,openWRT(kvm),jellyfin

安装教程

Rockylinux9((虚拟机截图。原服务器配置过程未截图)

镜像下载地址:https://mirrors.ustc.edu.cn/rocky/9/isos/x86_64/Rocky-9-latest-x86_64-minimal.iso
也可以下载完整的dvd,都一样,如果是本地安装写入U盘后需要把iso也考进U盘,不然用网络装。现在网络这么发达了,我基本上都是用网络装。

先来一张hype-v虚拟机(第二代)截图,为什么停在这个界面呢,因为要展示一下,需要关闭Security Boot才好安装

如何一步步自建原生NAS服务器

进入grub boot界面。选择第一项进入安装界面,也可以第二项,会检查安装媒体,我这里就不检查了。

如何一步步自建原生NAS服务器

注意:如果不是虚拟机,使用U盘启动物理机的话,要按‘e'修改第一项。把“LABEL=ROCKY-9-4-x86_64-dvd 改掉。如下图。不同机器和不同U盘写入工具有所区别,也有可能是/dev/sda4, 根据当前已经安装硬盘数,也可能是 /dev/sdi1或/dev/sdi4

如何一步步自建原生NAS服务器

进入安装语言选择

如何一步步自建原生NAS服务器

不要问,选English。纯Linux选个中文我看着就难受。Continue 进入安装配置

如何一步步自建原生NAS服务器

配置安装源,从网络安装 这里使用中国科技大学的源 https://mirrors.ustc.edu.cn/rocky/9/BaseOS/x86_64/os/ 配好点Done

如何一步步自建原生NAS服务器

选择安装内容,物理机建议装个界面,因为all in one,没事还能拿来写写代码,当然安装界面会耗电多一些。如果不需要界面,建议minimal 。选完点Done

如何一步步自建原生NAS服务器

配置磁盘,这里我custom。物理机大磁盘强烈建议custom。点done进入自定义配置界面

如何一步步自建原生NAS服务器如何一步步自建原生NAS服务器

我先偷懒点个自动分区

如何一步步自建原生NAS服务器

如果你不知道还有多少可用空间,在分区大小哪里写个超大值,点Update 就会用光所有剩余空间。改完点Done。如果没有swap或者点一次没效果,可能要连点两次Done

如何一步步自建原生NAS服务器

点Accept Changes

关闭KDump

如何一步步自建原生NAS服务器

创建用户

如何一步步自建原生NAS服务器

配置机器名和网络

如何一步步自建原生NAS服务器

一切配置完成,就可以点Begin Installation了

如何一步步自建原生NAS服务器

等待安装完成,拔掉U盘(虚拟机弹出ISO)按Reboot

如何一步步自建原生NAS服务器

输入账号密码,进入系统。打开terminal

使用 sudo visudo 命令修改sudo无需密码。:set nu可以显示行号,:107可以直接定位到这一行。i进入编辑模式。注释107行,取消注释110行。CTRL+C退出编辑模式。:wq 退出并保存。

如何一步步自建原生NAS服务器

使用国内源(这里用中科大的)

sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.ustc.edu.cn/rocky|g' -i.bak /etc/yum.repos.d/rocky-extras.repo /etc/yum.repos.d/rocky.repo

系统安装配置完成。接下来操作都是命令行操作,不再附截图。可以使用Windows terminal远程操作,也可以在本机的terminal上操作。

配置系统

更新系统

sudo dnf makecache && sudo dnf update

关闭防火墙。防火墙配置比较复杂,这里不做介绍

sudo systemctl disable --now firewalld

修改selinux

sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config

sudo setenforce 0

查看ip,方便后面ssh

ip addr

安装常用软件

sudo dnf install vim unzip tar ungzip bzip2

parted磁盘分区

parted需要管理权限。

sudo parted /dev/sda #选择第一个磁盘,直接输入sudo parted 默认选择/dev/sda

parted命令说明

print all #显示当前系统所有磁盘

select /dev/sdb #选择磁盘/dev/sdb 之后的所有操作均是针对于/dev/sdb直至下一个select

mktable gpt # 创建gpt分区表。如果已经有分区的磁盘,会提示,输入yes即可覆盖

mkpart primary 0% 100% #创建一个主分区,并且使用全部容量 0%开始100%结束。如果要分多个区可以自行修改。

q #quit 退出

mkfs 分区格式化

mkfs需要管理员权限

sudo mkfs.ext4 /dev/sda1 #将/dev/sda第一个分区格式化为ext4格式

sudo mkfs.ext4 -T /dev/sda1 #将/dev/sda第一个分区格式化为ext4格式,大硬盘用这个命令快

sudo mkfs.xfs /dev/sda1 #将/dev/sda第一个分区格式化为xfs格式。

sudo mkfs.ntfs /dev/sda1 #将/dev/sda第一个分区格式化为ntfs格式。此格式需要安装epel软件库和ntfsprogs, ntfs-3g软件包

我一般喜欢用xfs。

安装docker

sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine podman runc

sudo yum install -y yum-utils

sudo yum-config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo

sudo sed -i 's|download.docker.com|mirrors.ustc.edu.cn/docker-ce|g' /etc/yum.repo.d/docker-ce.repo

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

启动docker并配置docker开机自启动

sudo systemctl enable --now docker

lvm分区

进入root账号

sudo -i

创建pv,删除使用pvremove

pvcreate /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

查看创建的pv

pvs #pvdisplay

创建vg 删除使用vgremove

vgcreate vg_data /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

查看创建的vg

vgs #vgdisplay

创建 lv 删除使用 lvremove

lvcreate -l 100%FREE -n lv_data vg_data

创建RAID10 lv。这里是软RAID,有条件可以硬raid。

lvcreate --type raid10 --raidintegrity y -L 7.2T -n lv_data vg_raid

查看创建的lv

lvs #lvdisplay

格式化lvm磁盘。raid10盘格式化时间比较长

mkfs.xfs /dev/mapper/vg_data-lv_data

mkfs.xfs /dev/mapper/vg_raid-lv_data

挂载lvm磁盘

mkdir /data /private

echo '/dev/mapper/vg_data-lv_data /data xfs defaults 1 2' >> /etc/fstab

echo '/dev/mapper/vg_raid-lv_data /private xfs defaults 1 2' >> /etc/fstab

mount -a

exit

chown -R $(whoami) /data

chown -R $(whoami) /private

注意最后两行修改所有者,不改的话docker挂载进去可能没权限读写

查看磁盘信息

df -lh

如何一步步自建原生NAS服务器

安装配置nfs

安装

sudo dnf install nfs-utils rpcbind

设置为开机自启动

sudo systemctl enable --now ntfs-server rpcbind

配置共享目录

vim /etc/exports #下面是内容,这里视频使用ro权限

/data/video 10.0.0.0/24(ro,insecure,sync,no_root_squash,no_subtree_check)

应用

sudo exportfs -a

创建网桥

不需要虚拟机不需要此步骤

查看当前网络连接信息

nmcli con show

创建网桥

nmcli con add type bridge ifname br0

绑定网桥到网卡

nmcli con add type bridge-slave ifname eno1 master br0

启动网桥

nmcli con up br0

配置 ip地址

sudo nmcli c edit br0

以下命令在nmcli命令行下

print ipv4

set ipv4.addresses 10.0.0.128/24

set ipv4.gateway 10.0.0.254

set ipv4.dns 10.0.0.254 223.5.5.5

save

q

重启网卡/重启电脑

sudo nmcli c reload

sudo nmcli c down br0 && sudo nmcli c up br0

安装虚拟机

使用难用的virt-manager界面操作。

查看一下库里有哪些软件组

sudo dnf grouplist

安装相关软件

sudo dnf groupinstall 'Virtualization Host'

sudo dnf install virt-manager

注意: 也可以只安装virt,全命令行操作。

转换openwrt的img文件为qcow2格式

qemu-img convert -o qcow2 openwrt.img openwrt.qcow2

docker部署filebrowser/qbittorrent/jellyfin

jellyfin

sudo docker run -d

-p 8096:8096

--name jellyfin

--user 1000:1000

--volume /opt/jellyfin/config:/config

--volume /opt/jellyfin/cache:/cache

--mount type=bind,source=/data/video,target=/media

--restart=unless-stopped

jellyfin/jellyfin

filebrowser

sudo docker run

--name filebrowser -m 4g --restart unless-stopped -d

-v /data:/srv/data

-v /private:/srv/private

-v /opt/filebrowser/filebrowser.db:/database/filebrowser.db

-v /opt/filebrowser/settings.json:/config/settings.json

-e PUID=$(id -u)

-e PGID=$(id -g)

-p 8080:80

filebrowser/filebrowser:s6

qbittorrent

sudo docker run -d

--name=qbittorrent

-e PUID=1000

-e PGID=1000

-e TZ=Asia/Shanghai

-e WEBUI_PORT=8081

-e TORRENTING_PORT=6881

-p 8081:8081

-p 6881:6881

-p 6881:6881/udp

-v /opt/qbittorrent/config:/config

-v /data/downloads:/downloads

--restart unless-stopped

lscr.io/linuxserver/qbittorrent:latest

配置nginx

安装nginx

sudo dnf install nginx

配置filebrowser,能用就行,不做优化。替换自己的域名

cat <

server {

server_name files.nas.com;

location / {

proxy_pass http://localhost:8080;

}

listen 80;

}

EOF

配置qbittorrent,能用就行,不做优化。替换自己的域名

cat <

server {

server_name bt.nas.com;

location / {

proxy_pass http://localhost:8081;

}

listen 80;

}

EOF

配置jellyfin,能用就行,不做优化。替换自己的域名

cat <

server {

server_name video.nas.com;

location / {

proxy_pass http://localhost:8096;

}

listen 80;

}

EOF

还有K8S,已经装好了,暂时就不写了。装备用coredns暂时也还没有配置。原生Linux,服务全部自定义,没有继承nas系统的各种限制,就一个字,爽!没事还能拿来玩个steam,岂不美哉!

展开 收起

ASUS 华硕 AS6702T 4盘位NAS存储 黑色(Core2 Quad Q8300、4GB)

ASUS 华硕 AS6702T 4盘位NAS存储 黑色(Core2 Quad Q8300、4GB)

4299元起

ASUS 华硕 穿云箭 12盘位NAS存储(赛扬N5105、4GB)

ASUS 华硕 穿云箭 12盘位NAS存储(赛扬N5105、4GB)

3866元起

ASUS 华硕 AS6702T 双盘位NAS存储 黑色(赛扬N5105、4GB)

ASUS 华硕 AS6702T 双盘位NAS存储 黑色(赛扬N5105、4GB)

2999元起

ASUS 华硕 FS6706T 穿云箭6位盘位NAS网络存储 无盘版

ASUS 华硕 FS6706T 穿云箭6位盘位NAS网络存储 无盘版

3999元起

Western Digital 西部数据 My Cloud EX2 Ultra 双盘位NAS(ARMADA 385、1GB)

Western Digital 西部数据 My Cloud EX2 Ultra 双盘位NAS(ARMADA 385、1GB)

1241.63元起

WD 西部数据 My Cloud 西数云 NAS 网络存储 3.5英寸

WD 西部数据 My Cloud 西数云 NAS 网络存储 3.5英寸

1398元起

ASUS 华硕 AS6604T NAS 四盘位 办公网络存储

ASUS 华硕 AS6604T NAS 四盘位 办公网络存储

3499元起

西部数据 WD) My Cloud EX2 Ultra 双盘位NAS网络存储服务器 EX2 0TB

西部数据 WD) My Cloud EX2 Ultra 双盘位NAS网络存储服务器 EX2 0TB

暂无报价

WD 西部数据 My Cloud EX4100 NAS服务器(空箱)

WD 西部数据 My Cloud EX4100 NAS服务器(空箱)

暂无报价

Western Digital 西部数据 My Cloud Pro PR4100 4盘位NAS(N3710、4GB)

Western Digital 西部数据 My Cloud Pro PR4100 4盘位NAS(N3710、4GB)

暂无报价

WD西部数据个人云存储20t My Cloud Home Duo私有储存云盘20tb 西数网络家用存储器网盘nas云硬盘 家庭云wifi

WD西部数据个人云存储20t My Cloud Home Duo私有储存云盘20tb 西数网络家用存储器网盘nas云硬盘 家庭云wifi

暂无报价

ASUS 华硕 AS6602T 2盘位NAS(J4125、4GB)

ASUS 华硕 AS6602T 2盘位NAS(J4125、4GB)

2659.05元起

WD西部数据 My Cloud Pro PR4100 16tb 企业级nas硬盘主机 nas网络存储器 服务器 家用家庭私有云系统 4盘位

WD西部数据 My Cloud Pro PR4100 16tb 企业级nas硬盘主机 nas网络存储器 服务器 家用家庭私有云系统 4盘位

暂无报价

WD 西部数据 My Cloud Home 个人云存储设备 3.5英寸 多盘

WD 西部数据 My Cloud Home 个人云存储设备 3.5英寸 多盘

暂无报价

华硕穿云箭 全M.2方案云存储NAS家庭家用储存服务器个人私有云盘M.2盘位网络存储器局域网文件共享硬盘

华硕穿云箭 全M.2方案云存储NAS家庭家用储存服务器个人私有云盘M.2盘位网络存储器局域网文件共享硬盘

暂无报价

WD西部数据个人云存储2t My Cloud Home私有储存云盘2tb 西数网络家用存储器网盘nas云硬盘 家庭云wifi共享

WD西部数据个人云存储2t My Cloud Home私有储存云盘2tb 西数网络家用存储器网盘nas云硬盘 家庭云wifi共享

暂无报价
5评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章

值友9140867026

小小程序员

关注 打赏
最新文章 热门文章
8
扫一下,分享更方便,购买更轻松