一、准备工作
首先我们在虚拟机中添加一块新的硬盘。新添加的硬盘必须分区、格式化、挂载到目录树才能使用该磁盘,日后通过目录即可访问该磁盘。
磁盘添加好后,重新启动。再查看我们的设备目录刚刚新建的磁盘名字是什么。
SCSI和SATA硬盘在Linux通常也是表示为/dev/sd*,比如sda、 sdb、adc ...sda是第一块硬盘,sdb是第二块...以此类推! 后面接的数字就是该硬盘的分区。
可以看到我们新建磁盘对应的文件名是sdb。
二、分区
使用gdisk命令,因为我的分区表采用的是GPT,如果为MBR分区表,请使用fdisk命令,命令操作差不多,命令的参数就是刚刚我们找到的磁盘文件。如下
输入一个?号显示出了所有的可执行的命令。
大概就是:q是不保存退出,w是保存退出,d删除一个分区,n新增一个分区,p打印分区表……
我们选择n,随后就是下图的操作
图中的①表示我们增加的分区的分区号,选择默认的即可 ②选择开始的扇区(扇区是磁盘的基本单位,前面的34扇区用于存储磁盘的信息不可选),同样选择默认值 ③选择该分区的分区大小,单位在里面已经列出来了,我选择1G的大小给到这个分区。最后一步回车即可完成分区操作。
注意第三步绝不要回车,可以输入p查看刚刚分好的分区信息,第一个分区成功了,我们再根据自己的需求可以再分几个,我这里就跳过了。分区好后输入w保存退出。
二、格式化
分区成功后,我们还不能去使用该分区,还要进行格式化的动作,也就是建立该分区的文件系统。
用lsblk命令查看我刚刚分好的分区叫sdb1,所以该分区的文件即/dev/sdb1
再使用mkfs.xfs /dev/sdb1命令格式化该分区,mkfs中间那个点后面就是我们要格式化的文件系统,参数就是我们刚刚新创建的分区的磁盘文件。
如图:
三、挂载
格式化好后,该分区就可以叫做一个文件系统了,我们现在并不能访问该文件系统的内容,所以我们还需要对它进行挂载,挂载到系统的某个目录作为它的入口,去访问它。
①mkdir /sdb1创建一个用于挂载的目录
②mount /dev/sdb1 /sdb1挂载命令,第一个参数是设备,第二个是挂载的目录
查看是否挂载成功:
现在你进入sdb1这个目录实际就是进入的sdb1这个分区。
因为mount挂载在重启服务器后会失效,所以需要将分区信息写到/etc/fstab文件中让它永久挂载
往文件中加入:/dev/sdb1(磁盘分区) /sdb1(挂载目录)xfs(文件格式)defaults 0 0
四、备份
我们往新加的分区里面新建两个文件,并写一些内容。
我们对这个分区进行备份,再删掉这两个文本,最后恢复回来。步骤如下:
1.分3步骤实现整个分区的备份(如果发现xfsdump命令找不到: # yum install xfsdump
2.基本实现格式: xfsdump -f 备份文件存放位置 要备份的分区挂载路径/sdb1或设备文件/dev/sdb1
注意:备份的路径最后不能以“"结尾
3.->dump_sdb1_1 指定备份会话标签
->sdb1_1 指定设备标签,就是对要备份的设备做一个描述
将上面的3步骤实现备份,合成一步:xfsdump -f [位置] [分区] -L dump_sdb1_1 -M sdb1_1
先创建一个目录用于存放备份文件
执行备份命令,我的备份文件的名称就是命令行中的sdb1_bak_1(自定义设置的)了。
文件夹的内容如下,备份成功
1.上面的步骤是用来备份一整个分区的,如果我们只想要备份分区中某个目录/文件
加参数:-s 文件路径 对指定的文件/目录进行备份,-s后面的路径写的是相对路径(目录分区的挂载目录做相对的根)
基本实现格式: xfsdump -f 备份文件存放位置 -s 要备份的文件或目录的相对位置 备份文件所在的分区 -L。。。-M。。。
2.查看备份信息内容
备份成功后,可以在/var/lib/xfsdump/inventory目录下看到生成的档案信息,xfsdump -I查看
五、恢复
语法格式: xfsrestore -f 指定备份文件的位置 指定把备份文件恢复到的目标路径
如:xfsrestore -f /opt/mybackup/sdb1_bak_1 /sdb1/
先恢复到哪里去都可以,有点像压缩文件的感觉。
删除掉/sdb1中的两个文件,来进行一个还原操作
还原成功,重新进入到/sdb1文件夹,看到两个被恢复的文件。
恢复单个文件或目录如下
# xfsrestore -f /opt/dump_sdb1_test_a -s test/a /sdb1/test/ #恢复文件
# xfsrestore -f /opt/dump_sdb1_test_am -s test/am /sdb1/testl #恢复目录
注意事项:
使用xfsdump时,请注意下面下面的几个限制:
- xfsdump不支持没有挂载的文件系统备份!所以只能备份已挂载的
- xfsdump必须使用root的权限才能操作
- xfsdump只能备份XFS文件系统
- xfsdump备份下来的数据只能让xfsrestore解析
六、增量备份
备份:
第一次完全备份
# xfsdump -f lopt/test-full /sdb1-L test-full -M media0完全备份后添加一些数据
第1次增量备份
# xfsdump -l 1 -f /opt/test-back1 /sdb1 -L test-bak1 -M media0第1次增量备份后添加一些数据
第2次增量备份
# xfsdump -l 2 -f /opt/test-back2 /sdb1 -L test-bak2 -M media0
恢复:
首先恢复完全备份的数据
# xfsrestore -f /opt/test-full /sdb1/
然后恢复第一次增量的备份数据
# xfsrestore -f loptltest-back1 /sdb1/然后恢复第二次增量的备份数据
# xfsrestore -f loptltest-back2 /sdb1/