Difference between revisions of "APITestPage"
(updated by API) |
(updated by API) |
||
Line 80: | Line 80: | ||
Debian系统的用户或通过命令行创建的Linux会缺少诸如samba之类服务的访问权限,因此这里推荐使用OpenMediaVault界面创建一个用户用于访问samba和nfs共享,这里我会创建一个名为'''nasuser'''的用户和组:<br /> | Debian系统的用户或通过命令行创建的Linux会缺少诸如samba之类服务的访问权限,因此这里推荐使用OpenMediaVault界面创建一个用户用于访问samba和nfs共享,这里我会创建一个名为'''nasuser'''的用户和组:<br /> | ||
<br /> | <br /> | ||
− | 点击'''用户 -> 用户组''',点击 '''"+"''' 图标创建一个名为 '''nasuser''' 的用户组。 | + | * 点击'''用户 -> 用户组''',点击 '''"+"''' 图标创建一个名为 '''nasuser''' 的用户组。 |
− | 点击'''用户 -> 用户''',点击 '''"+"''' 图标后创建一个名为 '''nasuser''',Shell选择/usr/sbin/nologin, 用户组钩选'''nasuser'''和'''users'''的用户。 | + | * 点击'''用户 -> 用户''',点击 '''"+"''' 图标后创建一个名为 '''nasuser''',Shell选择/usr/sbin/nologin, 用户组钩选'''nasuser'''和'''users'''的用户。 |
==创建Samba共享== | ==创建Samba共享== | ||
− | 点击'''服务 -> SMB/CIFS -> 设置''', 钩选最上面的 "已启动", 最低协议版本选择 '''"SMB1"''',然后点 "保存"; | + | * 点击'''服务 -> SMB/CIFS -> 设置''', 钩选最上面的 "已启动", 最低协议版本选择 '''"SMB1"''',然后点 "保存"; |
− | + | * 点击'''服务 -> SMB/CIFS -> 共享''', 点击 '''"+"''' ,在 '''"Shared folder"''' 处选择要共享的文件夹,这里我选择samba文件夹。 | |
− | 点击'''服务 -> SMB/CIFS -> 共享''', 点击 '''"+"''' ,在 '''"Shared folder"''' 处选择要共享的文件夹,这里我选择samba文件夹。 | + | |
− | + | ||
测试访问: <br /> | 测试访问: <br /> | ||
在Mac系统下右击Finder,选择连接服务器后输入 smb://YourIPAddress(换成真实IP),会弹出验证对话框,输入用户名nasuser以及密码即可以访问。 | 在Mac系统下右击Finder,选择连接服务器后输入 smb://YourIPAddress(换成真实IP),会弹出验证对话框,输入用户名nasuser以及密码即可以访问。 | ||
==创建NFS共享== | ==创建NFS共享== | ||
− | 点击"服务" -> "NFS" -> "设置", 钩选最上面的 "已启动", 在"版本"一栏中,钩选所有版本包括'''“NFSv2”''',然后点 "保存"并应用设置; | + | * 点击"服务" -> "NFS" -> "设置", 钩选最上面的 "已启动", 在"版本"一栏中,钩选所有版本包括'''“NFSv2”''',然后点 "保存"并应用设置; |
− | + | * 点击"服务" -> "NFS" -> "共享", 点击 '''"+"''' ,在 '''"Shared folder"''' 处选择要共享的文件夹,这里我选择 nfs 文件夹。在客户端一栏中输入 192.168.1.0/24 (换成真实网段,或指定仅允许访问的IP),权限处选择 "读/写",在扩展选项中输入: | |
− | 点击"服务" -> "NFS" -> "共享", 点击 '''"+"''' ,在 '''"Shared folder"''' 处选择要共享的文件夹,这里我选择 nfs 文件夹。在客户端一栏中输入 192.168.1.0/24 (换成真实网段,或指定仅允许访问的IP),权限处选择 "读/写",在扩展选项中输入: | + | |
<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 246: | Line 243: | ||
==系统重装后恢复硬盘数据== | ==系统重装后恢复硬盘数据== | ||
* 进入 '''存储器 -> 文件系统''', 点击 '''►''' 图标,在 '''文件系统''' 一栏选择你的设备,点保存。 | * 进入 '''存储器 -> 文件系统''', 点击 '''►''' 图标,在 '''文件系统''' 一栏选择你的设备,点保存。 | ||
− | * 进入 '''存储器 -> 共享文件夹'', 创建同名共享文件名,例如本文示例中的nfs, samba, docker, docker-app, docker-compose和docker-data。 | + | * 进入 '''存储器 -> 共享文件夹''', 创建同名共享文件名,例如本文示例中的nfs, samba, docker, docker-app, docker-compose和docker-data。 |
Revision as of 05:48, 19 April 2024
Contents
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 设置网页超时时间
进入 系统 -> 工作台,设置"自动登出"时间。
9 通过ssh登录
ssh pi@YourIPAddress
pi用户的初始密码为 pi
10 创建root用户
创建root用户并加入root和ssh组:
sudo passwd root sudo gpasswd -a root root sudo gpasswd -a root _ssh
以后就可以用root用户登录ssh:
ssh root@IPAddress
11 终端配置界面
用root用户登录ssh:
ssh root@IPAddress
执行如下命令:
omv-firstaid
12 硬盘挂载
(注:如果硬盘之前已经初始化,无需重新擦除,RAID可以得到保留,直接挂载即可)
本章节所介绍的两种Raid配置的区别:
- MD RAID:性能更好,因为它在并行写入和读取分块方面做得更好。
- Btrfs RAID:数据安全性更好,因为校验和使其能够确定块的哪个副本出错,当只有一个副本出错时,并且它能够判断两个副本是否都有问题。
更多内容请参考:[1]
12.1 第一步:清除磁盘
进入 存储器 -> 磁盘,选中你的存储器,点击“擦除"图标进行擦除 (注意备份你的数据),一般选“快速”即可。
如果磁盘无法擦除,你需要先移除此磁盘上的共享文件夹并取消挂载。
12.2 第二步:配置软RAID
(注: 不支持USB 接口的硬盘,OpenMediaVault创建RAID的页面上不会列出USB接口的存储设备)
12.2.1 方案1: MD RAID
- 进入 存储器 -> 多重装置,点击“+”图标,选择RAID级别,应用即可。
- 进入 存储器 -> 文件系统,点击“+”,类型建议选择"BTRFS",选择"Single"并钩选你的存储设备,如果在上一步中创建了RAID,就选择设备名为 /dev/md 开头的设备。
- 格式化完成后,OpenMediaVault 将提示您选择要挂载的文件系统。
12.2.2 方案2:Btrfs RAID
- 进入 存储 -> 文件系统,点击 "+" 图标,选择 "BTRFS",选择 RAID 级别,选择您的磁盘,然后保存设置。
- 格式化完成后,OpenMediaVault 将让您选择要挂载的文件系统,它不会列出所有磁盘,因此您应选择以 /dev/nvme 开头的驱动器。
13 创建共享文件夹
进入存储器 -> 共享文件夹,添加"+"图标创建2个文件夹,名称分别为nfs和samba,我们接下来将用这些文件夹来测试nfs和samba共享。
(注:如果硬盘中存在同名的共享文件夹,重新创建同名的文件夹,数据会得到保留)
14 创建NAS用户
Debian系统的用户或通过命令行创建的Linux会缺少诸如samba之类服务的访问权限,因此这里推荐使用OpenMediaVault界面创建一个用户用于访问samba和nfs共享,这里我会创建一个名为nasuser的用户和组:
- 点击用户 -> 用户组,点击 "+" 图标创建一个名为 nasuser 的用户组。
- 点击用户 -> 用户,点击 "+" 图标后创建一个名为 nasuser,Shell选择/usr/sbin/nologin, 用户组钩选nasuser和users的用户。
15 创建Samba共享
- 点击服务 -> SMB/CIFS -> 设置, 钩选最上面的 "已启动", 最低协议版本选择 "SMB1",然后点 "保存";
- 点击服务 -> SMB/CIFS -> 共享, 点击 "+" ,在 "Shared folder" 处选择要共享的文件夹,这里我选择samba文件夹。
测试访问:
在Mac系统下右击Finder,选择连接服务器后输入 smb://YourIPAddress(换成真实IP),会弹出验证对话框,输入用户名nasuser以及密码即可以访问。
16 创建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
然后点 "保存"并应用设置;
16.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
16.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
17 Docker的使用
17.1 将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/
17.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网盘的页面,如果无法访问,建议重启一下设备。
17.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。
17.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的页面。
17.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。
18 系统的备还与还原
18.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 /
18.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启动系统。
19 系统重装后恢复硬盘数据
- 进入 存储器 -> 文件系统, 点击 ► 图标,在 文件系统 一栏选择你的设备,点保存。
- 进入 存储器 -> 共享文件夹, 创建同名共享文件名,例如本文示例中的nfs, samba, docker, docker-app, docker-compose和docker-data。