1.磁盘基础
1.1硬盘的物理结构:
盘片:硬盘有多个盘片,每盘片2面(正反面)
磁头:每面一个磁头(并不是只有一个磁头)
1.2硬盘的数据结构:
扇区:盘片被分为多个扇形区域,每个区域存放在512字节的数据(扇区越多容量越大)
磁道:同一盘片不同半径的同心圆
柱面:不同盘片相同半径构成的圆(柱面和磁道数量相同)
1.3 硬盘存储容量
1. 硬盘存储容量=磁头数(8个2进制)×磁道(柱面)数×每道扇区数(6个二进制)×每扇区字节数
1柱面=512 * 扇区数/磁头数×磁道=51263255=7.84M
2. 可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域
1.4 硬盘接口的类型
接口类:
3. IDE:133MB/s,并行接口,早期家用电脑
4. SCSI:640MB/s,并行接口,早期服务器
5. SATA:6Gbps,SATA数据端口与电源(长的,数据线短的)端口是分开的,即需要两条线,一条数据线,一条电源线
6. SAS:6Gbps,SAS是一整条线,数据端口与电源端口是一体化的,SAS中是包含供电线的,而SATA中不包含供电线。SATA标准其实是SAS标准的一个子集,二者可兼容,SATA硬盘可以插入SAS主板上,反之不行。
7. M.2:
8. 光纤接口
MBR与磁盘分区
1.1 为什么分区
l 优化I/O(读写)性能
l 实现磁盘空间配额限制
l 提高修复速度
l 隔离系统和程序
l 安装多个OS
l 采用不同文件系统
1.2 硬盘分区
MBR分区 只可以对2T以下的硬盘进行分区
一个扇形512字节
扇区中前446字节存系统文件的位置,引导程序
一个分区表 16字节
分区的作用:
主分区:可以直接使用,可以装系统
扩展分区:不可以直接使用,必须要分逻辑分区
逻辑分区:依托于扩展分区,使用的是扩展分区中的空间
Mbr分区
1. 主分区: 序号1-4
2. 逻辑分区: 序号从5开始
3. 扩展分区 一定是 主分区
4. 主分区不一定是扩展分区
5. 逻辑分区一定不是主分区
文件系统
文件系统组成:
l 内核中的模块:ext4、xfs、vfat
l Linux的虚拟文件系统:VFS
l 用户空间的管理工具:mkfs.ext4,mkfs.xfs,mkfs.vfat
常见的硬件设备在/dev目录下
#此处的8代表设备的类型 8后的数字代表第几类的第几块设备
文件系统
用来管理(增删改查恢复)文件的程序
XFS 默认
根据所记录的日志在很短的时间内迅速恢复磁盘文件
内容
用优化算法,日志记录对整体文件操作影响非常小
是一个全64-bit的文件系统,最大可以支持8EB的文
件系统,1EB=1024PB1PB=1024TB(这里才到
TB1TB=1024GB
而支持单个文件则达到8EB能以接近裸设备I/O的性能
存储
swap
swap交换分区是系统RAM的补充,swap 分区支持虚拟
内存。当没有足够的 RAM 保存系统处理的数据
时会将数据写入 swap 分区,当系统缺乏 swap 空间
时,内核会因 RAM 内存耗尽而终止进程。配置过
多 swap 空间会造成存储设备处于分配状态但闲置,造
成浪费,过多 swap 空间还会掩盖内存不足。
FAT16、FAT32、
且最大只能支持32GB分区,单个文件也只能支持最大
4GB。
NTFS(xfs)
NTFS文件系统所具备3个功能:错误预警功能、磁盘自
我修复功能和日志功能,单个文件64GB
EXT4
Extended file system 适用于那些分区容量不是太大,
更新也不频繁的情况,例如 /boot 分
区是 ext 文件系统的最新版。提供了很多新的特性,包
括纳秒级时间戳、创建和使用巨型文件
(16TB)、最大1EB的文件系统,以及速度的提升
1EB=1024PB=1024TB
JFS
主要是为满足服务器的高吞吐量和可靠性需求而设计、
开发的。单个文件最大限制16TB,该文件系统最大支持
1PB的容量。1PB=1024TB
分区工具
lsblk 列出块设备
fdisk 管理MBR分区(测试) centos7 测试版本可以对 #2T以下
gdisk 管理GPT分区 #2T以上
管理磁盘及分区——分区工具fdisk
格式:fdisk –l [磁盘设备]
fdisk [磁盘设备]
[root@localhost ~]#fdisk -l /dev/sda ##只看sda硬盘
[root@localhost ~]#fdisk –l ##看所有
交互模式中常用指令
1. m 打印出菜单
2. p 打印出当前分区表
3. n 新建一个分区
4. d 删除一个分区
5. t 改变分区的属性,系统ID
6. w 保存
7. q 不保存退
基本用法:fdisk 硬盘名
例子:新建
n 新建
回车默认从序号1开始分区
回车
回车默认开始的扇区
+#G 回车 #是数字
P 打印当前分区表
w 保存退出
创建后分区如果分区未出现可以使用
partprobe 刷新检测分区表
blkid
可以查看块设备属性信息
创建文件系统——mkfs 命令
命令格式:
mkfs –t 文件系统类型 分区名
mkfs. 文件系统类型 分区名
例子:
[root@localhost ~]#mkfs.xfs /dev/sdb1
[root@localhost ~]#mkfs.
mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.minix mkfs.vfat
mkfs.cramfs mkfs.ext3 mkfs.fat mkfs.msdos mkfs.xfs
mkfs -t 文件系统类型 分区名
[root@localhost ~]#mkfs -t ext4 /dev/sdb2
建立特殊分区 swap
过程:分区一定要将分区类型改为82(swap分区)
t 改变分区类型
82
建立文件系统:mkswap 分区名
mkswap /dev/sdd1
启用:swapon 分区名
例子:swapon /dev/sdd
swapon –a 启用所有
停用:swappoff -a
挂载和卸载文件系统
挂载文件系统——mount命令
使用mount命令是一次性的,关机后挂载关系就会取消,下次开机仍需要重新挂载
命令格式:
mount 分区名 文件夹名
示例:
[root@localhost ~]#mount /dev/sdb1 /mnt
挂载规则:
一个挂载点同一时间只能挂载一个设备
一个挂载点同一时间挂载了多个设备,只能看到最后
一个设备的数据,其它设备上的数据将被隐藏
一个设备可以同时挂载到多个挂载点
通常挂载点一般是已存在空的目录
卸载文件系统——umount 命令
命令格式:umount 挂载点目录
设置文件系统的自动挂载(永久挂载)
Vim /etc/fstab
注意:UUID一定要加上
修复文件系统:
损坏文件系统:
dd if=/dev/zero of=/dev/sdb1 bs=512 count=1
dd 复制
if 从哪里复制什么 /dev/zero
of 是复制到那里去 /dev/sdb1
bs=512 一次复制512
count=1 复制1次
设置磁盘分区完整步骤演示
实验内容:
1)新增并检测新硬盘:为主机新增三块20G的硬盘。
2)对该硬盘进行分区:划分1个主分区(5G)、1个扩展分区(10G)。扩展分区内建立1个逻辑分区,容量分别为5G 。
3)创建文件系统:主分区和第1个逻辑分区格式化为 XFS文件系统。第2个逻辑分区格式化为 swap文件系统。
4)挂载文件系统:主分区挂载到/mnt 目录,第1个逻辑分区挂载到/opt 目录。
1.检测并确认新硬盘
新加硬盘后,需要刷新磁盘接口,让系统识别新硬盘
命令如下:
[root@localhost ~]#echo "- - -" > /sys/class/scsi_host/host0/scan
[root@localhost ~]#echo "- - -" > /sys/class/scsi_host/host1/scan
[root@localhost ~]#echo "- - -" > /sys/class/scsi_host/host2/scan
使用命令fdisk 设置硬盘主分区
给分区指定文件系统,并挂载
在扩展分区下,建立逻辑分区
首先建立扩展分区:
再旗下建立逻辑分区
注意:如遇到/dev/sdb5 不存在 重新刷新一下 然后在加入文件系统
将其挂载到/opt 下
建立特殊区 swap