10. Linux磁盘管理
- Date:
2018-09-02
- 设备的分类:
块设备
字符设备
10.1. 磁盘设备的文件命名
IDE /dev/hd
SCSI,SATA,SAS,USB /dev/sd
云盘 /dev/vda
centos7及以后没有差异了。都是sd的啦。
10.2. 机械式硬盘
- 磁道
每个盘片上被分为N个同心圆,每个同心圆就是一个磁盘。
- 柱面
相同编号的磁道
- 扇区
每个磁道512个字节
磁道越靠外的分区器读写速度越快,通常外面的划分为系统分区,第0磁道0扇区是被预留出来的,不属于任意的分区,称为MBR
10.3. MBR
- 前446字节
存储boot loader,引导加载器
- 64字节
存储分区表的,4个部分,每个16字节,所以一般分区最多三个主分区和一个扩展分区。
- 2字节
结束标志55AA
10.4. 磁盘分区管理命令
fdisk [DEVICE]
1p 显示分区表
2n 创建分区
3d 删除分区
4t 修改分区id
5l 列出系统id
6w 保存退出
7q 不保存退出
10.5. Linux文件系统
常用文件系统
- 普通文件系统
ext2,ext3,ext4,xfs,btrfs,reiserfs,jfs,swap
- 网络文件系统
nfs,smbfs,cifs
- 集群文件系统
gfs,ocfs
- 分布式文件系统
ceph,moosefs,mogilefs,glusterfs
- 光盘文件系统
iso9660
10.5.1. 创建文件系统
mkfs
- -t
指定文件系统
- -L
指定卷标
mke2fs
- -t
指定文件系统
- -b
指定块大小
- -L
指定卷标
- -j
相当于-t ext3
- -i
每多少字节创建一个inode
- -N
直接指定inode个数
- -m
设置预留的百分比,默认5
- -O
指定分区特性
blkid
- -L
查看指定的卷标
- -U
查看指定的uid
e2label
修改卷标名字
tunefs
- -l
查看指定文件系统的超级块信息
- -j
ext2–>ext3
- -L
修改卷标
- -m
修改预留百分比
- -O
启用指定特性
- -o
开启或或者关闭指定挂载选项
- -U
修改UUID
10.5.2. 文件系统监测
fsck
- -t
指定类型
- -a
自动修复错误
- -r
交互式修复
e2fs
- -y
对问题自动回答yes
- -f
强制进行检查
10.5.3. 超级块
超级块的作用是存储文件系统的元数据信息
10.6. 文件系统的挂载
所谓的挂载文件系统就是将额外的分区和根文件系统上的某个目录建立关联的过程。
重要
如果是没有用过的磁盘,需要先格式化分区才能挂载新的磁盘。如果云主机,挂载高效云盘,需要先格式化这个云盘才能挂载上。否则会挂在失败。
一般需要把挂载的硬盘/云盘添加到
/etc/fstab文件中,注入最后两列都是0,否则会导致启动失败。参考: fstab语法详解 。或者把对应的挂载命令追加到启动脚本/etc/rc.local中。
mount
- -t
指定文件系统
- -r
只读
- -w
读写
- -L
卷标
- -U
uuid
- -a
自动挂载
- -n
不更新mtab
- -B
绑定到目录
- -o
指定挂载选项
挂载详细选项
1async/sync 同步异步问题
2atime/noatime 是否更新atime
3auto/noauto 是否自动挂载
4/diratime/nodiratime 目录被访问,是否更新时间戳
5/dev/nodev 是否支持使用设备
6exec/noexec 是否执行二进制程序
7suid/nosuid 是否支持suid
8remount 重新挂载
9ro 读
10rw 读写
11user/nouser 是否运行普通用户挂载
12acl 是否支持acl
10.6.1. 挂载新硬盘举例
- 主要顺序:
新增硬盘格式化:mkfs -t ext4 /dev/vdb1
- 修改配置文件:/etc/fstab
新增一个挂载点儿。例如:mkdir /data
在/etc/fstab最后行新增一行:
/dev/vdb1 /data ext4 defaults 0 0
先用
df -h查看现在挂载的硬盘。然后运行mount -a检查第二步配置的fstab文件是否正确。如果配置正确,则此时正常挂载新增加的硬盘。
10.6.2. 挂载交互分区
swapon
- -a
激活所有的交互分区
- -p
指定优先级
10.6.3. 文件系统的卸载
umount即可完成卸载,有时候有访问的时候需要fuser -km配合使用
10.6.4. 设备自动开机挂载
- /etc/fstab一共6个部分,空格后者tab分割即可
挂载的设备
挂载点
文件系统类型
挂载选项
转储频率
自检次序