u盘安装livekali操作系统,备份本机linux系统

引用:http://www.alewolf.com/article/backup_for_linux.html,本文只做记录。

文档目的:对目标机器上的centos5.5系统(采用lvm管理磁盘)做备份方便以后奔溃后恢复回来
实验环境:
1块硬盘(数据原盘),一个U盘(或硬盘)
原盘:centos5.5 x86
目的磁盘:空盘
U盘:centos6.9 x64

一、备份数据

1.1 启动机器
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
选择从u盘启动系统
#vgdisplay 查看原盘vgname
#vgchange -ay vgname 激活原盘vg
#lsbk
NAME                           MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0                             11:0    1  1024M  0 rom
sda                              8:0    0    10G  0 disk
├─sda1                           8:1    0   500M  0 part /boot
└─sda2                           8:2    0   9.5G  0 part
  ├─VolGroup-lv_root (dm-0)    253:0    0   8.5G  0 lvm  /
  └─VolGroup-lv_swap (dm-1)    253:1    0     1G  0 lvm  [SWAP]
sdb                              8:16   0     8G  0 disk
├─sdb1                           8:17   0   102M  0 part
└─sdb2                           8:18   0   7.9G  0 part
  ├─VolGroup00-LogVol00 (dm-2) 253:2    0   5.9G  0 lvm
  └─VolGroup00-LogVol01 (dm-3) 253:3    0     2G  0 lvm
 其中sdb1是原系统的boot分区,VolGroup00-LogVol00是原系统的/分区
1.2 备份系统
1
2
3
4
5
6
7
8
9
10
11
12
13
可以采用cpio或者tar备份,本文采用tar(实验中,cpio报错归档不完整)
挂载原盘
#cd /home && mkdir aa bb
#mount /dev/sdb1 /home/aa  挂载/boot分区
#mount /dev/VolGroup00/LogVol00 /home/bb  挂载/分区
#tar -cvzf /home/boot.tgz -C /home/ aa --exclude=dirname 打包boot分区(不打包dirname的数据)
#tar -cvzf /home/root.tgz -C /home/ bb --exclude=dirname 打包/分区
#umount /home/aa
#umount /home/bb
 
若目标文件大于2G以上,请考虑分割压缩,如下:
#tar -cvzf - /  --exclude=/home --exclude=/proc --exclude=/lost+found  --exclude=/tmp  --exclude=/mnt --exclude=/sys |split -b 2000m - /home/root.tgz 将/目录压缩成2G一个的文件并排除某些目录
#tar -cvzf - /boot  |split -b 2000m - /home/boot.tgz  压缩boot分区

二、目的磁盘创建lv

1
2
3
4
5
6
7
8
9
10
11
#fdisk /dev/sdb 将目的磁盘分成两个区,其中第一个区(boot分区)500M,其他容量分给第二个分区(root分区+swap),输入t指定第二个分区格式为8e
#pvcreate /dev/sdb2
#vgcreate VolGroup00 /dev/sdb2 将pv为sdb2的创建成一个vg(VolGroup00)
ps:注意此处的vgname必须和原系统的vgname严格一致,否则启动会报错!!!!
#vgchange -ay VolGroup00
#lvcreate -L +5.9G -n LogVol00 VolGroup00
#lvcreate -L +1G -n LogVol01 VolGroup00
#mkfs.ext4 /dev/sdb1
#mkfs.ext4 /dev/VolGroup00/LogVol00 将目的盘的 root分区格式化成ext3
#mkswap /dev/VolGroup00/LogVol01 格式化目的磁盘的swap分区
PS:请注意,目标磁盘的vgname和lvname必须和原盘的严格一致,否则启动会报错

三、恢复数据到目的盘

1
2
3
4
5
6
7
8
9
10
#cd /home
#mount /dev/sdb1 aa
#mount /dev/VolGroup00/LogVol00 bb
#tar -xvzf boot.tgz
#tar -xvzf root.tgz
 
若采用的分割压缩,则解压命令如下:
#cd /home/aa && cat boot.tgza*|tar -zxv
#cd /home/bb && cat root.tgza*|tar -zxv
解压完成后,请手动创建上面排除的目录,并确保目录结构和原系统一致

四、写引导和挂载

1
2
3
4
5
6
7
8
9
10
#grub-install --root-directory=/home/aa --no-floppy /dev/sdb
#cd /home/aa/boot
#rm -rf grub && ln -s ../grub grub
 
改挂载文件
#vi /home/bb/etc/fstab
...
/dev/sda1             /boot                   ext3    defaults        1 2
...
rh系列的系统,启动挂载在/etc/fstab文件

五、测试

 
1
重启测试是否报错,若启动报“permit denied”相关的错误,检查selinux是否已经关闭
posted @ 2021-08-28 19:54  桃花落,闲池阁  阅读(197)  评论(0编辑  收藏  举报