盘片:硬盘有多个盘片,每盘片有2面
磁头:每面一个磁头,并不是只有一个磁头,磁头也不会碰到盘面,磁头等于盘片数量
扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据(扇区越多容量越大) 存放数据的最小单位 512字节
磁道:同一盘片不同半径的同心圆
柱面:不同盘片相同半径构成的圆(柱面和磁道数量相同)
硬盘存储容量=磁头数(8个2进制)×磁道(柱面)数×每道扇区数(6个二进制)×每扇区字节数
可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域
优化I/O性能 读写
实现磁盘空间配额限制
提高修复速度
隔离系统和程序
安装多个OS
采用不同文件系统
mbr 分区 (老的技术) gpt分区(新技术)
MBR: 2T 以下 的硬盘 fdisk
GPT: 可以支持 2T 以上的硬盘 gdisk
MBR: 主引导记录, 是硬盘上的第一个扇区, 想要读数据得从这个扇区开始
MBR 一共 512 字节。前 446 字节 开机引导程序, 引导硬件 找到我们的操作系统,后 64 字节 分区表 表明了 分区的范围, 分区从哪里到那里结束,最后 两字节 代表MBR 结束位。
主分区分类
主分区: 可以直接使用 , 安装操作系统 存储文件 等
扩展分区:是特殊分区,不可以直接使用, 需要再划分逻辑分区, 让分区超过4个
逻辑分区:可以直接使用, 存储文件5+,逻辑分区的范围不能超过扩展分区的范围
扩展分区是特殊的主分区
主分区的序号为 1-4
逻辑分区的序号 从5 开始
MBR磁盘采用MBR分区表,由于MBR用4个字节存储分区总扇区数,最大可以表示2的32次方,一个扇区512字节,那么分区的容量或者磁盘容量都不能超过2TB。 通常情况下主分区只有四个,而 扩展分区可以看成是一个特殊的主分区类型,在扩展分区中可以建立逻辑分区。主分区一般 用来安装操作系统,扩展分区多用来存储文件数据。
所以硬盘分区有 3 种,分别是主分区、扩展分区和逻辑分区。对于一个硬盘来说,主分区至少有 1 个,最多有 4 个;扩展分区可以没有,最多只能有 1 个,主分区+扩展分区总共不能超过 4 个;逻辑分区可以有若干个。
主分区可以直接存储数据
扩展分区不可以直接存储数据,还需要再分区
文件系统是操作系统用于明确存储设备或分区上的文件的使用方法和数据结构;在存储设备上组织使用文件的方法。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进 行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的 存取,安全控制,日志,压缩,加密等。
centos6默认使用文件系统ext4
centos7默认使用文件系统xfs
lsblk 列出块设备
fdisk 管理MBR分区
gdisk 管理GPT分区
parted 高级分区操作,可以是交互或非交互方式
partprobe 重新设置内存中的内核分区表版本,适合于除了CentOS 6 以外的其它版本 5,7,8
parted 命令
注意:parted的操作都是实时生效的,小心使用
parted [选项]... [设备 [命令 [参数]...]...]
parted /dev/sdb mklabel gpt|msdos
parted /dev/sdb print
parted /dev/sdb mkpart primary 1 200 (默认M)
parted /dev/sdb rm 1
parted -l 列出所有硬盘分区信息
磁盘设备
格式:fdisk -l [磁盘设备]
选项:
- m 打印出菜单
- p 打印出当前分区表
- n 新建一个分区
- d 删除一个分区
- t 改变分区的属性,系统ID
- w 保存
- q 不保存退出
查看块设备属性信息
[root@192 ~]# blkid
/dev/sda1: UUID="dd924c21-db72-4fc2-bb50-a1b807e11707" TYPE="xfs"
/dev/sda2: UUID="seCmIX-Qnsm-936E-LFi7-iycT-aW69-170SMy" TYPE="LVM2_member"
/dev/sr0: UUID="2017-09-06-10-51-00-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/mapper/centos-root: UUID="a186c243-8403-4d1e-826a-668de463529f" TYPE="xfs"
/dev/mapper/centos-swap: UUID="ad062e10-f14a-4cd6-ae86-963bbcea5829" TYPE="swap"
创建文件系统(格式化)常用选项
-t {ext2|ext3|ext4|xfs} 指定文件系统类型
-b {1024|2048|4096} 指定块 block 大小
-L ‘LABEL’ 设置卷标
-j 相当于 -t ext3, mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3-i
-i # 为数据空间中每多少个字节创建一个inode;不应该小于block大小
-N # 指定分区中创建多少个inode
-I 一个inode记录占用的磁盘空间大小,128---4096
-m # 默认5%,为管理人员预留空间占总空间的百分比
-O FEATURE[,...] 启用指定特性-O ^FEATURE 关闭指定
[root@192 ~]# mkfs mkfs -t ext4=mkfs.ext4
mkfs mkfs.cramfs mkfs.ext3 mkfs.fat mkfs.msdos mkfs.xfs
mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.minix mkfs.vfat
swap
特殊的文件系统,缓解内存不足,为了个别应为程序加内存有点浪费
添加交换分区的空间
mkswap + 分区
swapon +分区 开启 -a 全部
swapoff +分区 关闭 -a 全部
2.6 lsblk
[root@localhost ~]#lsblk -d -o name,rota#查看当前硬盘是什么模式 固态 机械 1 机械 0 固态NAME ROTAsda 1sr0 1
mount [ -t 类型 ] 存储设备 挂载点目录
mount -o loop ISO镜像文件 挂载点目录
一个挂载点同一时间只能挂载一个设备
一个挂载点同一时间挂载了多个设备,只能看到最后一个设备的数据,其它设备上的数据将被隐藏
一个设备可以同时挂载到多个挂载点
通常挂载点一般是已存在空的目录
-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:(挂载文件系统的选项),多个选项使用逗号分隔
[root@192 ~]# mount /dev/sr0 /opt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@192 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 37G 5.7G 32G 16% /
devtmpfs 977M 0 977M 0% /dev
tmpfs 993M 0 993M 0% /dev/shm
tmpfs 993M 9.0M 984M 1% /run
tmpfs 993M 0 993M 0% /sys/fs/cgroup
/dev/sda1 1014M 161M 854M 16% /boot
tmpfs 199M 12K 199M 1% /run/user/42
tmpfs 199M 0 199M 0% /run/user/0
/dev/sr0 4.3G 4.3G 0 100% /opt
####查看是否为挂载点
# findmnt 查看 设备的详细信息
[root@localhost opt]# findmnt /sdb1
TARGET SOURCE FSTYPE OPTIONS
/sdb1 /dev/sdb1 xfs rw,relatime,seclabel,attr2,inode64,noquota
需要 将文件写入 /etc/fstab
UUID 可以确保唯一
[root@localhost opt]# blkid
/dev/sda1: UUID="e9364e9b-a85b-49d7-9652-3a56202e14c8" TYPE="xfs"
/dev/sda2: UUID="2b3XJj-lWF0-peVn-pI09-xRPq-RF5D-1PCWHs" TYPE="LVM2_member"
/dev/sda3: UUID="U6aPoo-6qm9-MdVr-Kdhx-ORuu-JCPK-7oRxlU" TYPE="LVM2_member"
/dev/sr0: UUID="2017-09-06-10-51-00-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/mapper/centos-root: UUID="a0a45ee1-62c2-4107-895a-a0ad9d01e21f" TYPE="xfs"
/dev/mapper/centos-swap: UUID="9c443edd-5cd4-4b29-8f22-d7f935eff0af" TYPE="swap"
/dev/sdb1: UUID="2a1e1ac7-7462-4fc3-b644-43813660276f" TYPE="xfs"
[root@localhost opt]# vim /etc/fstab
在/etc/fstab 文件中,每一行记录对应一个分区或设备的挂载配置信息,这些信息从左到右包括六个字段(使用空格或制表符分隔),各部分的含义如下所述。
/dev/sdb1 /mnt xfs defaults 0 0
第 1 字段:设备名或设备卷标名。
第 2 字段:文件系统的挂载点目录的位置。
第 3 字段:文件系统类型,如 XFS、Swap 等。
第 4 字段:挂载参数,即mount 命令“-o”选项后可使用的参数。例如,defaults、rw、ro、noexec 分别表示默认参数、可写、只读、禁用执行程序。
第 5 字段:表示文件系统是否需要 dump 备份(dump 是一个备份工具)。一般设为 1时表示需要,设为 0 时将被 dump 忽略
第 6 字段:该数字决定在系统启动时进行磁盘检查的顺序。0 表示不进行检查,1 表示优先检查,2 表示其次检查。根分区应设为 1,其他分区设为 2。
通过在/etc/fstab 文件中添加相应的挂载配置,可以实现开机后自动挂载指定的分区。例如,执行以下操作将添加自动挂载分区/dev/sdb1 的配置记录
# /etc/fstab
# Created by anaconda on Fri Aug 6 20:57:12 2021
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
/dev/mapper/centos-root / xfs defaults 0 0
UUID=e9364e9b-a85b-49d7-9652-3a56202e14c8 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
UUID=2a1e1ac7-7462-4fc3-b644-43813660276f /sdb1 xfs defaults 0 0
~
:r!blkid /dev/sdb1
##使用vi编辑器功能读入UUID
[root@localhost opt]# mount -a
#####uuid写错了 可以直接等待进入系统后,出现ctrl+D 报错 输入root密码,后修改 /etc/fstab
umount 设备名|挂载点
卸载时:可使用设备,也可以使用挂载点
fuser -v MOUNT_POINT
查看正在访问指定文件系统的进程
fuser -km MOUNT_POINT
终止所有在正访问指定的文件系统的进程