linux系统克隆系统盘
本文将介绍两种方式的系统盘的完整的备份,两种方式各有优缺点,需要根据实际情况来进行选择
- 使用dd的完整镜像克隆的方式
- 使用tar去备份数据,安装grub的方式
dd方式
优点:
简单,一条命令 dd if=/dev/sda of=/dev/sdb 就可以进行完整的系统备份了
缺点:
时间非常长,备份一个系统盘,无论数据多少,系统盘全部会读取一遍,时间比较久
备份目的盘需要大于原盘
分区无法调整,根原分区一模一样
tar方式
优点:
时间短,只需要备份实际磁盘上的数据即可
自定义,可以修改分区的大小,可以控制备份的类容,可以定期备份
对目的盘大小无限制,比较灵活
缺点:
人为修改东西比较多,需要手动去修改一些信息
当然在掌握了一定的linux基础的情况下建议是使用tar方式的,,下面将介绍tar方式的处理方式:
给准备用来备份的磁盘进行分区和格式化
首先使用 df -h 来检查当前的挂载的系统分区:
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb5       285G  4.1G  266G   2% /
tmpfs           2.0G  4.0K  2.0G   1% /dev/shm
/dev/sdb1       239M   81M  141M  37% /boot
/dev/sdb2       6.7G   17M  6.3G   1% /var/log
查看磁盘的大小:
[root@zhongbo ~]# fdisk -l
Disk /dev/sdb: 320.1 GB, 320072933376 bytes
本例子中备用磁盘为sda,大小为240G:
[root@zhongbo ~]# fdisk -l /dev/sda
Disk /dev/sda: 240.1 GB, 240057409536 bytes
查看系统盘详细的分区信息
[root@zhongbo ~]# parted -l
Model: ATA WDC WD3200AAJS-2 (scsi)
Disk /dev/sdb: 320GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number  Start   End     Size    Type      File system     Flags
    1      1049kB  263MB   262MB   primary   ext4            boot
    2      263MB   7603MB  7340MB  primary   ext4
    3      7603MB  9751MB  2147MB  primary   linux-swap(v1)
    4      9751MB  320GB   310GB   extended
    5      9752MB  320GB   310GB   logical   ext4
可以看到分区表模式为msdos,分区信息为含有扩展分区,逻辑分区了,下面为新准备的盘进行分区,分区信息跟原来尽量一样,这个地方也可以根据自己的需要进行调整
[root@zhongbo ~]# parted /dev/sda
(parted) mklabel msdos
(parted) mkpart primary 1049kB 263
(parted) mkpart primary 263 7603
(parted) mkpart primary 7603 9751
(parted) mkpart extended 9751 100%
(parted) mkpart logical 9752 100%
(parted) p
Model: ATA INTEL SSDSC2BF24 (scsi)
Disk /dev/sda: 240GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number  Start   End     Size    Type      File system     Flags
    1      1049kB  263MB   262MB   primary   ext4
    2      263MB   7603MB  7340MB  primary   ext4
    3      7603MB  9751MB  2147MB  primary   linux-swap(v1)
    4      9751MB  240GB   230GB   extended                  lba
    5      9752MB  240GB   230GB   logical   ext4
