Linux 挂载一块有数据的 3T 硬盘,怎么操作才不丢数据?
问题
公司要把一块 3T 的硬盘接到 Linux 服务器上,把里面的数据拷出来。盘上已经有重要数据,绝不能格式化。可网上教程一上来就是"分区、格式化、挂载"三连——照着做数据不就没了吗?到底怎么挂载才安全?
原因
先把两件事分开:挂载(mount)只是把盘上的文件系统接到系统的目录树上,本身不写盘、不动数据;真正毁数据的是分区类写操作和格式化(mkfs)。所以流程走对,带数据的盘完全能安全挂载。另外两个背景坑要知道:一是 3T 大盘必须用 GPT 分区表,早年若在老系统上按 MBR 用过,设备只能识别 2.2T;二是这块盘如果之前在 Windows 下是 NTFS 格式,多数 Linux 发行版已能直接读,个别环境需要先装 NTFS 支持组件(只读场景装只读支持即可)。
安全步骤(全程只读优先)
第一步,接上盘先"看"不动手:执行 lsblk,列出所有磁盘,确认新盘的设备名(比如 /dev/sdb)和容量。认准设备名,后面所有操作都以它为准,千万别把系统盘和数据盘认反。
第二步,只读方式查分区表:fdisk -l /dev/sdb。注意必须带 -l,这是纯查看;不带 -l 会进入交互模式,新手在里面乱按键有写盘风险,不要碰。输出里看到"GPT"字样最稳;如果显示 DOS/MBR 且容量只认到 2.2T,属于历史遗留问题,先把能识别的分区里的数据拷完再说。
第三步,查文件系统类型:blkid /dev/sdb1,看输出是 ntfs、ext4 还是别的,心里有数再挂载。
第四步,建目录并只读挂载:
mkdir -p /mnt/olddisk
mount -o ro /dev/sdb1 /mnt/olddisk
带 ro(只读)参数挂载,从机制上杜绝一切误写,是带数据盘迁移的黄金操作。
第五步,正常拷贝:用 cp 把 /mnt/olddisk 里的数据拷到服务器目标位置,拷完抽样打开几个大文件验证完整性。
第六步,干净退出:umount /mnt/olddisk,确认卸载成功后再断电拔盘。
警示
- 全程禁止对这块盘执行任何格式化、重建分区类操作。万一挂载报错、不识别,先停手,把报错原文记下来找人确认——把网上搜来的"修复命令"一个个试,才是丢数据的头号原因。
- 如果这份数据极其重要且是孤本,先在原环境做一次完整备份,再上服务器操作。
预防
- 2.2T 以上的盘从一开始就用 GPT 分区表,避免日后跨平台搬运时踩容量坑。
- 迁移分批做、边拷边验,别一次性全押上。
数据搬迁这种"一次失误、无法回头"的活,拿不准就交给专业的人——贵州诚鑫致达科技日常给企业当"数据管家",迁移、备份、验证一条龙。
来源:https://ask.csdn.net/questions/217005