把整个Linux系统迁移到另一个硬盘

把整个Linux系统迁移到另一个硬盘,第1张

原来机械硬盘是msdos分区表,新固态硬盘是gpt分区表,数据大小在100GB以内,所以使用 dd 命令迁移。

我系统都是只装在一个分区中,所以直接在 root 模式下执行迁移:

大概一个小时就迁移完成了。

这里要注意的是拷贝的源和目标分别是 /dev/sda1 和 /dev/sdb1 这两个分区,而不是 /dev/sda 和 /dev/sdb 这两个硬盘名称。

最后更新一下硬盘信息(不然显示的大小信息等还是旧硬盘的信息):

dd 工具会将 uuid 也一起拷贝,所以拷贝完成之后,只要将旧的硬盘拆卸下来,替换上新的硬盘,不用修改 /etc/fstab 文件,就能按照你以前的设置自动挂载。

重新启动电脑,顺便修改下Grub,因为莫名其妙出现了一个error问题(具体忘了,上午的事)。

修改文件 /etc/default/grub :

最后更新一下:

在我们使用linux时, *** 作添加下移可以使用键盘方向键进行移动。

我们在使用linux时也可以移动文件,当文件创建后,会将其分配给一个索引节点(inode),这是文件系统中用于数据存储的固定点。你可以使用ls命令看到文件对应的索引节点。

移动文件时,实际上并没有将数据从一个索引节点移动到另一个索引节点,只是给文件对象分配了新的名称或文件路径而已。实际上,文件在移动时会保留其权限,因为移动文件不会更改或重新创建文件。

1、源主机上先备份下vg信息和磁盘信息:

vgcfgbackup

fdisk -l >/tmp/fdisk.info

pvdisplay >/tmp/pvinfo

vgdisplay >/tmp/vginfo

lvdisplay >/tmp/lvinfo

先保证新的linux主机能够认到这10T数据的存储磁盘。然后在源linux主机上执行(执行前确保这10T数据当前已经没有进程和服务在访问):

umount /test

vgchange -a n vg_data

vgexport vg_data

源主机上10T的数据盘先不要动他,接着在新linux主机上执行(确保新主机已经认到同样10T的数据盘):

pvscan

vgscan

vgimport vg_data

vgchange -a y vg_data

mkdir /test

mount /dev/mapper/vg_data-lv_data /test

2、vgexport命令不是导出配置,而是指从主机上将vg注销

3、上述过程不会丢失数据,除非你执行了一些破坏性的 *** 作,比如将vg删除、将磁盘数据清空等等。

4、风险就是有可能新的linux主机没有识别到磁盘和vg(这种原因就多了,比如没有安装lvm或版本可能不同导致,或者存储不通,或者没有安装某些必须的磁盘驱动等等),你只要在迁移成功前不动源主机上的磁盘,10T数据可以重新挂载上来用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8565683.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存