Linux 磁盘管理及磁盘分区(主分区、扩展分区、逻辑分区)
目录
1 MBR与磁盘分区
windows 当中是可以不分区的
linux 当中一定要分区 才可以使用硬盘
1.1 分区的意义
-
优化I/O性能 读写
-
实现磁盘空间配额限制
-
提高修复速度
-
隔离系统和程序
-
安装多个OS
-
采用不同文件系统
1.2 MBR分区
MBR 分区最多只能分四个区
- MBR位于硬盘第一个物理扇区处 , MBR中包含硬盘的主引导程序和硬盘分区表
- 第一个扇区总共512字节,前446字节是主引导记录,分区表保存在扇区中的第447-512字节中。
- 分区表有4个分区记录区,每个分区记录区占16字节
Linux中将硬盘、分区等设备均表示为文件。
1.2 磁盘分区的表示
Linux内核读取光驱、硬盘等资源时,都是通过“设备文件”的形式进行,因此,将硬盘和分区分别表示为不同的文件。
表示:/dev/hda5
- /dev/:硬件设备文件所在的目录
- hd:表示IDE设备(sd表示scsi设备)
- a:硬盘的顺序号,表示的第几块硬盘,以a、b、c…表示
- 5:分区的顺序号,表示第一块硬盘接口的第五个分区
1.3 磁盘分区结构
- 因此总的来说,硬盘分区有 3 种:分别是主分区、扩展分区和逻辑分区。
- 对于一个硬盘来说,主分区至少有 1 个,最多有 4 个;扩展分区可以没有,最多只能有 1 个,且主分区+扩展分区总共不能超过 4 个;逻辑分区可以有若干个。
- 主分区可以直接存储数据
- 扩展分区不可以直接存储数据,还需要再分区
2 文件系统
文件系统的组成
-
内核中的模块:ext4, xfs, vfat
-
Linux的虚拟文件系统:VFS
-
用户空间的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat
2.1 XFS
- CenOS 7系统中默认使用的文件系统,高性能的日志型文件系统
- 存放文件和目录数据的分区
- 数据完整性:根据所记录的日志在很短时间内迅速恢复磁盘文件内容
- 传输特性 :用优化算法,日志记录对整体文件操作影响非常小。查询与分配存储空间非常快。
- 可扩展性 :是一个全64-bit的文件系统,最大可以支持8EB的文件系统
- 传输带宽 : XFS 能以接近裸设备I/O的性能存储数据。对单个文件的读写操作,吞吐量可达4GB每秒。
2.2 swap
swap交换分区是系统RAM的补充,swap 分区支持虚拟内存。当没有足够的 RAM 保存系统处理的数据 时会将数据写入 swap 分区,当系统缺乏 swap 空间时,内核会因 RAM 内存耗尽而终止进程。配置过 多 swap 空间会造成存储设备处于分配状态但闲置,造成浪费,过多 swap 空间还会掩盖内存不足。
2.3 FAT16、FAT32
且最大只能支持32GB分区,单个文件也只能支持最大4GB
2.4 EXT4
Extended file system 适用于那些分区容量不是太大,更新也不频繁的情况,例如 /boot 分 区是 ext 文件系统的最新版。提供了很多新的特性,包括纳秒级时间戳、创建和使用巨型文件 (16TB)、最大1EB的文件系统,以及速度的提升1EB=1024PB=1024*1024T2.5B
2.5 JFS
主要是为满足服务器的高吞吐量和可靠性需求而设计、开发的。单个文件最大限制16TB,该文件系统最大支持1PB的容量。1PB=1024TB
3 磁盘分区工具
lsblk | 列出块设备 |
fdisk | 管理MBR分区 |
gdisk | 管理GPT分区 |
parted | 高级分区操作,可以是交互或非交互方式 |
partprobe | 重新设置内存中的内核分区表版本,适合于除了CentOS 6 以外的其它版本 5,7,8 |
3.1 fdisk
格式:fdisk -l [磁盘设备]
或 fdisk [磁盘设备]
m | 打印出菜单 |
p | 打印出当前分区表 |
n | 新建一个分区 |
d | 删除一个分区 |
t | 改变分区的属性,系统ID |
w | 保存 |
q | 不保存退出 |
3.2 添加磁盘
刚添加好磁盘后不会直接显示,需重启机器或刷新磁盘接口
刷新磁盘接口
然后再lsblk查看
3.3 磁盘分区
fdisk /dev/sdb # 对sdb磁盘进行分区
分区划分完毕,之后进行扩展分区、逻辑分区划分
同样的步骤
fdisk /dev/sdb #对sdb磁盘进行分区
lsblk 查看分区情况
3.4 blkid
可以查看块设备属性信息
3.5 mkfs
mkfs 格式划分区
创建文件系统(格式化)常用选项
-t | 指定文件系统类型 |
-b | 指定块 block 大小 |
-L | 设置卷标 |
-j | 相当于 -t ext3, mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3-i |
-i | 为数据空间中每多少个字节创建一个inode;不应该小于block大小 |
-N | 指定分区中创建多少个inode |
-l | 一个inode记录占用的磁盘空间大小,128---4096 |
-m | 为管理人员预留空间占总空间的百分比 |
-O | FEATURE[,...] 启用指定特性-O ^FEATURE 关闭指定 |
分区显示出来以后对分区进行格式化,使用mkfs.xfs +分区名
4 挂载及永久挂载
4.1 mount
mount [ -t 类型 ] 存储设备 挂载点目录 mount -o loop ISO镜像文件 挂载点目录
device:指明要挂载的设备
-
设备文件:例如:/dev/sda5
-
卷标:-L 'LABEL', 例如 -L 'MYDATA'
-
UUID: -U 'UUID':例如 -U '0c50523c-43f1-45e7-85c0-a126711d406e'
-
伪文件系统名称:proc, sysfs, devtmpfs, configfs
mountpoint:挂载点目录必须事先存在,建议使用空目录
-t | fstype 指定要挂载的设备上的文件系统类型,如:ext4,xfs |
-r | readonly,只读挂载 |
-w | read and write, 读写挂载,此为默认设置,可省略 |
-n | 不更新/etc/mtab,mount不可见 |
-a | 自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有 auto功能) |
-L | 'LABEL' 以卷标指定挂载设备 |
-U | 'UUID' 以UUID指定要挂载的设备 |
-B | --bind 绑定目录到另一个目录上 -o options:(挂载文件系统的选项),多个选项使用逗号分隔 |
-o | 异步模式,内存更改时,写入缓存区buffer,过一段时间再写到磁盘中,效率高,但不安全 |
挂载规则
-
一个挂载点同一时间只能挂载一个设备
-
一个挂载点同一时间挂载了多个设备,只能看到最后一个设备的数据,其它设备上的数据将被隐藏
-
一个设备可以同时挂载到多个挂载点
-
通常挂载点一般是已存在空的目录
4.2 临时挂载
若重启服务器则挂载失效
df -h 查看挂载情况
将 sdb1 挂载到/mnt
将 sdb5 挂载到/opt
4.3 永久挂载
永久挂载即使服务器重启后挂载依然生效
需要 将文件写入 /etc/fstab
UUID 可以确保唯一
vim /etc/fstab
在/etc/fstab 文件中,每一行记录对应一个分区或设备的挂载配置信息,这些信息从左到右包括六个字段(使用空格或制表符分隔)
然后进入/etc/fstab将挂载信息写入其中后保存退出
重启服务器查看是否永久挂载
永久挂载成功
更多推荐
所有评论(0)