一、磁盘结构
1.硬盘的物理结构
盘片:硬盘有多个盘片,每盘片2面
磁头:每面一个磁头
2.硬盘的数据结构
扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,硬盘的最小存储单位
块:文件存取的最小单位,一个块通常由8个连续扇区组成,大小为4K(即为4096字节)
磁道:同一盘片不同半径的同心圆,是由磁头在盘片表面划出的圆形轨迹
柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成
- 磁盘存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数(512字节)
- 可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域
3.磁盘接口类型:
IDE:并口数据线连接主板与硬盘,抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被 SATA 所取代
SATA:抗干扰性强,支持热插拔等功能,速度快,纠错能力强
SCSI:小型机系统接口,SCSI硬盘广为工作站级个人电脑以及服务器所使用,资料传输时CPU占用率较低,转速快,支持热插拔等
SAS:是新一代的SCSI技术,和SATA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到 6Gb/s
M.2、光纤通道
二、MBR与磁盘分区表示
主引导记录(MBR:Master Boot Record)
- MBR位于硬盘第一个物理扇区处
- MBR中包含硬盘的主引导程序和硬盘分区表
- 主引导程序:加载操作系统的内核,位于MBR扇区的前446字节
- 分区表记录硬件分区信息,有4个分区记录区、每个分区记录区占16个字节,位于MBR扇区的第447~510字节
- Linux中将硬盘、分区等设备均表示为文件
- 主启动记录(MBR)磁盘分区支持最大卷为2.2TB,每个磁盘最多有4个主分区,或3个主分区、1个扩展分区和在扩展分区里面分多个逻辑分区
/dev/hda5
/dev/ | hd | a | 5 |
硬件设备文件所在目录 | 硬盘设备接口类型 hd表示IDE设备 sd表示SCSI设备 | 硬盘的顺序号,以字母a、b、c……表示 | 分区的顺序号,以数字1/2/3……表示 |
三、磁盘分区结构
- 硬盘中的主分区数目只有4个
- 主分区和扩展区的序号限制在1~4
- 扩展分区再分为逻辑分区
- 逻辑分区的序号将始终从5开始
- 例
第一个主分区 /dev/hda1 | 第二个主分区 /dev/hda2 | 第一块IDE硬盘设备 /dev/hda | 第1个逻辑分区 /dev/hda5 | 第2个逻辑分区 /dev/hda6 | 扩展分区 |
四、文件系统类型
-
XFS文件系统
- 存放文件和目录数据的分区
- 高性能的日志型文件系统,特别擅长于处理大文件,可支持上百万TB的存储空间
- centos7系统中默认使用的文件系统
-
SWAP交换文件系统(紧急预案)
- 为Linux系统建立交换分区
- 一般设置为物理内存的1.5~2倍
- 用于解决内存空间不足的情况
- 例:新建Linux系统必须要有哪些分区
必须分区:根“/”分区,swap分区
- 禁用启用swap
swapon 设备文件 | 开启swap |
swapoff 设备文件 | 关闭swap |
-
Linux支持的其他文件系统类型
EXT4/3、FAT32、NTFS、LVM
五、检测并确认新硬盘
- fdisk命令
查看或管理磁盘分区
fdisk | -l | 磁盘设备 |
fdisk | 磁盘设备 |
- 交互模式中的常用指令
m | 获取帮助菜单 |
p | 查看分区情况 |
n | 新建分区 |
d | 删除分区 |
t | 变更分区的类型 |
w | 保存分区操作并退出 |
q | 不保存分区操作并退出 |
六、创建文件系统
- mkfs命令
Make Filesystem,创建文件系统(格式化)(其中只能针对主分区和逻辑分区)
mkfs | -t | 文件系统类型 | 分区设备 |
- mkswap命令
make swap,创建交换文件系统
mkswap | 分区设备 |
七、挂载、卸载文件系统
- mount命令
挂载文件系统、ISO镜像
mount | -t(类型) | 存储设备 | 挂载点目录 | |
mount | -o | loop | ISO镜像 | 挂载点目录 |
-t | 用于指定文件系统类型,通常可以省略,由系统自动识别 |
-o | 挂载参数列表,以英文逗号分隔;或用来描述特殊设备,用loop指定 |
若服务器无光驱,上传光盘到服务器
mount命令查看挂载
- umount命令
卸载已挂载的文件系统
umount | 存储设备位置 |
umount | 挂载点目录 |
若不成功,进行以下操作查看占用情况
或
一般不使用,会导致文件丢失
八、当前Linux系统支持分区
-
MBR
若磁盘小于2TB,可用fdisk /dev/sdb 进行分区,即MBR 分区格式
-
GPT
全局唯一标识分区表(GUID Partition Table,缩写:GPT)
GPT是一个实体硬盘的分区结构。它是可扩展固件接口标准的一部分,用来替代BIOS中的主引导记录分区表。 传统的主启动记录(MBR)磁盘分区支持最大卷为2.2TB,每个磁盘最多有4个主分区,或3个主分区、1个扩展分区和在扩展分区里面分多个逻辑分区
与MBR分区方法相比,GPT具有更多的优点,因为它允许每个磁盘有多达128个分区,支持高达18EB(千兆兆字节)的卷大小,允许将主磁盘分区表和备份磁盘分区表用于冗余,还支持唯一的磁盘和分区 ID (GUID)
若磁盘大于2TB,可用parted /dev/sdb 进行分区,因为MBR分区磁盘是不能大于2.2TB,所以超过2TB一般使用GPT 分区格式
九、Linux系统添加新硬盘的步骤
- 添加新硬盘,使用2.5/3.5英寸的托盘插入到服务器
- 刷新识别,重启服务器刷新
- 重启
- 命令
在线刷新
echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan
fdisk -l 查看确认新硬盘设备
- 进行分区
fdisk 设备文件/dev/sdb
n | 新建分区 |
p/e/l | 创建主分区/扩展分区/逻辑分区 |
l | 设置分区号,主分区/扩展分区1~4,逻辑分区从5开始 |
起始扇区位置 | 一般直接回车,使用默认值 |
结束扇区位置 | 一般设置为空间大小,+XX G/M/K |
t | 设置分区类型ID,常用的有83默认的Linux类型,82 SWAP,8e LVM,fd RAID |
p | 查看当前分区状况 |
w/q | 保存退出/不保存退出 |
d | 删除分区 |
设置swap分区
小知识:
partprobe
操作系统自动刷新分区表
- 格式化,创建文件系统
mkfs | -t | 文件系统类型xfs/ext4 | 设备文件/dev/sdb1 |
mkfs | .xfs/ext4 | 设备文件 | |
mkswap | 设备文件 |
- 挂载使用
mount | 设备文件 | 挂载点目录 |
swapon | 设备文件 |
- 查看文件系统使用情况
df -hT | 查看挂载情况和挂载参数 |
lsblk -f | |
mount | |
free -m(以M为单位显示) | |
swapon -s |
- 取消挂载使用
umount | [-lf] | 挂载点目录 |
umount | 设备文件 | |
swapoff | 设备文件 | |
swapoff | -a |
- 开机自动挂载
vim /etc/fstab
Linux 操作系统在每次开机时,会自动读取/etc/fstab文件的内容,自动挂载所指定的文件系统
/dev/sdb1 | /opt | xfs | defaults | 0 | 0 |
设备名称/UUID | 挂载点目录 | 文件系统类型 | 挂载参数 | 不备份文件系统 | 开机不进行磁盘检查 |
根据 /etc/fstab 配置进行挂载
先用解挂载命令解挂载输入的命令,再用以下命令验证是否可以挂载成功
mount -a
vim /etc/rc.d/rc.local
mount 设备文件 挂载点目录
chmox +x /etc/rc.d/rc.local
- 例:
Ctrl键+d并输入密码
使用vim进入/etc/fstab文件修改刚才的错误位置
并再次重启
- 小知识
fdisk 适用于 小于 2.2TB 的硬盘分区
gdisk parted 都可适用于大于 2.2TB 的硬盘分区
检查磁盘是否损坏
badblocks -sv /dev/sda1
修复文件系统
xfs_repair /dev/sdX
fsck -t ext4 -a /dev/sdX