linux 服务器系统怎么备份

linux 服务器系统怎么备份,第1张

撸主,linux系统可以用tar打包的方式备份系统。

大概原理:

linux启动过程,‘开机’-‘读取bios设置’-‘从bios指定的硬盘mbr分区找引导’-‘根据引导加载内核并启动’-‘初始化内核&挂载磁盘’-‘启动其他程序’,可以大概理解为读取引导+启动,因此可以想办法把系统所有文件tar打包后,还原到目标机器,再写入引导修改相关参数设置即可

具体 *** 作可以参考我的blog:linux系统整机备份

PS:限制条件,blog中只在centos5 6 7上测试通过,其他系统可能启动时加载的内容不同,需要修改对应的设置

给虚拟机增加一块硬盘,用于备份mbr的信息

fdisk -l 查看硬盘系统是否认识

fdisk /dev/sdb 进行分区

fdisk -l 查看分区是否出来

mkfs -t ext4 /dev/sbd1 进行格式化

mkdir /backup

mount /dev/sb1 /backup 挂载到backup下

破坏mbr之前先做做备份,后面恢复系统用:

dd if=/dev/sda of=/backup/sda.mbr.bak bs=512 count=1  将sda前面512个字节备份到backup的目录下

ls /backup 查看是否有备份的文件

模拟破坏mbr扇区

dd if=/dev/zero of=/dev/sda bs=512 count=1 通过zero文件把sda设备的前512字节毁掉。由于mdmdr存在这个磁盘的前512个字节上

reboot 启动系统 看会发现什么情况,不能进入系统。

进入修复模式,没有修复模式的可进入光盘系统。然后调出命令提示窗口。fdisk -l 查看有没有增加的磁盘。然后执行下列命令 恢复备份。重启 系统正常。

修复grub引导故障:

下面演示grub遭到破坏系统如何启动

vim /boot/grub/grub.conf 编辑这个文件

重启系统,在grub提示符下做 *** 作

root (hd0,0)指定从哪一块硬盘的哪一个分区去引导 *** 作系统

kernel /vmlinuz-(tab键) ro root=/dev/sda1(主文件系统) 执行从哪一个内核去引导系统 ro 后面挂载的文件系统以什么样的方式去挂载  root代表根分区所在的位置

initrd /initramfs-2.6.32

boot

用tar会有各种各样难避免的问题,建议直接用启动盘启动系统后利用DD命令来整盘复制。

比如,举个最简单的例子,你只有两分区(以及各自挂载点) /dev/hda1(/) 和/dev/hda2(swap),而且你linux是在/dev/hda1(/)中,于是,你可以另接一硬盘(假设/dev/hdb1)用启动盘重启后,执行命令:

mount /dev/hdb1 /mnt/hdb1 -t ext2 #挂载到目录,没目录自已建,不用多解释了

dd if=/dev/hda1 of=/mnt/hdb1/sysimage.bak

dd if=/dev/hda of=/mnt/hdb1/mbr.bak bs=1 count=512 #备份MBR和分区表,若分区表不备份就把512改446

等吧。。分区越大时间越久,dd没有ghost这些软件聪明。哪怕你的linux只有1M但你的分区有1G,那备份时间就是复制1G的文件的时间

到另一台机子后,以同样的方法,恢复。假设光盘无坏道且是空的。

dd if=<mbr.bak的路径>of=/dev/hda count=512 bs=1 #跟之前的硬盘的分区一样

dd if=<sysimage.bak的路径>of=/dev/hda1 #恢复系统

差不多就是这样。自已用虚拟机多练习下吧。毕竟具体问题要具体分析和使用。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存