如何通过 SSH 将 HDD 添加至网络共享并进入 NAS 的特定端口并共享?

如何通过 SSH 将 HDD 添加至网络共享并进入 NAS 的特定端口并共享?

下面是伪代码,但该怎么做呢?我没有空间在本地保存 dd 图像……

$ sudo dd if=/dev/sda of=/scp -P 12344 [email protected]:/volume2/share02/01.dd

我不知道如何执行它或者在本地包装它以解决我尝试 dd 图像的系统上的存储空间不足的问题。

答案1

如果你scp可以大概可以追catssh

sudo dd if=/dev/sda bs=4M | ssh -p 12344 [email protected] 'cat > /volume2/share02/01.dd'

sudo如果和都要求输入密码,这可能会很麻烦ssh。在这种情况下,让此sudo调用无需密码即可运行(sudo true之前可能就足够了);或者sudo su -提前运行,这样您就是 root 用户,不需要sudo之前dd;或者让此调用ssh不需要密码(使用基于密钥的身份验证)。

dd写入其标准输出,ssh获取它并传递到远程cat,其输出被重定向到/volume2/share02/01.dd

笔记:

  • /dev/sda在读取时dd,最好使用bs=比默认值更大的值,例如bs=4M
  • 我会使用dd status=progress …pv代替dd(或者至少在ddssh:之间dd … | pv | ssh …)来查看进度。
  • 请记住,在工作sda时不得写入。例如,挂载(除非是只读)可能会使图像不一致。ddsda1
  • 您可以缩小图像尺寸。阅读我的这个答案。对于你的情况,在你准备好整个之后sda,命令可能是

    pv /dev/sda | gzip -c -9 | ssh -p 12344 [email protected] 'cat > /volume2/share02/01.dd.gz'
    

相关内容