格式化硬盘
[root@zhongbo ~]# mkfs.ext4 /dev/sda1
[root@zhongbo ~]# mkfs.ext4 /dev/sda2
[root@zhongbo ~]# mkswap /dev/sda3
[root@zhongbo ~]# mkfs.ext4 /dev/sda5
备份原始磁盘上的数据到备份目的盘
在本地系统盘上创建一个备份的目录,将数据打包放到这个目录下面
[root@zhongbo ~]# mkdir /backup
按这个系统来说需要备份三个分区/ , /var/log/, /boot
开始备份/
所有的操作都进入到/目录下操作
[root@zhongbo ~]# cd /
[root@zhongbo /]# tar zcvpf /backup/gen.tar.gz -C /  --exclude=boot/* --exclude=var/log/* --exclude=backup/*  --exclude=lost+found/* --exclude=mnt/*  --exclude=dev/* --exclude=proc/* --exclude=tmp/* --exclude=sys/* .
注意这里排除了很多不需要备份的目录
备份boot分区
[root@zhongbo /]# tar zcvpf /backup/boot.tar.gz -C /boot/ .
备份/var/log
[root@zhongbo /]# tar zcvpf /backup/log.tar.gz -C /var/log/ .
恢复/的数据
[root@zhongbo /]# mkdir /mnt/gen
[root@zhongbo /]# mount /dev/sda5 /mnt/gen/
[root@zhongbo /]# tar zxvpf /backup/gen.tar.gz -C /mnt/gen/
恢复/boot的数据
[root@zhongbo /]# mkdir /mnt/boot
[root@zhongbo /]# mount /dev/sda1 /mnt/boot/
[root@zhongbo /]# tar zxvpf /backup/boot.tar.gz -C /mnt/boot/
恢复/var/log
[root@zhongbo /]# mkdir /mnt/log
[root@zhongbo /]# mount /dev/sda2 /mnt/log/
[root@zhongbo /]# tar zxvpf /backup/log.tar.gz -C /mnt/log/
修改启动文件
拿到新的分区的blkid
[root@zhongbo /]# blkid /dev/sda1
/dev/sda1: UUID="a6ca4369-109c-47ed-a522-7e1752a6681b" TYPE="ext4"
对应boot
[root@zhongbo /]# blkid /dev/sda2
/dev/sda2: UUID="f775f248-57d8-49a7-9334-60bc75a53685" TYPE="ext4"
对应log
[root@zhongbo /]# blkid /dev/sda5
/dev/sda5: UUID="6942c7d6-486c-4d51-bb4d-a126ee0c05b1" TYPE="ext4"
对应/
[root@zhongbo /]# blkid /dev/sda3
/dev/sda3: UUID="154784d8-dbe3-45c8-8fcb-cb4f5a14ae44" TYPE="swap"
对应swap
[root@zhongbo /]# vim /mnt/gen/etc/fstab
修改对应分区的uuid信息
修改menu.list
[root@zhongbo ~]# vim /mnt/boot/grub/menu.lst
修改root= 根分区的uuid,第一次做的时候,就是在这个地方忘了修改,进入系统后能够看到启动画面,但是没法启动内核,修改好了后,就可以正常的启动了
安装grub
查找grub分区
grub> find /grub/grub.conf
find /grub/grub.conf
 (hd0,0)
 (hd1,0)
grub>
修改其中的新盘上的grub然后分辨新的grub在哪台机器上,我的新盘是(hd0,0)
grub> root (hd0,0)
grub> setup (hd0)
setup (hd0)
 Checking if "/boot/grub/stage1" exists... no
 Checking if "/grub/stage1" exists... yes
 Checking if "/grub/stage2" exists... yes
 Checking if "/grub/e2fs_stage1_5" exists... yes
 Running "embed /grub/e2fs_stage1_5 (hd0)"...  27 sectors are embedded.
succeeded
 Running "install /grub/stage1 (hd0) (hd0)1+27 p (hd0,0)/grub/stage2 /grub/grub.conf"... succeeded
Done.
grub> quit
完成后,系统盘就完全备份了一份了,重启就可以启动一个一模一样的系统了
linux系统克隆系统盘的更多相关文章
- VMware Linux系统克隆
		系统克隆 网卡设备无法识别 解决克隆虚拟机后网卡设备无法识别启动问题的方法 一.故障问题 从vmware workstation中克隆(clone)了一个CentOS 6的虚拟机,启动之后发现网卡没有 ... 
- Linux虚拟机克隆后网卡UUID问题
		虚拟机中的Linux系统克隆后,网卡配置eth0中的UUID可被克隆的系统是一样的,这样UUID就失去了唯一性. 我参考了该篇博客: 有时我们不小心将/etc/sysconfig/network-sc ... 
- VMware 克隆 Linux 系统后找不到 eth0 网卡问题(转)
		[问题描述] 使用 VMware 虚拟机的克隆功能,快速复制已安装好的 Linux 系统. 克隆完成之后,发现没有 eth0 网卡. [解决方法] 1. 编辑 /etc/udev/rules.d/70 ... 
- 【转】VMware 克隆 Linux 系统后找不到 eth0 网卡问题
		[问题描述] 使用 VMware 虚拟机的克隆功能,快速复制已安装好的 Linux 系统. 克隆完成之后,发现没有 eth0 网卡. [解决方法] 1. 编辑 /etc/udev/rules.d/70 ... 
