Difference between revisions of "Getting Started with OpenMediaVault/zh"
(updated by API) |
(updated by API) |
||
Line 1: | Line 1: | ||
[[Getting Started with OpenMediaVault|English]] | [[Getting Started with OpenMediaVault|English]] | ||
==OpenMediaVault版本信息== | ==OpenMediaVault版本信息== | ||
− | * OS: Debian | + | * OS: Debian 12<br /> |
− | * OpenMediaVault: | + | * OpenMediaVault: 7.0.5-1 (Sandworm)<br /> |
− | * Docker: | + | * Docker: 26.0.1<br /> |
− | * Others: 已安装OMV- | + | * Others: 已安装OMV-Extras软件包<br /> |
+ | ==旧版本的OpenMediaVault文档== | ||
+ | Link to → [[Getting Started with OpenMediaVault6/zh|Getting Started with OpenMediaVault6]] | ||
==OpenMediaVault运行界面== | ==OpenMediaVault运行界面== | ||
− | [[File: | + | [[File:Openmediavault7-zh.png|600px]] |
==支持的平台== | ==支持的平台== | ||
* RK3328<br /> | * RK3328<br /> | ||
Line 13: | Line 15: | ||
* RK3588<br /> | * RK3588<br /> | ||
==查看IP地址== | ==查看IP地址== | ||
− | 由于主机名默认为开发板的型号, | + | 由于主机名默认为开发板的型号, 所以可以使用ping命令来获得IP地址,例如CM3588,可以用命令: |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
− | ping | + | ping CM3588 |
</syntaxhighlight> | </syntaxhighlight> | ||
==登录OpenMediaVault网页后台== | ==登录OpenMediaVault网页后台== | ||
Line 25: | Line 27: | ||
==设置网页登录密码== | ==设置网页登录密码== | ||
网页上点击右上角的头像,选择 “更改密码” | 网页上点击右上角的头像,选择 “更改密码” | ||
+ | ==默认的Linux帐号与密码== | ||
+ | 普通用户:<br/> | ||
+ | 用户名: pi<br/> | ||
+ | 密码: pi<br/> | ||
+ | <br/> | ||
+ | Root用户:<br/> | ||
+ | 用户名: root<br/> | ||
+ | 密码: fa<br/> | ||
==设置网页超时时间== | ==设置网页超时时间== | ||
− | 进入 | + | 进入 '''系统 -> 工作台''',设置"自动登出"时间。 |
==通过ssh登录== | ==通过ssh登录== | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 32: | Line 42: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
pi用户的初始密码为 pi | pi用户的初始密码为 pi | ||
− | == | + | ==更新用户密码== |
− | + | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
sudo passwd root | sudo passwd root | ||
− | sudo | + | sudo passwd pi |
− | + | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ==配置网络与时区== | |
+ | 用root用户登录ssh: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
ssh root@IPAddress | ssh root@IPAddress | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | = | + | 执行如下命令: |
− | + | <syntaxhighlight lang="bash"> | |
− | == | + | omv-firstaid |
− | + | </syntaxhighlight> | |
− | === | + | 界面如下:<br /> |
− | + | [[File:Omv-firstaid.png|400px]] | |
− | 进入 | + | ==切换国内软件源== |
− | === | + | <syntaxhighlight lang="bash"> |
− | 进入 | + | sudo sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list |
− | === | + | sudo apt update |
− | 进入 | + | </syntaxhighlight> |
− | === | + | ==配置硬盘== |
− | 进入" | + | (注:如果硬盘之前已经初始化,无需重新擦除,RAID可以得到保留,直接挂载即可)<br /> |
− | ( | + | 请参考 [[#系统重装后恢复硬盘数据]] |
+ | ===第一步:清除硬盘=== | ||
+ | '''注意备份你的数据'''<br /> | ||
+ | 进入 '''存储器 -> 磁盘''',选中你的存储器,点击'''“擦除"'''图标进行擦除,一般选'''“快速”'''即可。<br /> | ||
+ | 如果硬盘无法擦除,你需要先移除此硬盘上的共享文件夹并取消挂载。 | ||
+ | ===第二步:创建文件系统=== | ||
+ | 本章节所介绍的两种Raid配置的区别: | ||
+ | * MD RAID:性能更好,因为它在并行写入和读取分块方面做得更好。 | ||
+ | * Btrfs RAID:数据安全性更好,因为校验和使其能够确定块的哪个副本出错,当只有一个副本出错时,并且它能够判断两个副本是否都有问题。 | ||
+ | 注:不支持为USB接口的硬盘创建RAID队列, 更详细内容请参考官方指南: [https://docs.openmediavault.org/en/latest/administration/storage/raid.html RAID] | ||
+ | ====方案1: 配置MD RAID==== | ||
+ | * 进入 '''存储器 -> 多重装置''',点击'''“+”'''图标,在'''"级别"'''一栏选择RAID级别,在'''"设备"'''一栏钩选存储设备,保存后,状态如下所示: | ||
+ | [[File:Omv-raid-resyncing.png|center|400px]]<br/> | ||
+ | 你需要等待状态从 resyncing 转为 clean,完成后如下图所示:<br /> | ||
+ | [[File:Omv-raid-clean.png|center|400px]]<br/> | ||
+ | * 进入 '''存储器 -> 文件系统''',点击'''“+”''',类型建议选择'''"BTRFS"''',选择'''"Single"'''并在"设备"栏中钩选你的存储设备,如果在上一步中创建了RAID,设备名是以"/dev/md"开头的,如果你的设备在'''"设备"'''栏中没法列出,可能是设备中已存在共享文件夹等数据,尝试点击 '''►''' 图标直接挂载,如果数据可以被丢弃,则可以考虑使用如下命令擦除硬盘数据: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | # 注意:硬盘中的所有数据将会丢失 | ||
+ | sudo wipefs --all /dev/mdX | ||
+ | </syntaxhighlight> | ||
+ | /dev/mdX需要换成真实的设备,通过"cat /proc/partitions"命令查看。 | ||
+ | * 格式化完成后,OpenMediaVault 将提示您挂载该设备。 | ||
+ | ====方案2: 配置Btrfs RAID==== | ||
+ | * 进入 '''存储 -> 文件系统''',点击 '''"+"''' 图标,选择 '''"BTRFS"''',选择 RAID 级别,选择您的硬盘,然后保存设置。<br /> | ||
+ | * 格式化完成后,OpenMediaVault 将让您选择要挂载的文件系统,它不会列出RAID阵列中的所有硬盘,选择位于阵列中的其中一个硬盘即可。 | ||
+ | ====方案3: 不使用RAID阵列==== | ||
+ | * 进入 '''存储 -> 文件系统''',点击 '''"+"''' 图标,选择 '''"BTRFS"''',选择 Single 级别,选择您的硬盘,然后保存设置。<br /> | ||
+ | * 格式化完成后,OpenMediaVault 将提示您挂载该设备。 | ||
+ | ==创建共享文件夹== | ||
+ | 进入'''存储器 -> 共享文件夹''',添加'''"+"'''图标创建2个文件夹,名称分别为'''nfs'''和'''samba''',我们接下来将用这些文件夹来测试nfs和samba共享。<br /> | ||
+ | (注:如果硬盘中存在同名的共享文件夹,重新创建同名的文件夹,数据会得到保留) | ||
==创建NAS用户== | ==创建NAS用户== | ||
− | + | Debian系统的用户或通过命令行创建的Linux会缺少诸如samba之类服务的访问权限,因此这里推荐使用OpenMediaVault界面创建一个用户用于访问samba和nfs共享,这里我会创建一个名为'''nasuser'''的用户和组:<br /> | |
<br /> | <br /> | ||
− | 点击 | + | * 点击'''用户 -> 用户组''',点击 '''"+"''' 图标创建一个名为 '''nasuser''' 的用户组。 |
− | 点击 | + | * 点击'''用户 -> 用户''',点击 '''"+"''' 图标后创建一个名为 '''nasuser''',Shell选择/usr/sbin/nologin, 用户组钩选'''nasuser'''和'''users'''的用户。 |
==创建Samba共享== | ==创建Samba共享== | ||
− | 点击 | + | * 点击'''服务 -> SMB/CIFS -> 设置''', 钩选最上面的 "已启动", 最低协议版本选择 '''"SMB1"''',然后点 "保存"; |
− | + | * 点击'''服务 -> SMB/CIFS -> 共享''', 点击 '''"+"''' ,在 '''"Shared folder"''' 处选择要共享的文件夹,这里我选择samba文件夹。 | |
− | 点击 | + | |
− | + | ||
测试访问: <br /> | 测试访问: <br /> | ||
在Mac系统下右击Finder,选择连接服务器后输入 smb://YourIPAddress(换成真实IP),会弹出验证对话框,输入用户名nasuser以及密码即可以访问。 | 在Mac系统下右击Finder,选择连接服务器后输入 smb://YourIPAddress(换成真实IP),会弹出验证对话框,输入用户名nasuser以及密码即可以访问。 | ||
==创建NFS共享== | ==创建NFS共享== | ||
− | 点击"服务" -> "NFS" -> "设置", 钩选最上面的 "已启动", 在"版本" | + | * 点击"服务" -> "NFS" -> "设置", 钩选最上面的 "已启动", 在"版本"一栏中,钩选所有版本包括'''“NFSv2”''',然后点 "保存"并应用设置; |
− | + | * 点击"服务" -> "NFS" -> "共享", 点击 '''"+"''' ,在 '''"Shared folder"''' 处选择要共享的文件夹,这里我选择 nfs 文件夹。在客户端一栏中输入 192.168.1.0/24 (换成真实网段,或指定仅允许访问的IP),权限处选择 "读/写",在扩展选项中输入: | |
− | 点击"服务" -> "NFS" -> "共享", 点击"+",在"Shared | + | |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
rw,async,insecure,no_subtree_check,all_squash,anonuid=0,anongid=0 | rw,async,insecure,no_subtree_check,all_squash,anonuid=0,anongid=0 | ||
Line 107: | Line 143: | ||
YourIPAddress:/export/nfs /mnt/nfs nfs defaults 0 0 | YourIPAddress:/export/nfs /mnt/nfs nfs defaults 0 0 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | ==将Docker数据移动至硬盘== | + | ==Docker的使用== |
− | + | ===将Docker数据移动至硬盘=== | |
+ | 先安装openmediavault-compose插件, 通过SSH登录然后执行如下命令: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | sudo apt update | ||
+ | sudo apt install -y openmediavault-compose | ||
+ | </syntaxhighlight> | ||
+ | 刷新网页后,进入'''存储器 -> 共享文件夹''',添加 '''"+"''' 图标创建3个文件夹,分别为 | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
docker -> Docker数据目录,在/etc/docker/daemon.json中定义 | docker -> Docker数据目录,在/etc/docker/daemon.json中定义 | ||
Line 115: | Line 157: | ||
docker-app -> 自用,存放Dockerfile和数据 | docker-app -> 自用,存放Dockerfile和数据 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | 进入 | + | 进入'''服务 -> Compose''',进入设置界面,设置"Compose 文件"的Shared folder为docker-compose, 设置"Data“的Shared folder为docker-data,<br /> |
<br /> | <br /> | ||
− | 进入ssh终端,输入以下命令,将docker数据移动到共享文件夹, 其中,/srv/dev-disk-by-uuid-XXYYZZ/ | + | 进入ssh终端,输入以下命令,将docker数据移动到共享文件夹, 其中,'''/srv/dev-disk-by-uuid-XXYYZZ/docker''' 是共享文件夹的绝对路径,可以在网页 '''存储器 -> 共享文件夹''' 列表中得到: |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
su root | su root | ||
Line 123: | Line 165: | ||
mv /var/lib/docker/* /srv/dev-disk-by-uuid-XXYYZZ/docker/ | mv /var/lib/docker/* /srv/dev-disk-by-uuid-XXYYZZ/docker/ | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | 在页面上设置 | + | 在页面上设置 '''Docker存储''' 为该docker共享文件夹的绝对路径,保存并应用后, 重启开发板。 |
− | ==Docker安装nextcloud网盘== | + | <br />GUI 上填写的最终数值:<br /> |
+ | <syntaxhighlight lang="text"> | ||
+ | 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/ | ||
+ | </syntaxhighlight> | ||
+ | ===Docker安装nextcloud网盘=== | ||
命令行界面输入以下命令即可: | 命令行界面输入以下命令即可: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 138: | Line 186: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
完成后在网页浏览器访问http://YourIPAddress:8888/即可看到nextcloud网盘的页面,如果无法访问,建议重启一下设备。 | 完成后在网页浏览器访问http://YourIPAddress:8888/即可看到nextcloud网盘的页面,如果无法访问,建议重启一下设备。 | ||
− | ==Docker安装Filebrowser== | + | ===Docker安装Filebrowser=== |
命令行界面输入以下命令即可: | 命令行界面输入以下命令即可: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 153: | Line 201: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
完成后在网页浏览器访问http://YourIPAddress:8080/即可看到Filebrowser的页面,默认管理员的帐号与密码都是admin。 | 完成后在网页浏览器访问http://YourIPAddress:8080/即可看到Filebrowser的页面,默认管理员的帐号与密码都是admin。 | ||
− | ==Docker安装Jellyfin影音服务器== | + | ===Docker安装Jellyfin影音服务器=== |
− | 进入 | + | 进入 '''存储器 -> 共享文件夹''',添加 '''"+"''' 图标创建media文件夹用于存放影音资源,然后在命令行终端输入以下命令安装Jellyfin: |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
su root | su root | ||
Line 171: | Line 219: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
完成后在网页浏览器访问http://YourIPAddress:8096/即可看到Jellyfin的页面。 | 完成后在网页浏览器访问http://YourIPAddress:8096/即可看到Jellyfin的页面。 | ||
− | ==安装Docker可视化容器管理工具Portainer== | + | ===安装Docker可视化容器管理工具Portainer=== |
命令行界面输入以下命令即可: | 命令行界面输入以下命令即可: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 191: | Line 239: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
完成后在网页浏览器访问http://YourIPAddress:9000/即可看到Portainer的页面,默认管理员的帐号与密码都是admin。 | 完成后在网页浏览器访问http://YourIPAddress:9000/即可看到Portainer的页面,默认管理员的帐号与密码都是admin。 | ||
+ | ==系统的备还与还原== | ||
+ | ===备份eMMC中的系统=== | ||
+ | 使用tar命令备份文件系统的内容: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | 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 / | ||
+ | </syntaxhighlight> | ||
+ | ===还原系统到eMMC=== | ||
+ | 使用SD卡启动,启动Linux系统(例如Debian或Ubuntu均可),使用如下命令查询eMMC上的系统根分区: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | root@CM3588:~# sudo parted -s /dev/mmcblk2 unit MiB print | grep rootfs | ||
+ | 8 140MiB 59000MiB 58860MiB ext4 rootfs | ||
+ | </syntaxhighlight> | ||
+ | 根据上面的序号8可以得知根分区的设备名为/dev/mmcblk2p8,下面对它重新格式化并挂载,然后解压rootfs.tar.gz到此处: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | 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 | ||
+ | </syntaxhighlight> | ||
+ | 关机后,拨出SD卡,重新上电从eMMC启动系统。 | ||
+ | ==系统重装后恢复硬盘数据== | ||
+ | * 进入 '''存储器 -> 文件系统''', 点击 '''►''' 图标,在 '''文件系统''' 一栏选择你的设备,点保存。 | ||
+ | * 进入 '''存储器 -> 共享文件夹''', 创建同名共享文件名,例如本文示例中的nfs, samba, docker, docker-app, docker-compose和docker-data。 | ||
+ | ==常见问题与解决办法== | ||
+ | ===问题: Raid阵列出现如下状态Clean, Resyncing (PENDING)=== | ||
+ | Execute following command to switch array to read-write state and begin resync process: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | mdadm --readwrite /dev/md0 | ||
+ | </syntaxhighlight> | ||
+ | More details → [https://sleeplessbeastie.eu/2015/03/23/how-to-clear-up-pending-resync-on-raid-array/ How to clear up pending resync on RAID array] | ||
+ | ===问题: 挂载文件系统时,未列出存储设备=== | ||
+ | 先使用如下命令擦除硬盘数据: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | # 注意:硬盘中的所有数据将会丢失 | ||
+ | sudo wipefs --all /dev/mdX | ||
+ | </syntaxhighlight> | ||
+ | ==OpenMediaVault软件包一览== | ||
+ | 你可以使用apt命令安装OpenMediaVault的软件包,例如: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | apt install openmediavault-diskstats | ||
+ | </syntaxhighlight> | ||
+ | 这是每个软件包的功能列表:<br /> | ||
+ | openmediavault-diskclone: 用于克隆磁盘的工具。<br /> | ||
+ | openmediavault-diskstats: 显示磁盘使用统计信息的工具。<br /> | ||
+ | openmediavault-downloader: 下载管理器,用于管理下载任务。<br /> | ||
+ | openmediavault-fail2ban: 防火墙软件,用于防范暴力攻击。<br /> | ||
+ | openmediavault-filebrowser: 文件浏览器,用于浏览和管理文件。<br /> | ||
+ | openmediavault-flashmemory: 用于将系统日志和临时文件存储在内存中以减少对磁盘的写入。<br /> | ||
+ | openmediavault-forkeddaapd: 支持 iTunes 的 DAAP 服务器。<br /> | ||
+ | openmediavault-ftp: FTP 服务器,用于文件传输。<br /> | ||
+ | openmediavault-kernel: 内核更新工具。<br /> | ||
+ | openmediavault-kvm: 虚拟化解决方案,用于运行虚拟机。<br /> | ||
+ | openmediavault-locate: 文件搜索工具。<br /> | ||
+ | openmediavault-luksencryption: 提供磁盘加密功能。<br /> | ||
+ | openmediavault-lvm2: 逻辑卷管理器。<br /> | ||
+ | openmediavault-mergerfs: 提供 Union 文件系统功能,将多个文件系统合并成一个逻辑文件系统。<br /> | ||
+ | openmediavault-minidlna: DLNA 服务器,用于在网络上共享媒体文件。<br /> | ||
+ | openmediavault-nut: 用于监控 UPS(不间断电源系统)的网络通信软件。<br /> | ||
+ | openmediavault-omvextrasorg: 提供额外的插件和软件包。<br /> | ||
+ | openmediavault-onedrive: 用于与 OneDrive 云存储服务进行集成。<br /> | ||
+ | openmediavault-owntone: 用于配置 UPnP/DLNA 媒体服务器。<br /> | ||
+ | openmediavault-photoprism: 相片管理软件。<br /> | ||
+ | openmediavault-remotemount: 远程挂载管理器。<br /> | ||
+ | openmediavault-resetperms: 重置文件和文件夹权限的工具。<br /> | ||
+ | openmediavault-rsnapshot: 快照备份工具。<br /> | ||
+ | openmediavault-s3: S3 存储服务插件。<br /> | ||
+ | openmediavault-sftp: SFTP 服务器。<br /> | ||
+ | openmediavault-shairport: AirPlay 音频服务器。<br /> | ||
+ | openmediavault-sharerootfs: 允许共享根文件系统的工具。<br /> | ||
+ | openmediavault-snapraid: SnapRAID 数据保护工具。<br /> | ||
+ | openmediavault-snmp: SNMP(简单网络管理协议)插件。<br /> | ||
+ | openmediavault-symlinks: 符号链接管理工具。<br /> | ||
+ | openmediavault-tftp: TFTP(Trivial File Transfer Protocol)服务器。<br /> | ||
+ | openmediavault-tgt: iSCSI 目标服务器。<br /> | ||
+ | openmediavault-usbbackup: USB 备份插件。<br /> | ||
+ | openmediavault-wakealarm: 用于通过计划的时间唤醒系统的工具。<br /> | ||
+ | openmediavault-webdav: WebDAV 服务器。<br /> | ||
+ | openmediavault-wetty: Web 终端工具。<br /> | ||
+ | openmediavault-wireguard: WireGuard VPN 插件。<br /> | ||
+ | openmediavault-wol: Wake-on-LAN 工具。<br /> | ||
+ | openmediavault-anacron: 任务调度工具。<br /> | ||
+ | openmediavault-apttool: APT(Advanced Package Tool)管理工具。<br /> | ||
+ | openmediavault-autoshutdown: 自动关机工具。<br /> | ||
+ | openmediavault-backup: 备份工具。<br /> | ||
+ | openmediavault-borgbackup: BorgBackup 工具。<br /> | ||
+ | openmediavault-clamav: ClamAV 来检测恶意软件和病毒的防病毒软件。<br /> | ||
+ | openmediavault-compose: Docker Compose 工具。<br /> | ||
+ | openmediavault-cputemp: 用于监控 CPU 温度的工具。<br /> | ||
+ | openmediavault-zfs: ZFS 文件系统支持插件。<br /> |
Revision as of 07:11, 20 April 2024
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软件包一览
1 OpenMediaVault版本信息
- OS: Debian 12
- OpenMediaVault: 7.0.5-1 (Sandworm)
- Docker: 26.0.1
- Others: 已安装OMV-Extras软件包
2 旧版本的OpenMediaVault文档
Link to → Getting Started with OpenMediaVault6
3 OpenMediaVault运行界面
4 支持的平台
- RK3328
- RK3399
- RK3568
- RK3588
5 查看IP地址
由于主机名默认为开发板的型号, 所以可以使用ping命令来获得IP地址,例如CM3588,可以用命令:
ping CM3588
6 登录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 切换国内软件源
sudo sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list sudo apt update
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插件, 通过SSH登录然后执行如下命令:
sudo apt update sudo apt install -y openmediavault-compose
刷新网页后,进入存储器 -> 共享文件夹,添加 "+" 图标创建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.2 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.3 Docker安装Filebrowser
命令行界面输入以下命令即可:
su root cd $(readlink -f /srv/dev-disk-by-uuid-*/docker-app) mkdir filebrowser cd filebrowser docker run -d -v $(readlink -f /srv/dev-disk-by-uuid-*):/srv \ -v $PWD/filebrowserconfig.json:/etc/config.json \ -v $PWD/database.db:/etc/database.db -p 8080:80 \ --restart=always --name filebrowser \ filebrowser/filebrowser
完成后在网页浏览器访问http://YourIPAddress:8080/即可看到Filebrowser的页面,默认管理员的帐号与密码都是admin。
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@CM3588:~# 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 问题: 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.2 问题: 挂载文件系统时,未列出存储设备
先使用如下命令擦除硬盘数据:
# 注意:硬盘中的所有数据将会丢失 sudo wipefs --all /dev/mdX
23 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 文件系统支持插件。