一、磁盘结构
硬盘的物理结构
• 盘片:硬盘有多个盘片,每盘片2面
• 磁头:每面一个磁头
硬盘的数据结构
• 扇区盘片被分为多个扇形区域,每个扇区存放512字节的数据,硬盘的最小存储单位
• 磁道:同一盘片不同半径的同心圆,是由磁头在盘片表面划出的圆形轨迹
• 柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个 磁道组成
PS:
每个扇区存放512字节,一个block块有多个扇区组成
• 硬盘存储容量=磁头数×磁道 (柱面) 数×每道扇区数×每扇区字节数(512字节)
• 可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域
• 磁盘接口类型
IDE、 SATA、 SCSI、 SAS、 光纤通道
• 磁盘接口:IDE、SATA、SCSI、SAS、光纤通道
• sd表示SCSI设备 hd表示IDE设备
二、MBR与磁盘分区
MBR(Master Boot Record)主引导记录
主引导记录 MBR:Master Boot Record)
• MBR位于硬盘第一个物理扇区处
• MBR中包含硬盘的主引导程序和硬盘分区表
• 分区表有4个分区记录区,每个分区记录区占16个字节
• Linux中将硬盘、分区等设备均表示为文件
/dev/hda5
/dev/: 硬件设备文件所在的目录
hd:表示IDE设备 ##sd表示SCSI设备
a:硬盘的顺序号,以字母a、b、C.....表示
5:分区的顺序号,以数字 123......表示
PS:
MBR位于硬盘第一个物理扇区处,包含硬盘的主引导程序和硬盘分区表共有:1-2047字节
磁盘分区表有64字节,分为4个主分区,每个16字节
磁盘分区结构
• 硬盘中的主分区数目只有4个
• 主分区和扩展分区的序号限制在1~4
• 扩展分区再分为逻辑分区
• 逻辑分区的序号将始终从5开始
三、创建磁盘分区
创建分区步骤
n:创建分区
p主分区、e扩展分区、逻辑分区
设置分区:1(范围1-4,如按Enter键接受默认值)
设置柱面序列:直接按Enter键接受默认值
设置分区大小:+20G (指定大小为20GB,如按Enter键接受默认值表示所有空间)
w:保存并退出
变更硬盘(特别是正在使用的硬盘)的分区设置以后,建议最好将系统重启一次,或者执行“partprobe”命令使操作系统检测新的分区表情况。以防格式化分区时损坏硬盘中已有的数据。partprobe /dev/sdb
创建文件系统
创建文件系统的过程即格式化分区的过程
mkfs-txfs /dev/sdb1 [新建的设备文件]
mkfs.xfs /dev/sdb1
fdisk -l:查看当前磁盘情况
四、文件系统类型
XFS文件系统
• 存放文件和目录数据的分区
• 高性能的日志型文件系统,特别擅长于处理大文件,可支持上百万TB的存储空间。
• Centos7系统中默认使用的文件系统
SWAP,交换文件系统
• 为Linux系统建立交换分区
• 一般设置为物理内存的1.5~2倍
Linux支持的其它文件系统类型
• EXT4、FAT32、NTFS、LVM
PS:
swap(交换分区):内存空间饱和时,将自身空间分给内存使用。
(默写)其他文件系统类型:EXT4、FAT32、NTFS、LVM
五、磁盘分区挂载
(磁盘必须分区、格式化、添加文件系统识别才可以得到可以使用的设备文件)
1、创建分区
fdisk /dev/sdb(进行磁盘分区,操作对象为磁盘sdb)
##交互模式中的常用指令:
m:获取帮助菜单
n:新建分区
p:查看分区情况
d:删除分区
t:变更分区的类型
w:保存分区操作并退出
q:不保存分区操作并退出
##创建分区步骤
n ##新建分区
p ##p 主分区、e 扩展分区、l 逻辑分区
1 ##设置分区: (范围1-4,如按 Enter 键接受默认值)
按 Enter 键 ##设置柱面序列: 直接按 Enter 键接受默认值
+20G ##设置分区大小: (指定大小为 20GB,如按 Enter 键接受默认值表示所有空间)
w ##(保存退出)
2、制作可用设备文件
mkfs.xfs /dev/sdb1 或者 mkfs -t xfs /dev/sdb1 ## 使用.xfs文件系统格式化和定义设备文件类型
3、将设备文件挂载给目录
mkdir /abc ##创建挂载目录 mount /dev/sdb1 /abc ##将磁盘分区挂载到目录/abc
df -hT ##查看是否挂载完成
六、创建交换文件系统
创建交换文件系统
创建swap之前,目标分区应先通过fdisk工具将分区类型ID号设为82
fdisk /dev/sdb
t
5
82
mkswap /dev/sdb5
swap on /dev/sdb5 #启用新增加的交换分区
swapoff /dev/sdb5 #停用指定的交换分区
swapon -s #查看每个分区的swap状态信息
free -m #查看总的swap状态信息
1、通过fdisk工具将分区类型ID号设为82
fdisk /dev/sdb ##(进行磁盘分区,操作对象为磁盘sdb)
t ##t:变更分区的类型
5 ##设置分区:
82 ##将分区类型ID号设为82
mkswap /dev/sdb5
## 使用swap文件系统格式化和定义设备文件类型
swap on /dev/sdb5
挂载文件系统、ISO镜像到指定文件夹
mount [-t类型] 存储设备 挂载点目录
mount -o loop ISO镜像文件 挂载点目录
-t:用于指定文件系统类型,通常可以省略,由系统自动识别
-0:挂载参数列表,以英文逗号分隔;如用来描述特殊设备,用loop指定
mount /dev/cdrom /mnt
mount /dev/sdb1 /opt
mount -o loop CentOS-7-86_64-DVD-1611.iso /media/mnt
卸载已挂载的文件系统
卸载前提:挂载的设备或者目录没有被在使用中,要先退出挂载目录
umount [-lf] 存储设备目录或者挂载点目录
-lf:强制卸载
查看磁盘挂载情况
1.直接mount命令
2.df [选项]
-h:显示分区的容量单位
-T:显示文件系统的类型
-i:显示分区的inode号码数量
查看设备的UUID和文件系统类型
blkid [设备]
七、永久挂载
设置文件系统的自动挂载
Linux操作系统在每次开机时,会自动读取/etc/fstab文件的内容,自动挂载所指定的文件系统。
vim /etc/fstab
/dev/sdb1 opt xfs defaults 0 0
/dev/sr0 /mnt iso9660 defaults 0 0
ps:mount -a :挂载刷新
第1字段:分区名或设备卷标名
第2字段:文件系统的挂载点目录的位置
第3字段:文件系统类型,如xfs、swap等。
第4字段:挂载参数,即mount命令“-o”选项后可使用的参数。例如,defaults(默认参数)、rw(可读写)、ro(只读)、noexec(禁用执行程序)
第5字段:表示文件系统是否需要dump备份(dump是一个备份工具)。一般设为1时表示需要,设0时将被dump忽略
第6字段:该数字决定在系统启动时进行磁盘检查的顺序。0表示不进行检查,1表示优先检查,2表示其次检查。根分区应设为1,其他分区设为2。
PS:
free -m #查询 内存与swap交换分区的使用率命令,通常来说,在排错时,会用到
swap -a:关闭
swapput output uname -l:内核版本
iostat #查看磁盘读写性能