- 用虚拟机安装了一台Linux系统,突然想克隆一台服务器,克隆后发现无法上网,如何解决?
		用虚拟机安装了一台Linux系统,突然想克隆一台服务器,克隆后发现无法上网,如何解决? 答: a.编辑网卡配置文件/etc/sysconfig/network-scripts/ifcfg-eth ... 
- 使用VMware克隆Linux系统
		最近在学习使用solr云技术,因为是用来学习操作,因此需要在一台虚拟机上,安装多台LinuxOS. 但是又想偷懒,不想每安装一个LinuxOS,就重新配置Linux环境,所以使用克隆,只需安装好一个模 ... 
- 用"再生龙"Clonezilla 来克隆Linux系统
		上周公司买了5套高配置PC机来做测试用.上面要装好CentOS 加上一堆工具,有web的,数据库的,还有一些自己开发的工具.有些朋友肯定想,直接用kickstart不就行了,确实.kickstar ... 
- 使用dd命令克隆整个Linux系统
		参考:https://www.cnblogs.com/jikexianfeng/p/6103504.html 本次使用使用dd命令克隆整个Ubuntu系统 1,VM安装一台Ubuntu虚拟机 过程不详 ... 
- 克隆linux系统后,将eth1修改成eth0
		使用VMware克隆的linux系统之后,发现网卡信息只有eth1,却没有eth0.将eth1修改成eth0. 1.vi /etc/udev/rules.d/70-persistent-net.rul ... 
随机推荐
- intellij idea:设置java方法注释模板(intellij idea 2019.2)
			一,打开方法注释模板的编辑窗口 菜单file->打开settings editor栏目下->打开Live Templates 说明:刘宏缔的架构森林是一个专注架构的博客,地址:http ... 
- 第十九章 Linux中常用字符的特殊含义
			一.引入 在Linux Shell中有很多的特殊符号,要知道这些特殊符号的用法,这些符号用好了可以达到事半功倍的效果. 二.常用符号 # ; ;; . , / \ 'string'| ! {} ? $ ... 
- CentOS 8 关闭防火墙
			SELINUX=disabled vim /etc/selinux/config systemctl disable firewalld.service 
- docker 启动mysql 挂载宿主机目录
			在使用docker run 运行镜像获取容器时,有些容器会自动产生一些数据,为了这些数据会因为container (容器)的消失而消失,保证数据的安全,比如mysql 容器在运行中产生的一些表的数据, ... 
- 500G Python从入门到进阶的视频资料
			第一部分:Python资源500G百度网盘学习视频300+本电子书需要的小伙伴可以叫小编的Q群867067945 点击展开,查看完整图片 回复关键字:学习第二部分:Python就业指导 更多更详细的就 ... 
- 【API进阶之路】研发需求突增3倍,测试团队集体闹离职
			摘要:最近研发的需求量涨了3倍,开发团队拼命赶进度,可苦了测试团队. 本以为从一线研发转管理后会清闲一些,但是没想到,我还要充当救火队员的角色. 到了第四季度,各业务部门都在憋着劲儿冲业绩,毕竟这跟年 ... 
- C# 9.0 新特性预览 - init-only 属性
			C# 9.0 新特性预览 - init-only 属性 前言 随着 .NET 5 发布日期的日益临近,其对应的 C# 新版本已确定为 C# 9.0,其中新增加的特性(或语法糖)也已基本锁定,本系列文章 ... 
- 联考day7 C. 树和森林 树形DP
			题目描述 样例 样例输入 8 5 BBWWWBBW 1 2 2 3 4 5 6 7 7 8 样例输出 84 2 1 4 样例解释 分析 首先,我们要预处理出一个点到该联通块内所有点的距离之和 \(f\ ... 
- python的多线程和java的多线程之间的区别
			在python中,由于Cpython解释器的全局解释器的存在,那么多线程的话在同一时刻只能有一个线程执行,意思就是python中的多线程只能并发执行, 没有办法实现真正的并行,也就是无法利用多核CPU ... 
- Java学习的第四十八天
			1.例8.4找出整形数组中的最大值 import java.util.Scanner; public class Cjava { public static void main(String[]arg ... 
