分类 默认分类 下的文章

步骤:修改 mount-yingshi.service 文件
1️⃣ 编辑 mount-yingshi.service 文件:

bash
复制
编辑
sudo nano /etc/systemd/system/mount-yingshi.service
2️⃣ 修改 ExecStart 和添加 ExecStartPost 指令:

ini
复制
编辑
[Unit]
Description=Mount CIFS Share yingshi
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/bin/bash -c 'sleep 30 && mount -t cifs //192.168.5.172/yingshi /vol1/1000/yingshi -o credentials=/etc/smbcredentials,uid=1000,gid=1001,vers=3.0'
ExecStartPost=/bin/sleep 10
RemainAfterExit=yes
TimeoutSec=30

[Install]
WantedBy=multi-user.target
3️⃣ 保存文件并退出编辑器: 按 Ctrl + O 保存,然后按 Ctrl + X 退出。

4️⃣ 重新加载 systemd 配置:

bash
复制
编辑
sudo systemctl daemon-reload
5️⃣ 重新启动服务并启用开机自动启动:

bash
复制
编辑
sudo systemctl restart mount-yingshi.service
sudo systemctl enable mount-yingshi.service

1、cpu最少1,内存少2
2、ios镜像下载到truenas 其他硬盘
3、安装好后,需要在设备中删除 光驱,才能从硬盘引导
4、zvol 第一个为系统盘 大小几十G
5、添加第二个zvol给飞牛用,也可以在原来zvol下创建。
6、truenas 需要把网络改桥接模式,先关闭虚拟机,删除原来网络口,建立桥接模式br0,添加原来的ip 192.168.5.172/24,添加桥接的物理网卡,确定。就可以了,要不然虚拟机和truenas之间不通。

以下是使用 zfs send/receive 将旧存储池 app 完整迁移到新存储池 appdata 的命令流程(假设新旧池均为 ZFS 文件系统):

步骤 1:创建旧池的快照
bash
复制

创建一次性快照(名称可自定义,如 "migration")

zfs snapshot -r app@migration
-r 参数会递归为旧池下所有子数据集(dataset)创建快照。

步骤 2:发送快照到新池
单次全量传输(适用于首次迁移)
bash
复制

将旧池快照完整发送到新池

zfs send -R app@migration | zfs receive -F -v appdata
关键参数:

-R:发送包含所有子数据集及历史快照的完整流。

-F:强制覆盖目标池(确保新池 appdata 已创建且为空)。

-v:显示传输详情。

步骤 3(可选):增量同步
如果旧池在首次迁移后仍有数据变动,可基于旧快照进行增量同步:

bash
复制

1. 创建新快照(如 "migration2")

zfs snapshot -r app@migration2

2. 发送增量数据(从旧快照 "migration" 到新快照 "migration2")

zfs send -R -I app@migration app@migration2 | zfs receive -F -v appdata
-I 表示增量传输(需指定起始快照)。

步骤 4:验证迁移结果
bash
复制

查看新池数据集结构是否与旧池一致

zfs list -r appdata

检查新池是否包含快照

zfs list -t snapshot -r appdata
注意事项
存储池状态:

确保新池 appdata 已提前创建且无重要数据(-F 会覆盖目标池)。

新旧池的 ZFS 版本需兼容(TrueNAS Scale 默认自动处理)。

服务暂停:

迁移前停止所有访问旧池的服务(如 SMB/NFS/Docker),避免数据不一致。

空间要求:

新池容量应 ≥ 旧池已用空间(可通过 zfs list -o used app 查看)。

跨物理机传输:

若新旧池位于不同设备,需通过 SSH 管道传输:

bash
复制
zfs send -R app@migration | ssh user@new_host "zfs receive -F appdata"
迁移后操作
重定向应用:

修改 TrueNAS 应用(如 Docker)、共享服务的存储路径至新池 appdata。

删除旧池(可选):

确认数据无误后,可销毁旧池:

bash
复制
zpool destroy app
通过以上命令,旧池 app 的所有数据(包括子数据集、属性、压缩设置等)将完整复制到新池 appdata,且效率远高于文件级复制工具(如 rsync)。