Getting Started with OpenMediaVault/zh
Contents
- 1 OpenMediaVault版本信息
- 2 旧版本的OpenMediaVault文档
- 3 OpenMediaVault运行界面
- 4 支持的平台
- 5 查看IP地址
- 6 登录OpenMediaVault网页后台
- 7 设置网页登录密码
- 8 默认的Linux帐号与密码
- 9 设置网页超时时间
- 10 通过ssh登录
- 11 更新用户密码
- 12 配置网络与时区
- 13 切换国内软件源
- 14 配置硬盘
- 15 创建共享文件夹
- 16 创建NAS用户
- 17 创建Samba共享
- 18 创建NFS共享
- 19 Docker的使用
- 20 系统的备还与还原
- 21 系统重装后恢复硬盘数据
- 22 常见问题与解决办法
- 23 更新OpenMediaVault到新版本
- 24 OpenMediaVault软件包一览
1 OpenMediaVault版本信息
- OS: Debian 12
- OpenMediaVault: 7.0.5-1 (Sandworm)
- Others: 已安装OMV-Extras软件包
2 旧版本的OpenMediaVault文档
Link to → Getting Started with OpenMediaVault6
3 OpenMediaVault运行界面
4 支持的平台
- RK3328
- RK3399
- RK3568
- RK3588
5 查看IP地址
可以使用ping命令来获得IP地址:
ping openmediavault
6 登录OpenMediaVault网页后台
在网页浏览器输入http://openmediavault/, 或者开发板的IP地址登录网页后台, 帐号默认为:
用户名: admin 密码: openmediavault
7 设置网页登录密码
网页上点击右上角的头像,选择 “更改密码”
8 默认的Linux帐号与密码
普通用户:
用户名: pi
密码: pi
Root用户:
用户名: root
密码: fa
9 设置网页超时时间
进入 系统 -> 工作台,设置"自动登出"时间。
10 通过ssh登录
ssh pi@YourIPAddress
pi用户的初始密码为 pi
11 更新用户密码
sudo passwd root sudo passwd pi
12 配置网络与时区
用root用户登录ssh:
ssh root@IPAddress
执行如下命令:
omv-firstaid
13 切换国内软件源
13.1 Debian中文源
sudo sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list sudo apt update
13.2 OpenMediaVault中文源
omv-env set OMV_APT_REPOSITORY_URL "https://mirrors.bfsu.edu.cn/OpenMediaVault/public" omv-env set OMV_APT_ALT_REPOSITORY_URL "https://mirrors.bfsu.edu.cn/OpenMediaVault/packages" omv-env set OMV_APT_KERNEL_BACKPORTS_REPOSITORY_URL "https://mirrors.bfsu.edu.cn/debian" omv-env set OMV_APT_SECURITY_REPOSITORY_URL "https://mirrors.bfsu.edu.cn/debian-security" # 如果你有安装 omv-extras 则需要运行如下命令更改源 omv-env set OMV_EXTRAS_APT_REPOSITORY_URL "https://mirrors.bfsu.edu.cn/OpenMediaVault/openmediavault-plugin-developers" omv-env set OMV_DOCKER_APT_REPOSITORY_URL "https://mirrors.bfsu.edu.cn/docker-ce/linux/debian" omv-env set OMV_PROXMOX_APT_REPOSITORY_URL "https://mirrors.bfsu.edu.cn/proxmox/debian" # 使得环境变量更改生效 omv-salt stage run all
14 配置硬盘
(注:如果硬盘之前已经初始化,无需重新擦除,RAID可以得到保留,直接挂载即可)
请参考 #系统重装后恢复硬盘数据
14.1 第一步:清除硬盘
注意备份你的数据
进入 存储器 -> 磁盘,选中你的存储器,点击“擦除"图标进行擦除,一般选“快速”即可。
如果硬盘无法擦除,你需要先移除此硬盘上的共享文件夹并取消挂载。
14.2 第二步:创建文件系统
本章节所介绍的两种Raid配置的区别:
- MD RAID:性能更好,因为它在并行写入和读取分块方面做得更好。
- Btrfs RAID:数据安全性更好,因为校验和使其能够确定块的哪个副本出错,当只有一个副本出错时,并且它能够判断两个副本是否都有问题。
注:不支持为USB接口的硬盘创建RAID队列, 更详细内容请参考官方指南: RAID
14.2.1 方案1: 配置MD RAID
- 进入 存储器 -> 多重装置,点击“+”图标,在"级别"一栏选择RAID级别,在"设备"一栏钩选存储设备,保存后,状态如下所示:
你需要等待状态从 resyncing 转为 clean,完成后如下图所示:
- 进入 存储器 -> 文件系统,点击“+”,类型建议选择"BTRFS",选择"Single"并在"设备"栏中钩选你的存储设备,如果在上一步中创建了RAID,设备名是以"/dev/md"开头的,如果你的设备在"设备"栏中没法列出,可能是设备中已存在共享文件夹等数据,尝试点击 ► 图标直接挂载,如果数据可以被丢弃,则可以考虑使用如下命令擦除硬盘数据:
# 注意:硬盘中的所有数据将会丢失 sudo wipefs --all /dev/mdX
/dev/mdX需要换成真实的设备,通过"cat /proc/partitions"命令查看。
- 格式化完成后,OpenMediaVault 将提示您挂载该设备。
14.2.2 方案2: 配置Btrfs RAID
- 进入 存储 -> 文件系统,点击 "+" 图标,选择 "BTRFS",选择 RAID 级别,选择您的硬盘,然后保存设置。
- 格式化完成后,OpenMediaVault 将让您选择要挂载的文件系统,它不会列出RAID阵列中的所有硬盘,选择位于阵列中的其中一个硬盘即可。
14.2.3 方案3: 不使用RAID阵列
- 进入 存储 -> 文件系统,点击 "+" 图标,选择 "BTRFS",选择 Single 级别,选择您的硬盘,然后保存设置。
- 格式化完成后,OpenMediaVault 将提示您挂载该设备。
15 创建共享文件夹
进入存储器 -> 共享文件夹,添加"+"图标创建2个文件夹,名称分别为nfs和samba,我们接下来将用这些文件夹来测试nfs和samba共享。
(注:如果硬盘中存在同名的共享文件夹,重新创建同名的文件夹,数据会得到保留)
16 创建NAS用户
Debian系统的用户或通过命令行创建的Linux会缺少诸如samba之类服务的访问权限,因此这里推荐使用OpenMediaVault界面创建一个用户用于访问samba和nfs共享,这里我会创建一个名为nasuser的用户和组:
- 点击用户 -> 用户组,点击 "+" 图标创建一个名为 nasuser 的用户组。
- 点击用户 -> 用户,点击 "+" 图标后创建一个名为 nasuser,Shell选择/usr/sbin/nologin, 用户组钩选nasuser和users的用户。
17 创建Samba共享
- 点击服务 -> SMB/CIFS -> 设置, 钩选最上面的 "已启动", 最低协议版本选择 "SMB1",然后点 "保存";
- 点击服务 -> SMB/CIFS -> 共享, 点击 "+" ,在 "Shared folder" 处选择要共享的文件夹,这里我选择samba文件夹。
测试访问:
在Mac系统下右击Finder,选择连接服务器后输入 smb://YourIPAddress(换成真实IP),会弹出验证对话框,输入用户名nasuser以及密码即可以访问。
18 创建NFS共享
- 点击"服务" -> "NFS" -> "设置", 钩选最上面的 "已启动", 在"版本"一栏中,钩选所有版本包括“NFSv2”,然后点 "保存"并应用设置;
- 点击"服务" -> "NFS" -> "共享", 点击 "+" ,在 "Shared folder" 处选择要共享的文件夹,这里我选择 nfs 文件夹。在客户端一栏中输入 192.168.1.0/24 (换成真实网段,或指定仅允许访问的IP),权限处选择 "读/写",在扩展选项中输入:
rw,async,insecure,no_subtree_check,all_squash,anonuid=0,anongid=0
然后点 "保存"并应用设置;
18.1 Mac下测试挂载NFS
命令行查看OpenMediaVault的NFS共享信息
# showmount -e YourIPAddress Exports list on YourIPAddress: /export 192.168.1.0/24 /export/nfs 192.168.1.0/24
在Mac上右击Finder,选择连接服务器,在地址栏输入
nfs://YourIPAddress/export/nfs
18.2 Linux下测试挂载NFS
安装软件包
sudo apt install nfs-common
挂载
sudo mount -t nfs YourIPAddress:/export/nfs /mnt/nfs
查看状态
# df -h | grep nfs YourIPAddress:/export/nfs 7.3G 3.5M 6.8G 1% /mnt/nfs
设置开机自动挂载,添加如下内容到 /etc/fstab
YourIPAddress:/export/nfs /mnt/nfs nfs defaults 0 0
19 Docker的使用
19.1 安装Docker
- 进入 系统 -> 插件, 搜索并安装 openmediavault-compose 插件,安装完毕后刷新页面。
- 进入服务 -> Compose -> 设置,滚动到页面最下方,点击 重新安装Docker 即可安装Docker。
19.2 将Docker数据移动至硬盘
进入存储器 -> 共享文件夹,添加 "+" 图标创建3个文件夹,分别为
docker -> Docker数据目录,在/etc/docker/daemon.json中定义 docker-compose -> Location of compose files docker-data -> Location of persistent container data docker-app -> 自用,存放Dockerfile和数据
进入服务 -> Compose,进入设置界面,设置"Compose 文件"的Shared folder为docker-compose, 设置"Data“的Shared folder为docker-data,
进入ssh终端,输入以下命令,将docker数据移动到共享文件夹, 其中,/srv/dev-disk-by-uuid-XXYYZZ/docker 是共享文件夹的绝对路径,可以在网页 存储器 -> 共享文件夹 列表中得到:
su root systemctl stop docker.socket docker.service mv /var/lib/docker/* /srv/dev-disk-by-uuid-XXYYZZ/docker/
在页面上设置 Docker存储 为该docker共享文件夹的绝对路径,保存并应用后, 重启开发板。
GUI 上填写的最终数值:
Compose Files's Shared folder -> on /dev/md0, docker-compose Data's Shared folder -> on /dev/md0, docker-data Docker's Docker storage -> on /srv/dev-disk-by-uuid-XXYYZZ/docker/
19.3 Docker安装nextcloud网盘
命令行界面输入以下命令即可:
su root cd $(readlink -f /srv/dev-disk-by-uuid-*/docker-app) mkdir nextcloud cd nextcloud mkdir data docker run -d -p 8888:80 --name nextcloud \ -v $PWD/data:/var/www/html --restart=always \ --privileged=true arm64v8/nextcloud
完成后在网页浏览器访问http://YourIPAddress:8888/即可看到nextcloud网盘的页面,如果无法访问,建议重启一下设备。
19.4 Docker安装Jellyfin影音服务器
进入 存储器 -> 共享文件夹,添加 "+" 图标创建media文件夹用于存放影音资源,然后在命令行终端输入以下命令安装Jellyfin:
su root cd $(readlink -f /srv/dev-disk-by-uuid-*/docker-app) mkdir jellyfin cd jellyfin mkdir config cache docker run -d --name jellyfin \ -v $PWD/config:/config \ -v $PWD/cache:/cache \ -v $(readlink -f /srv/dev-disk-by-uuid-*/media):/media \ -p 8096:8096 \ --restart=always \ jellyfin/jellyfin
完成后在网页浏览器访问http://YourIPAddress:8096/即可看到Jellyfin的页面。
19.5 安装Docker可视化容器管理工具Portainer
命令行界面输入以下命令即可:
su root cd $(readlink -f /srv/dev-disk-by-uuid-*/docker-app) mkdir portainer cd portainer mkdir data docker run -d \ --name portainer \ --restart=always \ -e TZ=Asia/Shanghai \ -p 8000:8000 \ -p 9000:9000 \ -v /var/run/docker.sock:/var/run/docker.sock \ -v $PWD/data:/data \ portainer/portainer-ce:latest
完成后在网页浏览器访问http://YourIPAddress:9000/即可看到Portainer的页面,默认管理员的帐号与密码都是admin。
20 系统的备还与还原
20.1 备份eMMC中的系统
使用tar命令备份文件系统的内容:
su root cd / tar --warning=no-file-changed -cvpzf /rootfs.tar.gz \ --exclude=/rootfs.tar.gz --exclude=/var/lib/docker/runtimes \ --exclude=/etc/firstuser --exclude=/etc/friendlyelec-release \ --exclude=/usr/local/first_boot_flag --one-file-system /
20.2 还原系统到eMMC
使用SD卡启动,启动Linux系统(例如Debian或Ubuntu均可),使用如下命令查询eMMC上的系统根分区:
root@openmediavault:~# sudo parted -s /dev/mmcblk2 unit MiB print | grep rootfs 8 140MiB 59000MiB 58860MiB ext4 rootfs
根据上面的序号8可以得知根分区的设备名为/dev/mmcblk2p8,下面对它重新格式化并挂载,然后解压rootfs.tar.gz到此处:
sudo mkfs.ext4 /dev/mmcblk2p8 sudo mkdir /mnt/rootfs sudo mount /dev/mmcblk2p8 /mnt/rootfs sudo tar xvzfp /path/to/rootfs.tar.gz -C /mnt/rootfs --numeric-owner --same-owner sudo poweroff
关机后,拨出SD卡,重新上电从eMMC启动系统。
21 系统重装后恢复硬盘数据
- 进入 存储器 -> 文件系统, 点击 ► 图标,在 文件系统 一栏选择你的设备,点保存。
- 进入 存储器 -> 共享文件夹, 创建同名共享文件名,例如本文示例中的nfs, samba, docker, docker-app, docker-compose和docker-data。
22 常见问题与解决办法
22.1 问题: 部分硬盘无法识别
可能有多个固态硬盘具有相同的ID,请使用以下命令进行检查:
sudo dmesg | grep duplicate IDs
如果出现字样"globally duplicate IDs for nsid",更新固件即可解决。
此类硬盘不支持使用 /dev/disk/by-id 方式来访问。
22.2 问题: Raid阵列出现如下状态Clean, Resyncing (PENDING)
Execute following command to switch array to read-write state and begin resync process:
mdadm --readwrite /dev/md0
More details → How to clear up pending resync on RAID array
22.3 问题: 挂载文件系统时,未列出存储设备
先使用如下命令擦除硬盘数据:
# 注意:硬盘中的所有数据将会丢失 sudo wipefs --all /dev/mdX
23 更新OpenMediaVault到新版本
命令行有两个命令可用于系统更新:
omv-upgrade # 更新当前软件包到新版本 omv-release-upgrade # 大版本升级,例如从5.6.x升级到6.x
Refre to → Software & Update Management
24 OpenMediaVault软件包一览
你可以使用apt命令安装OpenMediaVault的软件包,例如:
apt install openmediavault-diskstats
这是每个软件包的功能列表:
openmediavault-diskclone: 用于克隆磁盘的工具。
openmediavault-diskstats: 显示磁盘使用统计信息的工具。
openmediavault-downloader: 下载管理器,用于管理下载任务。
openmediavault-fail2ban: 防火墙软件,用于防范暴力攻击。
openmediavault-filebrowser: 文件浏览器,用于浏览和管理文件。
openmediavault-flashmemory: 用于将系统日志和临时文件存储在内存中以减少对磁盘的写入。
openmediavault-forkeddaapd: 支持 iTunes 的 DAAP 服务器。
openmediavault-ftp: FTP 服务器,用于文件传输。
openmediavault-kernel: 内核更新工具。
openmediavault-kvm: 虚拟化解决方案,用于运行虚拟机。
openmediavault-locate: 文件搜索工具。
openmediavault-luksencryption: 提供磁盘加密功能。
openmediavault-lvm2: 逻辑卷管理器。
openmediavault-mergerfs: 提供 Union 文件系统功能,将多个文件系统合并成一个逻辑文件系统。
openmediavault-minidlna: DLNA 服务器,用于在网络上共享媒体文件。
openmediavault-nut: 用于监控 UPS(不间断电源系统)的网络通信软件。
openmediavault-omvextrasorg: 提供额外的插件和软件包。
openmediavault-onedrive: 用于与 OneDrive 云存储服务进行集成。
openmediavault-owntone: 用于配置 UPnP/DLNA 媒体服务器。
openmediavault-photoprism: 相片管理软件。
openmediavault-remotemount: 远程挂载管理器。
openmediavault-resetperms: 重置文件和文件夹权限的工具。
openmediavault-rsnapshot: 快照备份工具。
openmediavault-s3: S3 存储服务插件。
openmediavault-sftp: SFTP 服务器。
openmediavault-shairport: AirPlay 音频服务器。
openmediavault-sharerootfs: 允许共享根文件系统的工具。
openmediavault-snapraid: SnapRAID 数据保护工具。
openmediavault-snmp: SNMP(简单网络管理协议)插件。
openmediavault-symlinks: 符号链接管理工具。
openmediavault-tftp: TFTP(Trivial File Transfer Protocol)服务器。
openmediavault-tgt: iSCSI 目标服务器。
openmediavault-usbbackup: USB 备份插件。
openmediavault-wakealarm: 用于通过计划的时间唤醒系统的工具。
openmediavault-webdav: WebDAV 服务器。
openmediavault-wetty: Web 终端工具。
openmediavault-wireguard: WireGuard VPN 插件。
openmediavault-wol: Wake-on-LAN 工具。
openmediavault-anacron: 任务调度工具。
openmediavault-apttool: APT(Advanced Package Tool)管理工具。
openmediavault-autoshutdown: 自动关机工具。
openmediavault-backup: 备份工具。
openmediavault-borgbackup: BorgBackup 工具。
openmediavault-clamav: ClamAV 来检测恶意软件和病毒的防病毒软件。
openmediavault-compose: Docker Compose 工具。
openmediavault-cputemp: 用于监控 CPU 温度的工具。
openmediavault-zfs: ZFS 文件系统支持插件。