家用NAS安装大礼包:PVE+OMV+常用soft详细安装教程
一、PVE安装(转载参考 SMZDM)
SMZDM链接: 超详细,多图,PVE安装以及简单设置教程(个人记录)_软件应用_什么值得买
二、OMV安装
1、基础安装
本教程以OMV5(菜单个人感觉更美观)为样例,OMV6页面更简洁,首页提供性能监控视图。
下载 OMV,地址: Download | openmediavault,点击图中按钮,自动下载(会跳转到新页面,新页面不需要点 download,点了下载的是别的东西)
打开 PVE,左上角下拉框选择 storage View,上传刚下载的 OMV 的 ISO 镜像,
上传完成后,再次在左上角选 Server View,右键安装 PVE 的服务器,选择 Create VM,创建 VM 虚拟机
填写虚机 ID 和名称
选择安装上传的 openmediavault 镜像
后续硬盘容量、CPU 核数、内存容量根据自己配置要求调整(个人推荐 40G、8C、16G),直至安装结束。
打开安装omv的地址http://ip,默认登录账号admin/openmediavault
若安装的是OMV5,登陆后优先设置时区并保存,根据提示应用配置。
2、虚机新增硬盘并设置直通
关闭OMV虚拟机(开着虚拟机会挂在不成功)
在PVE主机(是安装PVE的主机,不是安装OMV的虚机)上执行ls -l /dev/disk/by-id
找到新硬盘id,如下图样例,复制ID
执行qm set VMID -sata1 /dev/disk/by-id/硬盘识别符
样例:qm set 100 -sata1 /dev/disk/by-id/ata-WDC_WD42EJRX-89BFNY0_WD-WX82DA1H5E5N
其中100为你安装OMV的虚机ID
添加完成后在OMV虚机下能看到新增的硬盘sata1
启动OMV,查看硬盘是否能查看,能查看到新盘,表示直通成功
3、大于2T硬盘分区
对硬盘进行逻辑分区,当硬盘大于2T时,不能使用fdisk分区,需使用GTP分区,样例以sdb为例
执行parted /dev/sdb
mklabel gpt #将磁盘设置为gpt格式,
mkpart logical 0 -1 #将磁盘所有的容量设置为GPT格式
print #查看分区结果
这个时候应该是默认进行分了一个/dev/sdb1这个分区,然后退出parted(ctrl+c),在终端输入 sudo mkfs.ext4 -F /dev/sdb1
查看硬盘/dev/sda1对应的UUID
执行sudo blkid
上图为样例sdb1的UUID
注意:唯一的sda1的UUID号。
再事先准备好一个地方来做挂载点,比如我这里是/omv(通过mkdir omv创建),然后再用命令打开配置文件:
终端输入sudo vim /etc/fstab
然后在文件末尾添加
UUID=cac7aff4-08de-4d3d-bbf5-22401330a144 /omv ext4 defaults 0 0
reboot重启电脑。
执行df -h查看是否挂载,如下图所示表示挂在成功
注:删除直通命令如下
qm set 101 -delete sata0
qm命令
set选项
101虚拟机编号
-delete删除命令
sata0要删除的设备名
三、omv-extras安装
apt-get update
apt-get install dirmngr
apt --fix-broken install
apt-get --yes --no-install-recommends install dirmngr gnupg
wget http://omv-extras.org/openmediavault-omvextrasorg_latest_all5.deb
dpkg -i openmediavault-omvextrasorg_latest_all5.deb
或者最后两步
wget http://omv-extras.org/openmediavault-omvextrasorg_latest_all6.deb
dpkg -i openmediavault-omvextrasorg_latest_all6.deb
安装完成后,OMV登陆后,菜单增加omv-extras
四、Docker安装
安装完omv-extras,通过菜单打开omv-extras,安装docker,等待安装完成。
五、Portainer安装
1、更换 docker 源
执行cp /etc/docker/daemon.json /etc/docker/daemon.json.bak(备份daemon.json)
执行vim /etc/docker/daemon.json
在"data-root": "/var/lib/docker",后添加以下代码
{
"storage-driver" : "devicemapper",
"registry-mirrors" : [
"https://mirror.ccs.tencentyun.com",
"http://registry.docker-cn.com",
"http://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163,com"
],
"insecure-registries" :
[
"registry.docker-cn.com",
"docker.mirrors.ustc.edu.cn"
],
"debug" : true,
"experimental" : true
}
如下图
执行:wq保存退出
重新加载配置
systemctl daemon-reload
重启docker
systemctl restart docker.servcice
验证docker是否启动成功
docker ps -a
若显示以下信息,表示启动成功
2、安装 apparmor
(此步防止portainer启动时报错apparmor找不到对应文件或目录)
apt install apparmor
3、安装 portainer
方式一:ssh远程OMV虚拟机安装
1、查询portainer镜像
docker search portainer
2、拉去镜像
docker pull portainer/portainer-ce
3、启动portainer容器
docker run -d -p 9000:9000 --restart=always --name portainer -v /var/run/docker.sock:/var/run/docker.sock -v /Users/lee/dev/docker_file/portainer/data:/data docker.io/portainer/portainer-ce
4、直至安装完成,查看容器是否创建成功
docker ps -a
若有portainer启动的容器,且状态为up,则容器启动成功
方式二:通过OMV页面安装
进入菜单OMV-extras,点击portainer倒三角,点击安装,等待安装完成。
注意:若未安装apparmor启动 portainer 报错 apparmor failed to apply profile: write /proc/self/attr/exec: invalid argument: unknown,且 container 状态为 created,
执行apt install apparmor
重启reboot
再次启动容器
docker start CONTAINER ID(容器id)
六、应用安装
推荐安装软件目录,软件使用参考百度/Bing搜索的教程
navidrome:一个开源的音乐管理软件,类似于QQ音乐,不过肯定是达不到QQ音乐那么丰富完善的。
filebrowser:使用Golang开发的文件管理器,支持WEB管理文件和文件分享
ddns-go:动态DNS解析,支持WEB界面设置
wireguard:一个开源的VPN软件,如果你不想将OMV服务映射到公网,这是一个必不可少的软件,可以通过这个软件连接到你的内网
jellyfin:开源的多媒体管理软件,用来管理电影非常方便,并且有全平台的客户端支持,我的博客已经多次介绍,可以点右上角搜索试试
aria2:多线程下载工具,支持http/ftp/BT等协议
qbittorrent:BT下载工具,抢上传比较厉害,一般PT用得比较多,整不好这个就用xunlei
transmission:也是一个BT下载工具,用来保种不错,占用很低
portainer-ce:一个专业的Docker管理工具
以jellyfin为样例演示安装步骤
1、jellyfin安装
登录portainer,地址http://ip:9000
方式一:通过stack安装
打开portainer,选择侧边栏 stacks ,点击 add stack 按钮即可创建 portainer stack。
portainer stack使用的是 docker-compose 格式的部署脚本,需要从 docker hub 中的 jellyfin文档复制并且加以修改。文档中代码如下:
---
version: "2.1"
services:
jellyfin:
image: ghcr.io/linuxserver/jellyfin
container_name: jellyfin
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
- JELLYFIN_PublishedServerUrl=192.168.0.5 #optional
volumes:
- /path/to/library:/config
- /path/to/tvseries:/data/tvshows
- /path/to/movies:/data/movies
- /opt/vc/lib:/opt/vc/lib #optional
ports:
- 8096:8096
- 8920:8920 #optional
- 7359:7359/udp #optional
- 1900:1900/udp #optional
devices:
- /dev/dri:/dev/dri #optional
- /dev/vcsm:/dev/vcsm #optional
- /dev/vchiq:/dev/vchiq #optional
- /dev/video10:/dev/video10 #optional
- /dev/video11:/dev/video11 #optional
- /dev/video12:/dev/video12 #optional
restart: unless-stopped
其中
JELLYFIN_PublishedServerUrl=192.168.0.5
为你OMV虚机IP
以下path/to/libarary、tvseries等为你容器映射到OMV虚机上的绝对路径(需提前创建),“:”后的为容器中的文件路径。
- /path/to/library:/config
- /path/to/tvseries:/data/tvshows
- /path/to/movies:/data/movies
- /opt/vc/lib:/opt/vc/lib #optional
说明:
8096:web ui端口
8920:https web ui端口,如果没有数字证书可忽略
7359/udp:jellyfin客户端发现端口,可忽略
1900/udp:DNLA服务发现端口,可忽略
安装完成后打开http://ip:8096
方式二:通过add contner添加
1、点击home->local->container->add container
2、点击search,打开docker hub页面,查询jellyfin
选择带SPONSORED OSS(赞助项目)的镜像
3、依自己喜好填写容器name,可以填jellyfin,在image栏填写docker hub查询到的镜像名linuxserver/jellyfin:latest(:latest获取最近镜像)。
根据dockerhub中镜像描述进行ports配置
依据上图配置以下参数
4、点击map additional volume添加volumes,点击bind可以手动输入OMV虚机实际路径(写绝对路径)
5、配置environment
6、配置Restart policy为Unless stopped
7、点击Depoly the container创建容器
8、安装完成后浏览器打开http://ip:8096,登录jellyfin