金石科技
服务创造价值 专业铸造品质

从已存在zfs文件系统的硬盘中复制数据

发布时间:2022-01-12 浏览次数: 责任编辑:

实验环境说明:有一台服务器,原来运行Freebsd13,机器上有一个SATA接口250G硬盘,现系统无法引导,需要从原来的硬盘中把重要数据导出。由于原来系统采用了ZFS文件系统,一般的linux是没有办法识别到的,我们只能制作一个USB的FreeBsd13引导盘,通过这个U盘去引导计算机,引导后按下面步骤操作即可。

ZFS文件系统是Unix系统的一种常用文件系统,假设我们要从一台已系统无法正常引导的FreeBsd电脑中去读取原来的重要数据,那么就必须用另一个可引导的FreeBsd引导盘去引导电脑,然后再来挂载zfs文件系统。以下操作全部必须是root用户权限下操作。

1、在FreeBSD中查看系统中安装的硬盘:

用dmesg查看系统引导的相关信息,命令如下:

dmesg | less

image.png

image.png

输入上面命令后,会显示很多的硬件信息,在最后一页上可以看到本机的硬盘信息,这台电脑上原来有一个IDE的硬盘,这儿识别到是ada0,我是从一个闪迪U盘上去引导这台电脑的,因此这儿识别到了它为da0,从这儿可以得知我们电脑上需要导出数据的硬盘名称是ada0。

2、查看硬盘的分区信息:

gpart list -a  /dev/ada0 | less

image.png

image.png

image.png

从上面的显示我们可知,原来的系统中有3个分区,分别是freebsd-boot,freebsd-swap,freebsd-zfs,我们原来的数据全部存在于freebsd-zfs分区,也就是ada0p3.

这个分区是没有办法直接挂载的。

3、利用zfs管理工具zpool去查找zfs pool.

zpool import -fR /var/mnt zroot

image.png

4、确认zfs pool加载成功:

zpool list

image.png

、通过访问/var/mnt即可完成我们对原来硬盘系统中的数据复制动作。

原来的root目录加载(在/var下建立一个mnt-root目录)将原来的硬盘中的/目录挂载到此目录,命令如下:

mount -t zfs zroot/ROOT/default /var/mnt-root

这样就可以通过访问/var/mnt和/var/mnt-root即可实现全部的数据访问。


上一篇文章: 下一篇文章:
相关文章

金石艾特(JS@) 版权所有 Copyright2001-{{ message }} www.dgjs.com Inc. All Rights Reserved禁止转载、摘编、复制或建立镜像.如有违反,追究法律责任

粤ICP备05096775号 粤公网安备 44190002001519号

固定电话:0769-88092006

商务手机:18922933080

技术支援:13925713159