From 3c19245103485b82688f522c892e153b35de2a2e Mon Sep 17 00:00:00 2001 From: FlintyLemming Date: Sun, 5 Nov 2023 16:33:15 +0800 Subject: [PATCH] new post --- .../index.zh-cn.md | 225 ++++++++++++++++++ 1 file changed, 225 insertions(+) create mode 100644 content/post/0772500cd11f4f35b78b108337f7d176/index.zh-cn.md diff --git a/content/post/0772500cd11f4f35b78b108337f7d176/index.zh-cn.md b/content/post/0772500cd11f4f35b78b108337f7d176/index.zh-cn.md new file mode 100644 index 0000000..818b5f7 --- /dev/null +++ b/content/post/0772500cd11f4f35b78b108337f7d176/index.zh-cn.md @@ -0,0 +1,225 @@ ++++ +author = "FlintyLemming" +title = "龙芯 3A6000 手搓 NAS 记录与平台体验" +slug = "0772500cd11f4f35b78b108337f7d176" +date = "2023-11-05" +description = "体验不错,未来可期" +categories = ["HomeLab", "Linux"] +tags = ["Loongson", "NAS"] +image = "https://img.mitsea.com/blog/posts/2023/10/%E9%BE%99%E8%8A%AF%203A6000%20%E6%89%8B%E6%90%93%20NAS%20%E8%AE%B0%E5%BD%95%E4%B8%8E%E5%B9%B3%E5%8F%B0%E4%BD%93%E9%AA%8C/eberhard-grossgasteiger-W7l2qAUKWcs-unsplash.jpg?x-oss-process=style/ImageCompress" ++++ + +最近到收了个龙芯 3A6000 的平台,简单测了下,首先由于是自主架构,所以 Windows 肯定是不行。然后内置 GPU 只能亮机,试了 Arch、UOS、AOSC 在安装或者启动时都不同程度遇到显示问题,桌面基本上是不可用。不过考虑到 loongarch64 Linux 内核已经并入主线,所以硬件支持和基本 Linux 软件还是没问题,拿来做 NAS 似乎还不错。 + +![CPU 照片](https://img.mitsea.com/blog/posts/2023/10/%E9%BE%99%E8%8A%AF%203A6000%20%E6%89%8B%E6%90%93%20NAS%20%E8%AE%B0%E5%BD%95%E4%B8%8E%E5%B9%B3%E5%8F%B0%E4%BD%93%E9%AA%8C/IMG_4370.jpeg?x-oss-process=style/ImageCompress) + +由于我已经有一个群晖 DS1621+,所以这台机器的定位就是取代我当前使用 unraid 作为 HyperBackup 备份 NAS 的角色。梳理了一下他主要承担如下几个作用:smb 共享、rsync 服务端做备份、qBittorrent pt下载和保种。 + +普通 Linux 做简单 NAS 很简单,按照 ChatGPT 的指导操作就行,我主要记录下龙芯平台目前遇到的坑。介绍前先放 NAS 场景的部分测试。 + +## 简单测试 + +### 下述软件包运行情况 + +![](https://img.mitsea.com/blog/posts/2023/10/%E9%BE%99%E8%8A%AF%203A6000%20%E6%89%8B%E6%90%93%20NAS%20%E8%AE%B0%E5%BD%95%E4%B8%8E%E5%B9%B3%E5%8F%B0%E4%BD%93%E9%AA%8C/Untitled.png?x-oss-process=style/ImageCompress) + +### qBittorrent 高强度下载测试 + +![](https://img.mitsea.com/blog/posts/2023/10/%E9%BE%99%E8%8A%AF%203A6000%20%E6%89%8B%E6%90%93%20NAS%20%E8%AE%B0%E5%BD%95%E4%B8%8E%E5%B9%B3%E5%8F%B0%E4%BD%93%E9%AA%8C/Untitled%201.png?x-oss-process=style/ImageCompress) + +下载速度 259MB/s 连接用户 575 完全不卡,性能完全够用。这个速度我在 AMD V1500B 上用 Docker 跑 WebUI 就完全打不开了。 + +### 网络性能测试 + +![](https://img.mitsea.com/blog/posts/2023/10/%E9%BE%99%E8%8A%AF%203A6000%20%E6%89%8B%E6%90%93%20NAS%20%E8%AE%B0%E5%BD%95%E4%B8%8E%E5%B9%B3%E5%8F%B0%E4%BD%93%E9%AA%8C/Untitled%202.png?x-oss-process=style/ImageCompress) + +1500 MTU 单线程跑满 10Gbps + +## 选择发行版 + +龙芯的发行版分为新世界和旧世界,旧世界我直接排除了,选择 Linux 6.x 内核的新世界发行版。 + +[旧世界与新世界 | 咱龙了吗?](https://areweloongyet.com/docs/old-and-new-worlds/) + +新世界我看了下主要有几个发行版:Arch Linux、Debian、AOSC,其他我也试了几个,我主要说一下这三点的体验。我最终选的是 pve。 + +### Arch Linux + +[下载地址](https://mirrors.wsyu.edu.cn/loongarch/archlinux/iso/) + +**pros** + +软件包似乎是最全的 Linux 发行版,常用工具都是开箱即用 + +维护比较勤快,有专人负责,有论坛社区 + +**cons** + +万兆网卡 lspci 能识别到但是 ip link 里看不到,直接就用不了。这个问题先发了论坛[帖子](https://bbs.loongarch.org/d/313-intel-x710)等修 + +如果用 GUI 的话,正如开头所说的,内置核显不好使,建议加一块(推荐为)北极星架构的 AMD 显卡 + +### Debian + +Debian 据说官方已经支持 loongarch64,但我官网没找到 ISO 包,所以我是直接下的 pve,四舍五入也是 Debian。[下载地址](https://mirrors.apqa.cn/proxmox/isos/) [发布地址](https://foxi.buduanwang.vip/virtualization/pve/2924.html/) + +**pros** + +软件包也很全,常用工具我看也都有 + +虚拟机用起来没什么问题,要折腾的话可以考虑先装这个,然后把其他发行版都体验一圈 + +PCIe 硬件使用都正常 + +**cons** + +zfs 不能用 + +ISO 安装包的 EFI 引导文件似乎命名不规范,导致 3A6000 没法直接从安装盘启动,需要在 BIOS 手动创建启动项或者在 UEFI Shell 里手动执行 efi 文件启动 + +### AOSC + +[发行地址](https://aosc.io) + +**pros** + +社区活跃,开发者积极 + +PCIe 硬件用起来也都正常 + +**cons** + +官方软件源里的软件包太少,而且有的依赖包版本有点老,导致即便从别的发行版里偷二进制文件来用都不一定好使 + +如果用 GUI 的话也是跟 Arch 一样,否则开机显示桌面直接黑屏 + +## mdadm 创建阵列并挂载 + +由于我有7个相同容量的 HDD,所以我可以直接用 mdadm 创建一个 raid5 阵列。mdadm 软件包里有,直接 apt install 即可。下面简单介绍下步骤,所有分区操作不详细说明,直接用 cfdisk 很简单。 + +1. 清理硬盘,删除硬盘上所有分区,然后每个磁盘创建一个普通 ext4 分区 +2. 使用 mdadm 创建 raid5 阵列,命令 be like + + ```bash + sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda1 /dev/sdb1 /dev/sdc1 + ``` + +3. 等待阵列创建完毕,一定要等待创建完再进行下面的步骤,不然会卡 I/O。可以通过下面的命令查看进度 + + ```bash + cat /proc/mdstat + sudo mdadm --detail /dev/md0 + ``` + +4. 格式化 + + ```bash + sudo mkfs.ext4 /dev/md0 + ``` + +5. 挂载 + + ```bash + sudo mkdir /mnt/raid5 + sudo mount /dev/md0 /mnt/raid5 + ``` + +## 配置 Samba + +samba 也是可以直接安装,软件包里有 + +1. 备份原始配置文件: + + ```bash + sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup + ``` + +2. 编辑 Samba 的配置文件来添加分享: + + ```bash + sudo nano /etc/samba/smb.conf + ``` + + 在文件的底部添加: + + ```config + [NAS] + path = /mnt/raid5 + writeable = yes + browseable = yes + create mask = 0777 + directory mask = 0777 + public = no + ``` + +3. 创建 samba 用户,如果是 root 就使用 `adduser your_username` 创建一个新用户后再执行 + + ```bash + sudo smbpasswd -a your_username + ``` + +4. 如果用户的用户组权限不够的话,可以改一下文件夹权限 + + ```bash + sudo chown your_username:your_username /path/to/your/directory + sudo chmod 0700 /path/to/your/directory + ``` + +5. 重启 Samba 服务: + + ```bash + sudo service smbd restart + ``` + +## 配置 Rsync 服务端 + +rsync 软件包里也有,直接安装就行 + +1. 使用 `sudo nano /etc/rsyncd.conf` 修改配置文件,内容 be like + + ```config + uid = <有权限的用户的uid> + gid = <有权限的用户的gid> + use chroot = yes + max connections = 10 + strict modes = yes + log file = /var/log/rsync.log + timeout = 300 + + [HyperBackup] + path = /mnt/raid5/HyperBackup + comment = Backup folder + read only = no + list = yes + auth users = flintylemming + secrets file = /etc/rsyncd.secrets + hosts allow = YOUR_ALLOWED_IP_RANGE_OR_ADDRESS + ``` + +2. 使用 `sudo nano /etc/rsyncd.secrets` 创建密码文件,内容 be like + + ```plain text + flintylemming:xxxx + ``` + +3. 启动 rsync + + ```bash + sudo rsync --daemon + ``` + +## 安装 qBittorrent + +软件包里也有,直接安装就行。不要 GUI 的话,就安装 qbittorrent-nox + +这个没什么好配置的,直接启动后在 WebUI 里配置就行。新建一个 screen 或者创建一个 systemctl 服务直接运行 qbittorrent-nox 即可。建议运行前先执行 `export LANG=zh_CN.UTF-8` 把当前会话的 shell 语言改成中文,不然下载含有汉字的文件夹资源,汉字都会变成.。 + +## 简评 + +从之前听闻 LoongArch 合并入 Linux 5.19 主线后,到我实际上手 3A6000 以一个垃圾佬的角度测试设备的情况来说,我认为说龙芯平台对于主流硬件支持已经比较好了,驱动基本不缺。而且性能也有主流水平。 + +软件方面 gcc、go、python 等主流语言框架也都支持,维护比较好的发行版软件源对于常用软件也基本做到了开箱即用,少数不能用的自己编译一下也不太麻烦。 + +还没有体验过 CPU 规模比较大的龙芯产品,但我觉得只要把软件包这块积极维护好还是未来可期的。 + +Photo by [eberhard 🖐 grossgasteiger](https://unsplash.com/@eberhardgross?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash) on [Unsplash](https://unsplash.com/photos/W7l2qAUKWcs?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash)