1、磁盘在系统上的命名
设备名称 | 分区信息 | 设备类型 |
---|
/dev/sda | /dev/sda1 | 第一块物理磁盘的第一个分区 |
/dev/sdb | /dev/sdb2 | 第二块磁盘第二个分区 |
/dev/vdd | /dev/vdd4 | 第四块模拟磁盘的第四个分区 |
1、磁盘在系统上的命名
1、分区主要分为三类:主分区《---扩展分区《---逻辑分区
(1)逻辑分区属于扩展分区
(2)主分区又叫引导分区,是可以安装系统分区
2、目前常见的磁盘分区格式有两种,MBR分区和GPT分区:
(1)MBR分区,意思是主引导记录。MBR最大支持2TB容量,最多支持4个主分区
(2)GPT分区,意思是GUID分区表,它支持的容量大于2T,最多支持128个主分区,这是一个证逐渐取代MBR的新标准,它是由UEFI辅助而形成的,将来UEFI用于取代老旧的BIOS,而GPT则取代MBR。
3、磁盘分区的工具
(1)fdisk 工具用于MBR格式
(2)gdisk 工具用于GPT格式
2、MBR与GPT分区
1、MBR分区
1、查看设备详情,以及分区情况:
(1)[root@wb01 ~]
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 800M 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 17.3G 0 part /
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 1G 0 part
├─sdb2 8:18 0 1G 0 part /test2
├─sdb3 8:19 0 1G 0 part
├─sdb4 8:20 0 1K 0 part
└─sdb5 8:21 0 3G 0 part
(2)[root@wb01 ~]
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 1G 0 part
├─sdb2 8:18 0 1G 0 part /test2
├─sdb3 8:19 0 1G 0 part
├─sdb4 8:20 0 1K 0 part
└─sdb5 8:21 0 3G 0 part
2、fdisk工具:
适用于磁盘小于2TB的磁盘,分区类型MBR,主要分区4或主分区3个一个扩展分区(逻辑分区)要保存后才能生效。
fdisk /dev/sdb
m
b edit bsd disklabel
d
l
n
p print the partition table
q
w write table to disk and exit
2、GPT分区
可以支持大于2T的盘进行分区,比如可以新增一个2500G的进行试验。
gdisk /dev/sdc
partprobe刷新分区信息
3、格式化制作文件系统与挂载
1、制作文件系统
磁盘必须格式化制作文件系统,然后挂载才能使用
针对一块磁盘/dev/sdb可以不分区,直接格式化制作文件系统
[root@egon ~]
[root@egon ~]
umount -l /dev/sdb1 或者 umount -l /opt 强制卸载
修改文件系统的类型可以使用 mkfs.xfs -f /dev/sdb
2、如何设置开机自动挂载
方法:1:[root@egon ~]
[root@egon ~]
/dev/sdb1 /opt xfs defaults 0 0
方法2:[root@egon ~]
/dev/sdb1: UUID="10a939a8-d17c-4a0f-9a89-8066ac013855" TYPE="xfs"
vim /etc/fstab
[root@egon ~]
配置完数据一般要重启才能生效
直接生效的方式:mount -a
3、/etc/fstab配置文件编写格式
要挂载的设备 挂载点 文件系统类型 挂载参数 是否备份 是否检查
/dev/sdb1 /data xfs defaults 0 0
第一列:device:这里来指定你要挂载的文件系统的的设备或块信息,除了指定设备文件外,也可以使用UUID、LABEL来制定分区。
第二列:dir指定挂载点的路径
第三列: type:指定文件系统的类型。
第四列: option:指定挂载的参数,默认defaults
参数 含义
async/sync 是否同步方式运行,默认async(异步)
user/nouser 是否允许普通用户使用mount命令挂载,默认nouser
suid/nosuid 是否允许存在suid属性的文件,默认suid
auto/noauto 执行mount -a时,此文件系统是否被主动挂载,默认auto
rw/ro 是否只读或者读写的模式进行挂载,默认rw
defaults 具有rw、suid、exec、auto、nouser、async等默认的参数
第五列:dump:表示该挂载的文件系统是否能被dump备份命令作用
0 代表不做备份
1 代表要每天进行备份
2 代表不定期的进行备份操作
第六列: pass这里用来指定如何使用fsck来检查硬盘
0 代表不检查
1 检查,挂载点为/的时候,必须在这里填写1,其他的都不能填写1
2 检查(1级别的检验后进行2级别的检验)
4、制作swap分区
[root@wb01 ~]
total used free shared buff/cache available
Mem: 972 124 727 7 120 713
Swap: 1999 0 1999
[root@wb01 ~]
正在设置交换空间版本 1,大小 = 1048572 KiB
无标签,UUID=08782ae8-8bfc-4347-92d1-5b98425876d6
[root@wb01 ~]
[root@wb01 ~]
total used free shared buff/cache available
Mem: 972 125 726 7 120 713
Swap: 3023 0 3023
[root@wb01 ~]
[root@wb01 ~]
文件名 类型 大小 已用 权限
/dev/sda2 partition 2047996 0 -2
[root@wb01 ~]
[root@wb01 ~]
total used free shared buff/cache available
Mem: 972 123 729 7 119 715
Swap: 0 0 0
https://www.cnblogs.com/linhaifeng/articles/13921161.html
5、修复服务器文件系统
在linux系统总,为了增加系统性能,通常系统会将一些数据先放在内存中,并不会直接将数据写入硬盘,这是因为内存速度要比硬盘快若干倍,但是有个问题,万一公司服务器突然断电或者其他未知原因,再次启动会造成系统错误“emergency mode”
1、此时执行任何命令都会有会有报错信息
2、查看运行日志,可以提示出损坏的文件系统
journalctl -xb
3、修复方式
(1)如果进入不了操作系统,可以进入单用户模式下操作或者使用光盘修复模式
(2)首次尝试mount或者umount文件系统,以便重放日志,修复文件系统,如果不行,再执行以下操作。
[root@localhost ~]
如果是日志和数据不一致了,xfs默认会在挂载的时候修复这种不一致,操作系统给出的建议是以只读的方式挂载并自动修复,可以尝试以只读不修复的方式挂载文件系统。
[root@localhost ~]
(3)如果上述挂载不成功,可以执行xfs_repair修复文件系统
[root@localhost ~]
(4)如果还是不行,那最后的办法只能采用“损失部分数据的修复方法”
根据打印信息,修复失败时:
先执行xfs_repair -L /dev/sdb2 (清空日志,会丢失文件)
再执行xfs_repair /dev/sdb2
说明:-L是修复xfs文件系统的最后手段,慎重选择,它会清空日志,会丢失用户数据和文件
备注:在执行xfs_repair操作前,最好使用xfs_metadump工具保存元数据,一旦修复失败,最起码可以恢复到修复之前的状态。
(5)修复完成以后,尝试能不能正常挂载。如能。取消挂载,再启动就正常使用了。
fp:1、准备一个1G的文件系统与数据
[root@localhost ~]
[root@localhost ~]
2、模拟文件系统损坏
[root@localhost ~]
3、此时看似一切正常,可以查看数据且写入数据、
[root@localhost ~]
big_egon
[root@localhost ~]
[root@localhost ~]
egon_nb
4、重新挂载后就会失效,即断电系统重启,重新挂载不成功
[root@localhost ~]
[root@localhost ~]
mount: /dev/sdb1 写保护,将以只读方式挂载
mount: 未知的文件系统类型“(null)”
5、修复
[root@localhost ~]
Phase 1 - find and verify superblock...
bad primary superblock - bad magic number !!!
6、修复失败,无法挂载
[root@localhost ~]
mount:将/dev/sdb1 挂载到/opt 失败:结构需要清理
7、强制修复
[root@localhost ~]
[root@localhost ~]
fp:如果是ext文件系统,修复需要用fsck命令
fsck -f -y /dev/sda1
-y :对所有问题都回答“yes”
-f :即使文件系统标记为clean也强制进行检查
6、xfs文件系统备份与恢复
1、命令与软件包
[root@localhost ~]
xfsdump-3.1.7-1.el7.x86_64
2、xfsdump的备份级别有以下两种,默认为0(即完全备份)
0 完全备份
1 增强备份
(1)xfsdump常用参数
-L:xfsdump会记录每次备份的session label,这里可以填写针对此文件系统的简要说明
-M:xfsdump可以记录存储media label,这里填写媒体的简要说明
-l:小写,指定level,有0~9共10个等级,默认为0,即完整备份
-f:后面新产生的文件和destination file。
-I:大写,从/var/lib/xfsdump/inventory 列出目前备份的信息状态
(2)xfsdump使用限制
1、必须用root权限
2、只能备份已挂载的文件系统
3、只能备份xfs文件系统
4、只能用xfsrestore来恢复数据
5、透过文件系统的uuid来分辨备份档,一次不能备份相同的uuid的文件系统
(3)xfsdump备份与xfsrestore恢复
1、数据备份
1.1先做全量备份,切记“备份的源路径”末尾不能太加/
xfsdump -l 0 -L sdb3_bak -M sdb3_bak -f 全量备份的成果路径1 备份的源路径
1.2再做增量备份
xfsdump -l 1 -L sdb3_bak -M sdb3_bak -f 增量的成果路径2 备份的源路径
2、数据恢复
2.1先恢复全量备份
xfsrestore -f 全量备份的成果路径1 数据恢复的路径
2.2 再以次恢复增量
xfsrestore -f 增量备份的成果路径2 数据恢复的路径