017 文件xfs_repair恢复,xfs_dump恢复,lvm动态扩容
xfs_repair
dd命令
dd if=/dev/zero of=/dev/sdb bs=500M count=1
if : 从哪里读文件
of : 写入到哪里
bs : 写入500M
count : 写一块
模拟文件系统出问题
1、直接向硬盘中写数据,*不能测试向分区写数据
2、卸载之后重新挂载
[root@localhost ~]# mount /dev/sdc1 /root/test
mount: mount /dev/sdc1 on /root/test failed: Structure needs cleaning
3、对文件系统进行修复
xfs_repair [磁盘或分区路径]
注: xfs_repair修改硬盘之后,硬盘数据丢失,所以对重要的数据要进行数据备份
文件系统的备份与恢复
备份:另外再保存一份
恢复:将以前保存的数据进行还原
touch 1.txt
echo aaaa > 1.txt
cp 1.txt 2.txt
rm 1.txt
cp 2.txt 1.txt
1.log 1T = 1024G
全量备份和增量备份
全量备份:将需要备份的文件全部复制一份
增量备份:在原来备份基础上,把新增数据重新备份一份
备份与恢复的命令
xfsdump : 备份的命令
xfsrestore : 恢复的命令
# 备份的步骤
1、安装备份命令
[root@localhost test]# yum install xfsdump -y
2、备份的等级
0 全量备份
1 ~ 9 增量备份(等级)
3、备份的参数
-L :记录每次备份的地方
-M :注释,此次备份的注释
-l :指定备份的等级
-f :备份的文件名称
-I :查看备份信息
4、备份的条件(限制)
1、必须使用root权限
2、只能备份已经挂载的内容
3、只能备份xfs文件系统
4、只能够用xfsrestore来恢复
5、备份的命令格式
xfsdump -L [信息] -M [备注] -l [级别] -f [源文件] [目标目录]
xfsdump -L sdb1_bak -M "sbd1_from_xxx" -l 0 -f sdb1_from_bak_1 /root/oldboy
6、数据恢复
xfsrestore
7、恢复数据的参数
-f : 指定备份的文件路径
8、恢复的格式
xfsrestore -f [备份的文件] [恢复的目标目录]
[root@localhost oldboy]# xfsrestore -f /root/sdb1_from_bak_3 /root/oldboy/
LVM
1、什么是lvm
你如何保证你的硬盘空间恰好够用?
如果你的硬盘你不够用了怎么扩容?
LVM是文件系统管理工具
/root/oldboy ---> lv[5G]
/root/oldboy ---> lv[3G]
2、LVM的优点
1、可以动态扩容与缩容
2、可以将新增加的硬盘添加到VG存储池
3、可以突破物理存储卷的限制
3、使用lvm
1、安装lvm软件包
yum install lvm2 -y
2、将磁盘交给pv
pvreate [磁盘/磁盘分区]
3、查看pv
pvs
pvscan
4、创建vg
vgcreate [vg名称] [pv路径]
[root@test1 ~]# vgcreate vg1 /dev/sdb2 /dev/sdb3
Volume group "vg1" successfully created
5、查看vg
vgs
6、创建lvm逻辑卷(lv)
-L : 创建逻辑卷的大小
-n : 逻辑卷的名字
lvcreate -L [大小] -n [lv名] [vg路径]
[root@test1 ~]# lvcreate -L 30G -n lv1 vg1
Logical volume "lv1" created.
7、制作文件系统
mkfs.xfs /dev/vg1/xxx
8、挂载文件系统
mount [lv的路径] [挂载点的路径]
在线动态扩容
在线扩容的意思为:在不⽤卸载的情况下完成扩容.
lvextend -L [+]MGT /dev/VG_NAME/VL_NAME
# 注意:-L 100M 与 -L +100M不是⼀个意思,后者代表在原有的基础上扩容
lvextend -L [扩容量] [目标盘]
[root@test1 ~]# lvextend -L +8G /dev/mapper/vg1_sdc-lv1_vg1_sdc
Size of logical volume vg1_sdc/lv1_vg1_sdc changed from 20.00 GiB (5120 extents) to 28.00 GiB (7168 extents).
Logical volume vg1_sdc/lv1_vg1_sdc successfully resized.
[root@test1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 979M 0 979M 0% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 9.5M 981M 1% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/mapper/centos-root 18G 3.9G 15G 22% /
/dev/sda1 1014M 194M 821M 20% /boot
tmpfs 199M 0 199M 0% /run/user/0
/dev/mapper/vg1_sdc-lv1_vg1_sdc 20G 33M 20G 1% /root/sdb1
#这时候需要更新fs⽂件系统
[root@test1 ~]# xfs_growfs /dev/mapper/vg1_sdc-lv1_vg1_sdc
meta-data=/dev/mapper/vg1_sdc-lv1_vg1_sdc isize=512 agcount=4, agsize=1310720 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=5242880, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 5242880 to 7340032
#这时候再查看一下发现增长了
[root@test1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 979M 0 979M 0% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 9.5M 981M 1% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/mapper/centos-root 18G 3.9G 15G 22% /
/dev/sda1 1014M 194M 821M 20% /boot
tmpfs 199M 0 199M 0% /run/user/0
/dev/mapper/vg1_sdc-lv1_vg1_sdc 28G 33M 28G 1% /root/sdb1
#删除
# 删除lv之前需要先卸载挂载点
[root@egon ~]# umount /test3
[root@egon ~]# lvremove /dev/vg2/lv1_from_vg2
# 删vg
[root@egon ~]# vgremove vg2
# 删pv:只能删掉那些不属于任何vg的pv
[root@egon ~]# pvremove /dev/sdb2
[root@egon ~]# pvremove /dev/sdb3