💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# tar简介 tar是Linux下最常用的打包程序,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。由于linux所有系统数据都是以文件形式保存,因此我们也可以将整个系统以打包还原的形式实现业务迁移工作。 # 操作步骤 ## 准备工作 1、tar方式由于是采用文件系统备份还原方式,因此必须在目标虚拟机上先安装好一个完全相同的操作系统,才能进行文件还原操作。这是tar方式最大的不便之处。 2、tar方式对不同linux系统需要备份的文件夹有所不同,以CentOS系统进行举例。实际操作过程中需要事先对用户业务系统软件和数据存放位置进行了解,以免缺漏。 3、还原前需要将虚拟机系统的fstab和grub.conf两个启动引导文件事先备份出来,克隆还原源主机系统文件后需将这两个文件替换为虚拟机系统的备份,避免虚拟机文件系统启动异常。不同linux操作系统的文件位置不一样,CentOS都是在/etc下,ubuntu的fstab在/etc,grub.cfg在/boot下。 建议在条件允许情况下使用NFS网络共享方式,在源主机上挂载后,将tar打包的文件放置在目标主机共享目录下,虚拟机同样也挂载目标虚拟主机共享目录,再将其还原到本地文件夹中。 ## 源文件系统打包 tar -cvpf /nfs/backup.tar / --exclude=/proc --exclude=/lost+found --exclude=/tmp --exclude=/boot --exclude=/media --exclude=/dev --exclude=/nfs 参数意义:c指打包,v指打包过程中显示明细,p指保留权限,f指后面跟的文件。v可不要,其他必须。中间的/指打包整个文件系统,--exclude=用于去掉不希望打包的目录。 上述举例中为linux常见的不需要打包的目录,不同的linux系统版本目录会小有区别。有些目录是不需要备份的。如:/proc目录、 /tmp目录、/sys目录,里面都是临时文件,备份容易出错。/dev是驱动部分,备份后的虚拟机的硬件都变化了,所以也不能打包还原的,另外mount挂载用于存放打包文件的文件夹也记得要挑出来。 ## 目标文件系统还原 tar -xvpf /nfs/backup.tar -C / 参数意义:x指还原,-C /指还原路径为整个文件系统,相同文件名会直接覆盖。 还原后记得将事先备份的fstab和grub.conf文件覆盖回去。 ## 注意事项 1. 使用tar命令打包还原整个系统时可以增加-z参数进行压缩和解压缩,但会占用大量cpu和延长时间,建议如果中转空间足够的话,就不要进行压缩动作了。 2. 备份时确保没有任何东西挂载在/mnt、/media目录内(如光驱,移动磁盘等),否则会把被挂载的分区也备份在内,备份文件会很大。 3. 备份/home目录容易引起"tar: 由于前面延迟的错误而退出"的提示。这个可以不用管,一般不影响还原后系统的使用。