台式机上的1T硬盘不够用了,于是把NAS上的2T硬盘拿来用,再新购4T硬盘给NAS用,于是,就需要将2T硬盘的资料全部复制到4T硬盘上。
把2个硬盘都接入台式机,使用rsync命令进行复制,总共约1.6T的数据,早上一大早起来就执行了以下命令,然后就高高兴兴地去上班了。
sudo rsync -vca 2T-path/dir 4T-path/dir
晚上回家后,发现终端卡住了,没有显示命令结束,但硬盘灯并没有闪烁,遂猜测可能是中途出错了,于是又加上'-u'参数再执行了一遍。
sudo rsync -vcau 2T-path/dir 4T-path/dir
执行过程中,有用dirdiff看了下,2个硬盘的数据没有不同的。
同时还用'ls -alR'命令把所有文件都列出来比较了以下,文件个数几大小都OK,但有少部分目录的大小不一致,但里面的文件大小正常。
此外,还有部分文件的权限最后一位(SELinux Context)丢失:
琢磨了半天,最后决定再用'cp -av'试试。
cp -av 2T-path 4T-path
使用cp命令后,虽然还是有少部分目录的大小不一致(里面的文件大小正常),但SELinux Context终于正常了。
接下来将4T硬盘装入NAS,开机,发现系统起不来,卡住了,最终发现是'/etc/fstab'中还是之前硬盘的信息,改为新硬盘的信息后启动OK。
# 2T UUID=7cf7xxxx-xxxx-xxxx-xxxx-xxxxxxxxx /data ext4 defaults 1 2
# 4T disk
UUID=c7bxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx /data ext4 defaults 1 2
最后再启动nextcloud等各个docker,一切正常!