snmoney 发表于 2013-4-2 23:46:12

WVL脱机(无人值守)向ntfs usb移动硬盘拷入数据

背景:想从nas里导出一批200G下载完的文件到移动硬盘,可能你会说为什么不用千兆LAN呢?速度60M/s更快啊

可是很不巧的是移动硬盘是usb2.0接口的。网线坏了,只有150M速率的802.11n wifi。眼看着7M/s的速度距离完成所有还有8个小时…各种蛋疼。更惨的是我用的是笔记本,没带电源。电力只能维持多3小时了….

整理搜索了一下资料,成功实现吧移动硬盘直接挂到nas上让它自己拷数据,我明天再去收割…


适用场合:
1. 没有千兆LAN
2. 不想长期开着电脑

*以下方案在1.64官方固件下测试通过

实现

1. 前提:wvl必须已root 而且能ssh连上, 已装 ipkg

2. ssh连上,执行以下命令 忽略提示报警

~#ipkg install ntfs-3g

3.接上移动硬盘,这时nas会自动加载,且function灯亮蓝色。(这里有个奇怪的现象,好像nas的系统在检测到usb磁盘的时候会重启很多服务,包括ssh也会断开)稍等约1分钟,重连ssh。


4.这时候可以执行 df -h 看到已经挂载了usb磁盘 /dev/usbdisk1_1 / 在 /mnt/usbdisk1/


5. 但是这个盘是只读的,如果你尝试在 /mnt/usbdisk1/ 里写入任何文件(cp)或创建文件夹(mkdir nastest),都会告诉你没有权限。没关系,我们把自动挂载的方式换成刚安装的ntfs-3g


~#umount /dev/usbdisk1_1 /mnt/usbdisk1
~#ntfs-3g /dev/usbdisk1_1 /mnt/usbdisk1


第一行是解除挂载,第二行是用ntfs-3g重新挂载。之后再试试 mkdir nastest,然后list –l。文件夹nastest创建成功了。

6. 接下来要怎样脱机拷贝文件呢,就是说电脑断开ssh连接后,nas依然会执行把内容复制到移动硬盘直到完成。

假定我们要把 /mnt/array1/download/done/ 这个文件夹的内容统统复制到刚才移动硬盘创建的 /mnt/usbdisk1/nastest/ 里?指令只有一条

~#nohup cp –R /mnt/array1/download/done/ /mnt/usbdisk1/nastest/ &

好像有点复杂,我们拆解出来理解就不难了

nohup 把后面的命令挂载去给nas自己运行,不依赖于ssh的连接
cp 复制文件,这个不用多解释了
-R cp的参数,复制目录用
& 命令行末尾的&很重要不要遗漏,表示提交后命令在后台执行,不会占用着前端进程。


运行后看到移动硬盘的数据灯开始一闪一闪写入数据,这个时候可以断开ssh关电脑静待nas把传输完成(断开ssh后硬盘灯还在闪,说明ok了,nas有在好好努力地工作着)。


回顾一下以后再需要脱机拷贝数据的话应该执行哪些命令(接上硬盘)


~#umount /dev/usbdisk1_1 /mnt/usbdisk1
~#ntfs-3g /dev/usbdisk1_1 /mnt/usbdisk1
~#nohup cp –R /mnt/array1/download/done/ /mnt/usbdisk1/ &


补充:

1. ntfs-3g 的传输效率其实也一般只有12M/s 左右,而且吃nas的cpu资源比较高。不过无所谓了,脱机无人值守时间耗得起。毕竟linux不擅长操控ntfs。

2. 如果移动硬盘不止分了一个区的,那么如上图例里,我的移动硬盘有三个分区,我就是挂载了第三个分区 /dev/usbdisk1_3 到 /mnt/usbhdd 。挂到不同的地方,更省事了不必umount 原来的第一分区

部分带贴图见我的博客
http://snmoney.blog.163.com/blog/static/440058201332113444453/

bgtzhang 发表于 2013-4-3 09:33:42

好东西,不知道在WEB界面里面能不能识别到

snmoney 发表于 2013-4-3 10:16:26

补充,安全地卸载移动硬盘

建议先执行
killall ntfs-3g 这样用ntfs-3g挂载的分区就会关掉
如果用 umount 的话会提示磁盘busy的(就是给ntfs-3g占用着啊)

星尘之上 发表于 2013-4-3 11:47:10

好东西顶一个

tyoukou 发表于 2013-4-3 13:47:57

可以省掉开电脑了。但是小白一个再请问下:倒过来,从移动硬盘向WVL拷贝文件是否可以呢?谢谢。

snmoney 发表于 2013-4-3 18:14:02

tyoukou 发表于 2013-4-3 13:47 static/image/common/back.gif
可以省掉开电脑了。但是小白一个再请问下:倒过来,从移动硬盘向WVL拷贝文件是否可以呢?谢谢。 ...

从u盘拷入nas简单多了,直接运行cp就可以了。不用ntfs-3g

ultra5 发表于 2013-4-13 21:32:37

我觉得楼主在copy的时候可以试试用screen代替nohup.rsync代替cp. 好处是可以随时监控进度.
ipkg install screen.

先运行screen, 然后执行 "rsync -av --progress源目录 目标目录".然后直接断开。
随时登录用 screen -x 就能恢复运行的terminal.

chaspda 发表于 2013-5-13 15:24:07

感谢楼主分享!!!

ps2zhuantou 发表于 2013-6-4 22:55:44

不错不错,学习了

a-kuei 发表于 2013-6-10 11:59:42

真的非常不错,非常感谢!

felix-lau 发表于 2013-6-15 00:01:17

感谢楼主分享

erhao 发表于 2013-8-5 00:55:14

感谢楼主分享

goku 发表于 2013-8-5 14:03:49

这个一定要顶好东西啊谢谢楼主

呵呵 发表于 2013-8-5 15:36:30

路过,学习了

hz200 发表于 2013-8-6 21:10:57

qqchan1028 发表于 2013-8-15 11:36:15

学习、学习

79214322 发表于 2013-8-16 01:00:37

真复杂@@@@@@@

sdys5201314 发表于 2013-8-16 08:21:04

高手。学习了。好教程
页: [1]
查看完整版本: WVL脱机(无人值守)向ntfs usb移动硬盘拷入数据