记一次OMV6系统安装
前言
使用旧硬件配置一台供家庭局域网使用的NAS,附带BT下载和HTPC的功能。
使用的软硬件如下:
- CPU:G3220
- 主板:华南金牌B85
- 系统:基于debian bullseye的
openmediavault_6.0.24-amd64
ISO镜像(点击下载) - U盘:1个,作为OMV安装引导盘和GParted启动盘
- SSD:240GB,装入OMV6
- 软件:Etcher(点击下载)
- 其他:键盘、显示器、HDD硬盘
旧主板坏了,只好换了块寨板:华南金牌B85,带3年质保、千兆网口、HDMI、一个半速NVMe M2接口、4个SATA3.0接口与usb3.0前置接口,算是完美符合需求。至于垃圾BIOS……笔记本党无所畏惧。
更新:32GB的U盘不到一年被写坏了,建议上SSD或价格贵点的U盘(即带有磨损均衡),并开启openmediavault-flashmemory,否则后期掉速CPU卡IO(6.0.28的UI开始圆润起来了)。
安装系统
制作系统安装盘
使用Etcher将OMV6的ISO镜像写入U盘,作为系统安装盘
安装系统
此时需要键盘、显示器、U盘引导盘接入主板,用于控制系统安装。
注意语言选中文(简体),后续安装中的配置键盘、时区均与语言有关。
安装中的软件包管理器源可换成国内镜像站,如清华大学开源软件镜像站:mirrors.tuna.tsinghua.edu.cn
在系统盘上划分出系统分区和数据分区
将系统分区缩小,可在系统盘坏了后,将备份后的数据直接写入至比系统分区大的新盘中。 或者在系统盘中装入两个不同的文件系统(因为目前OMV的系统分区必须是ext4的,而我又希望能将系统中的部分数据写入btrfs,利于btrfs的快照特性进行版本备份)。 主要是使用GParted启动盘bios中设置引导物理机启动后,划分系统盘,详情可参考这个视频。
btrfs还是zfs?
在这里啰嗦几句,改如何选择btrfs和zfs。
- 极重视数据安全:你应该首先考虑TrueNAS CORE这个系统而不是OMV,应直接使用zfs和“两地三中心”方案,并为zfs购买足够的内存,具体为1T热数据配1G内存。
- 重视数据安全 > docker:考虑使用zfs,并对比TrueNAS SCALE和OMV这两个系统(都基于Debian)哪个更合适。
- docker > 重视数据安全:考虑在OMV上使用zfs或btrfs(好像要换内核,omv-extras可以实现),TrueNAS SCALE的容器基础是k3s,比k8s轻量,比Docker重,部分技术细节有差异,在我看来可能不那么适合家用。
- 不喜欢“数据池”作为家用存储(即硬盘挂载后即可读取数据),但又希望能使用快照功能:直接上btrfs。
配置系统
安装完成后拔出系统安装盘重启,通过PuTTY
FinalShell
等SSH连接软件进入root
用户,以避免终端的中文乱码问题。
设置终端页面为英文
若想外接显示器使用终端,则需要改变语言,避开中文乱码:
export LANG=en_US.UTF-8
sudo dpkg-reconfigure locales
reboot
或用其他方式将终端本土化。
更新软件
sudo apt update
sudo apt upgrade -y
安装omv-extras
首先运行下行代码,防github解析错误,代码来自GitHub520:
sed -i "/# GitHub520 Host Start/Q" /etc/hosts && curl https://raw.hellogithub.com/hosts >> /etc/hosts
omv-extras插件提供了更多的OMV插件,但目前omv-extras提供的插件较少。 根据官方指南在root用户下输入:
wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash
或者在系统——插件
中搜索openmediavault-omvextrasorg
安装
替换软件源
omv-env set OMV_APT_REPOSITORY_URL "https://mirrors.tuna.tsinghua.edu.cn/OpenMediaVault/public"
omv-env set OMV_APT_ALT_REPOSITORY_URL "https://mirrors.tuna.tsinghua.edu.cn/OpenMediaVault/packages"
omv-env set OMV_APT_KERNEL_BACKPORTS_REPOSITORY_URL "https://mirrors.tuna.tsinghua.edu.cn/debian"
omv-env set OMV_APT_SECURITY_REPOSITORY_URL "https://mirrors.tuna.tsinghua.edu.cn/debian-security"
# 如果你有安装 omv-extras 则需要运行如下命令更改源
omv-env set OMV_EXTRAS_APT_REPOSITORY_URL "https://mirrors.tuna.tsinghua.edu.cn/OpenMediaVault/openmediavault-plugin-developers"
omv-env set OMV_DOCKER_APT_REPOSITORY_URL "https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian"
omv-env set OMV_PROXMOX_APT_REPOSITORY_URL "https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian"
# 使得环境变量更改生效
omv-salt stage run all
安装docker
-
使用omv-extras安装docker。
-
使用docker官方推荐的方式。 若未安装omv-extras,按照官方文档则需要先设置存储库:
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- 安装omv-extras或设置docker存储库之后:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
配置docker
- 配置btrfs(可选)
由于我在
/var/lib/docker
下挂载的是btrfs文件系统,需要编辑或创建文件/etc/docker/daemon.json
。
{
"storage-driver": "btrfs"
}
- 配置仓库源
{
"registry-mirrors": ["http://f1361db2.m.daocloud.io","https://docker.mirrors.ustc.edu.cn","http://hub-mirror.c.163.com","https://registry.docker-cn.com"]
}
- 限制日志大小为3*10m
{
"log-opts": {
"max-size": "20m",
"max-file": "3"
}
}
- 重启docker
systemctl restart docker
配置OMV
根据NAS的IP进入OMV的管理页面。
- 用户名:admin
- 初始密码:openmediavault
登录后页面即为仪表盘。
修改密码
点击右上角的设置,选择Change Password。 同时可以在设置中修改仪表盘的组件。
设置系统设置
- 在
系统——工作台
中将自动登出设置为'10分钟’。 - 在
系统——日期和时间
中时区设为Asia/Shanghai
, - 在
系统——通告
中按需设置。 - 由于NAS的电源按钮容易误碰,在
系统——电源管理——设置
中将动作设为没有
。 - 在
系统——证书——SSH
中,导入
已存在的私钥和公钥
,或创建
一个新的。之后可将密钥复制
给需要的用户,如root
。 - 在
系统——omv-extras
中,安装Docker
和其管理面板Portainer
,Yacht
功能没Portainer
全。
安装OMV插件
在系统——插件
中安装,或者知道包名后直接用命令行安装。下面是我必备的一些插件:
-
openmediavault-omvextrasorg 安装后的路径在
系统——omv-extras
,就是omv-extras。 -
openmediavault-anacron 安装后的路径在
服务——Anacron
。 与cron,即系统——计划任务
这个功能类似。但是anacron适合经常将OMV关机的用户,anacron会在按检测周期,判断是否有定时任务在关机之后没有执行。如果有这样的任务,那么 anacron 会在特定的时间(Delay (min)之后)重新执行这些定时任务。 比如,我有个Docker配置文件备份的任务:
# 将 /docker 压缩至 /srv/data3/Backups/docker/docker-年-月-日.tar
tar -cPf /srv/data3/Backups/docker/docker-$(date +"%Y-%m-%d").tar /docker
-
openmediavault-apttool 安装后的路径在
服务——Apt 工具
。 apt工具的可视化界面,懒得用终端时用的。 -
openmediavault-backups 安装后的路径在
系统——备份
。 将系统分区通过各种工具备份(同步)至外部存储。 -
openmediavault-cputemp 安装后的路径在
仪表盘
,需要在右上角勾选CPU Temp
Sensors
。 通过仪表盘查看OMV的CPU温度,部分主板的CPU Temp
显示是预估的当前室温,需要通过apt install -y lm-sensors
以启动Sensors
查看实际温度。 -
openmediavault-diskstats 安装后的路径在
诊断——性能统计——磁盘 I/O
。 收集硬盘性能统计信息,使用了ZFS或Btrfs存储池的用户可能有这方面的需求。 -
openmediavault-flashmemory 安装后的路径在
服务——Flashmemory
。 对于闪存媒体启动驱动器这个插件是必需的,否则它的寿命会很短。 -
openmediavault-kvm 安装后的路径在
服务——KVM
。 OMV上使用虚拟机必备。 -
openmediavault-mergerfs(可选) 安装后的路径在
存储器——mergerfs
。 由于我不在OMV上使用存储池,需要使用 mergefs 将各个硬盘的文件夹合并到单个挂载点下。 使用ZFS和Btrfs存储池的可以忽略。 -
openmediavault-symlinks 安装后的路径在
服务——Symlinks
。 用于在WEB UI中创建管理系统中的软连接。
设置网络唤醒
在网络——接口
中选择用于网络唤醒的接口,在编辑
的最后,将网络唤醒 WOL
勾上。这项功能也需要进主板Bios调整。
设置用户管理
在用户管理——用户
中,创建
用户peter
,设置密码
shell
SSH公钥
并加入sudo
users
用户组。
peter将作为日常使用、bt下载的用户。
设置存储器(磁盘)
OMV可设置RAID,但我重要数据习惯冷备同步,剩下的可bt下回来,故不太懂这方面。
设置磁盘停转
节约用电,读取数据时磁头启转也花不了多少时间。
在存储器——磁盘——编辑
中设置。
设置S.M.A.R.T
- 注:这部分建议设置好
系统——通告
,方便邮箱提醒。
- 在
存储器——S.M.A.R.T——设置
中,勾上启用
;将时间1800
改为3600
,即每小时轮询一次;电源模式设置为待机(Standby)
,大部分硬盘推荐使用该模式;温度监测按需设置,我的为差异5°C
最大50°C
,按机箱实际情况调整。 - 在
存储器——S.M.A.R.T——设备
中,编辑
需要的磁盘,勾上Monitored
。 - 在
存储器——S.M.A.R.T——Scheduled Tasks
中,按需创建。
挂载磁盘
在存储器——文件系统
中,新磁盘进行创建
,有数据的硬盘进行挂载
。
- 创建:即格式化,得先在
存储器——磁盘——编辑
进行擦写
后才能进行。 挂载
中的使用警告阈值最上面有个禁用
,否则超过了会不停往邮箱发邮件。
启用SMB服务并共享文件夹
其他服务同理,但我不用。
- 在
存储器——共享文件夹
中,进行创建
。 - 在
服务——SMB/CIFS——共享
中,用创建
将上一步共享的文件夹
设置好。 - 在
服务——SMB/CIFS——设置
中,勾上已启用
并按需设置。
mergerfs 合并文件夹挂载共享
假如安装了openmediavault-mergerfs插件,在挂载好硬盘之后可合并文件夹挂载共享。
在存储器——mergerfs
中,点击创建
:
- 名称:合并后的文件夹将挂在
/srv/mergerfs/名称
下。 - 文件系统:保存后,将已挂载的硬盘的路径自动填在
路径
中。 - 共享文件夹:保存后,将共享文件夹自动填在
路径
中。 可选项。保存时所有共享文件夹将转换为路径。 - 路径:mergerfs将合并的文件夹路径,
- 创建策略:文件写入时,按一定的优先级策略写入到某个硬盘。
- Minimum free space:设定文件系统的最小剩余空间。
- fstab:是否保存到/etc/fstab中,由fstab控制。
- 选项:默认即可,详见https://manpages.debian.org/bullseye/mergerfs/mergerfs.1.en.html#mount_options
安装其他功能
安装Kodi(及IPTV插件)用于播放本地影音
sudo apt install kodi kodi-pvr-iptvsimple -y
- 注:貌似kodi官方未提供在线安装插件的功能,需在Kodi官网下载zip插件包进行安装(包括中文语言)。
安装LXDE桌面、中文字体用于提供图形化界面
- Tip:可以使用带vnc及桌面环境的docker容器 这一步为后面安装百度网盘Linux版、360浏览器做准备,请按需安装。
sudo apt install xorg xserver-xorg -y
sudo apt install lxde ttf-wqy-zenhei -y
如果无法通过面板控制声音,安装pulseaudio,pavucontrol可以作为混音器使用:
sudo apt install pulseaudio pavucontrol -y
安装vnc通过网络控制桌面
主要是用来控制百度网盘。
- realvnc:可通过外网控制。点击获取下载地址(realvnc-vnc-server)
- x11vnc:用于局域网控制,如当NAS全速下载时,解决realvnc不可用问题。
安装:
wget https://www.realvnc.com/download/file/vnc.files/VNC-Server-6.7.4-Linux-x64.deb
sudo dpkg -i VNC-Server*.deb
sudo apt --fix-broken install -y
sudo apt install x11vnc -y
开启:
- realvnc:需要官网注册账号,之后在realvnc中登陆账号。
- x11vnc:
su peter
x11vnc -storepasswd
x11vnc -rfbport 5900 -rfbauth ~/.vnc/passwd -display :0 -forever -bg -repeat -nowf -o ~/.vnc/x11vnc.log
之后需要使用的时候,用peter输入x11vnc
即可。
控制:
使用realvnc的VNC Viewer连接realvnc或x11vnc。
安装百度网盘Linux版
进入百度网盘官网寻找下载连接:官网地址 以下软件包在debian bullseye的软件源中暂未含有(该消息可能过期):
- 百度网盘依赖的
libappindicator3-1
- libappindicator3-1依赖的
libindicator3-7
在https://pkgs.org/中获得下载连接(使用buster版本)。
wget http://ftp.br.debian.org/debian/pool/main/libi/libindicator/libindicator3-7_0.5.0-4_amd64.deb
sudo dpkg -i libindicator3-7*.deb
sudo apt --fix-broken install -y
wget http://ftp.cn.debian.org/debian/pool/main/liba/libappindicator/libappindicator3-1_0.4.92-7_amd64.deb
sudo dpkg -i libappindicator3-1*.deb
sudo apt --fix-broken install -y
wget https://issuecdn.baidupcs.com/issue/netdisk/LinuxGuanjia/3.5.0/baidunetdisk_3.5.0_amd64.deb
sudo dpkg -i baidunetdisk*.deb
sudo apt --fix-broken install -y
安装360浏览器
- 注:不需要在线播放Flash视频(bilibili、腾讯直播等)可跳过。
360浏览器原生支持 Flash 视频播放,可省下折腾Firefox或Chromium的时间,代价是消耗更多的资源? 进入360浏览器官网寻找下载连接:官网地址
wget https://down.360safe.com/gc/browser360-cn-stable_10.4.1015.1-1_amd64.deb
sudo dpkg -i browser360*.deb
sudo apt --fix-broken install -y
备份下我目前的设置,故设置为隐藏。 [collapse status=“false” title=“备份”]
更新/etc/hosts
104.25.27.31 u2.dmhy.org
104.25.26.31 u2.dmhy.org
104.25.61.106 u2.dmhy.org
104.25.62.106 u2.dmhy.org
172.67.98.15 u2.dmhy.org
104.25.27.31 tracker.dmhy.org
104.25.26.31 tracker.dmhy.org
104.25.61.106 tracker.dmhy.org
104.25.62.106 tracker.dmhy.org
172.67.98.15 tracker.dmhy.org
104.25.26.31 bbs.dmhy.org
104.25.27.31 bbs.dmhy.org
104.25.61.106 bbs.dmhy.org
104.25.62.106 bbs.dmhy.org
172.67.98.15 bbs.dmhy.org
104.25.26.31 dl.dmhy.org
104.25.27.31 dl.dmhy.org
104.25.61.106 dl.dmhy.org
104.25.62.106 dl.dmhy.org
172.67.98.15 dl.dmhy.org
104.25.26.31 share.dmhy.org
104.25.27.31 share.dmhy.org
104.25.61.106 share.dmhy.org
104.25.62.106 share.dmhy.org
172.67.98.15 share.dmhy.org
104.26.2.193 daydream.dmhy.best
104.26.3.193 daydream.dmhy.best
172.67.72.28 daydream.dmhy.best
tranmission
sudo docker run -d \
--name=transmission \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
-p 9091:9091 \
-p 51413:51413 \
-p 51413:51413/udp \
-v /docker/transmission/config:/config \
-v /docker/transmission/downloads:/downloads \
-v /docker/transmission/watch:/watch \
-v /srv/dev-disk-by-uuid-bf553868-62bf-4010-8b76-bbad627483d7/data1:/srv/data1 \
-v /srv/dev-disk-by-uuid-dfe693c1-0d39-4302-894d-b6222efa0467/data2:/srv/data2 \
-v /srv/dev-disk-by-uuid-4a8dd369-01a2-4ddd-9c95-ccbc7f9b009f/data3:/srv/data3 \
--restart on-failure:3 \
linuxserver/transmission:latest
and then
docker exec -it transmission /bin/bash
wget https://github.com/ronggang/transmission-web-control/raw/master/release/install-tr-control.sh
wget https://gitee.com/culturist/transmission-web-control/raw/master/release/install-tr-control-cn.sh
bash install-tr-control-cn.sh
[/collapse]