1、磁盘介绍

1.1 认识磁盘
磁盘是一种计算机的外部存储器设备,由一个或多个覆盖有磁性材料的铝制或玻璃制的碟片组成,用来存储用户的信息,这种信息可以反复地被读取和改写;绝大多数磁盘被永久封存在一个密封的盒子里。
1.2 磁盘运行机理
简单来说就是多个盘片之间靠主轴连接,电机带动主轴做旋转运动,通过多个磁头臂的摇摆和磁盘的旋转,磁头就可以在磁盘旋转的过程中就读取到磁盘中存储的各种数据。
1.3 磁盘的扇区、磁道、柱面
磁道: 磁盘的每个盘面被划分为许多同心圆,这些同心圆的轨道叫做磁道。
扇区: 一个盘面划分为若干个内角相同的扇形,这样盘面上的每个磁道就被分为若干段圆弧,每段圆弧叫做一个扇区。每个扇区中的数据作为一个单元同时被读入或写入。每一个扇区是512字节,其中有64个字节存储的是分区表,一条分区信息占16个字节。
柱面: 每一个盘片同一大小的同心圆可以看成连在一起的柱面,磁盘在分区的时候最小单位是柱面,每一个盘片的上下面都可以读取数据,每一个磁头,不可以跨盘面读取数据。
1.4、磁盘类型介绍
IDE接口类型:主要用于个人家用计算机领域,优点价格便宜,缺点数据传输速度慢
SCSI接口类型:早期主要用于服务器理领域,数据传输速度快
SAS接口类型:目前在服务器领域比较流行
SATA接口类型:串口磁盘,主要用于个人家用计算机领域,偶尔也应用在服务器领域
SSD接口类型:固态硬盘接口,价格昂贵,数据传输速度快,利用内存的机制读写数据,主要应用 在个人电脑
NVMe接口类型:固态硬盘接口,价格昂贵,数据传输速度快,利用内存的机制读写数据
2、Linux常用分区格式
MBR分区格式:比较古老的分区格式,最初只能划分4个主分区,后来新增加扩展分区(容器)功 能,可在扩展分区内划分更多逻辑分区,最大支持2.2T磁盘容量
IDE接口硬盘逻辑分区最多可以划分59个
SCSI接口硬盘逻辑分区最多可以划分11个
最大支持2.2T以内磁盘容量
GPT分区格式:可划分128个主分区,最大支持18EB磁盘容量(1EB=1024PB,1PB=1024TB, 1TB=1024GB)
3、文件系统类型详解
文件管理系统,赋予分区文件系统,分区才可以正常的使用,根文件系统,多少个多少个文件系统
CentOS5:分区默认使用文件系统类型ext3
CentOS6:分区默认使用文件系统类型ext4
ext4日志记录功能,意外宕机,通过日志记录把没有保存的数据,在系统再次重启时快速恢复回来
单个文件系统最大支持1EB的分区容量,单个文件最大可以存储16TB数据
CentOS7:分区默认使用文件系统类型xfs
xfs开启了日志记录的功能,意外宕机,通过日志记录把没有保存的数据,在系统再次重启时 快速恢复回来,数据恢复的速度比ext4文件系统快
单个文件系统最大支持8EB分区容量,单个文件最大可以存储500TB的数据
单个文件每秒读写数据的速度可以达到4G
swap文件系统:交换分区,硬盘空间去充当内存去使用
4、挂载
在Linux系统中用户无法直接使用硬件设备的,硬件设备在系统中都是以只读的方式存在的,必须挂载
挂载就是给我们用户提供一个可以使用设备的一个接口
挂载注意事项:
挂载点必须是一个目录,理论上还得是一个空目录
一个文件系统不允许重复挂载到多个目录下
一个目录不允许重复挂载多个文件系统
5、lsblk查看系统所有磁盘信息
lsblk(英文全拼:list block)用于列出当前系统所有磁盘与磁盘内的分区信息
通常用法:查看系统中硬盘的信息(多少块硬盘以及每个硬盘的分区数量)以及分区的具体信息
命令格式:lsblk [选项...] [设备名]
常用选项:
-d #仅显示磁盘本身,不会列出磁盘的分区数据
-f #列出磁盘分区使用的文件系统类型 lsblk命令示例
lsblk命令示例
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sr0 11:0 1 4.3G 0 rom /mnt/centos
#sda1: sd代表SCSI磁盘,a代表第一块磁盘,1代表第一个分区
#sdb: sd代表SCSI磁盘,b代表第二块磁盘,1代表第一个分区
#解释:
NAME #设备名称
MAJ:MIN #主设备号:次设备号,内核通过主次设备号识别磁盘
RM #是否为可卸载设备,1可卸载,0不可卸载
SIZE #设备的容量大小
RO #表示设备是否为只读,0非只读设备,1只读设备
TYPE #表示设备类型(disk为磁盘,part为分区,lvm逻辑卷,rom只读)
MOUNTPOINT #设备挂载点(SWAP没有挂载点)
#列出指定的磁盘信息
[root@localhost ~]# lsblk -d /dev/sda
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
#列出所有磁盘分区内使用的文件系统类型
[root@localhost ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 xfs 4cb9bb38-c34a-4415-9614-ba38642bb86d /boot
└─sda2 LVM2_member ckn0jP-z8Bq-SNv1-BsNa-7vTg-GBU2-oiHCro
├─centos-root xfs 55dad88d-a600-42d1-b387-236db62ce396 /
└─centos-swap swap 2e91599a-6d72-483d-add8-6dfb84296170 [SWAP]
sr0 iso9660 centos 7 x86_64 2018-11-25-23-54-16-00 /mnt/centos6、df查看分区使用情况
df命令用于查看文件系统使用情况
通常用法:用于查看具体分区使用情况(空间资源使用率)
命令格式:df [选项...] [参数...]
常用选项:
-h 以人类易读方式显示文件系统容量
T 显示文件系统类型
df 命令示例
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/centos-root 17811456 3746320 14065136 22% /
devtmpfs 480884 0 480884 0% /dev
tmpfs 497948 0 497948 0% /dev/shm
tmpfs 497948 8340 489608 2% /run
tmpfs 497948 0 497948 0% /sys/fs/cgroup
/dev/sr0 4480476 4480476 0 100% /mnt
/dev/sda1 1038336 169448 868888 17% /boot
tmpfs 99592 12 99580 1% /run/user/42
tmpfs 99592 0 99592 0% /run/user/0
[root@localhost ~]# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 17G 3.6G 14G 22% /7、du统计文件/目录大小
du命令用于统计磁盘下目录或文件大小
命令格式:du [选项...] [参数...]
常用选项:
-h #以人类易读方式(Kb,MB,GB)显示文件大小
-s #只统计每个参数的总数
du 命令示例
[root@localhost ~]# du -h /etc/services
[root@localhost ~]# du -hs /etc
38M /etc/dev/目录下文件详解
[root@localhost ~]# ls /dev
hd[a-t]:IDE设备
sd[a-z]:SCSI设备
fd[0-7]:软盘驱动设备
md[0-32]:软RAID设备
loop[0-7]:本地回环设设备
lp[0-3]:打印机设备
mem:内存设备
null:空设备,也称为黑洞,任何写入的数据都将被丢弃
zero:零资源设备,任何写入的数据都将被丢弃
full:满设备,任何写入的数据都将失败
tty[0-63]:虚拟终端设备
random:随机数设备
urandom:随机数设备
port:存取I/O端口8、blkid查看设备属性
blkid命令显示块设备属性信息(设备名称,设备UUID,文件系统类型)
命令格式:blkid [选项...] [参数...]
blkid命令示例
#显示系统所有块设备属性信息
[root@localhost ~]# blkid
/dev/sda1: UUID="4cb9bb38-c34a-4415-9614-ba38642bb86d" TYPE="xfs"
/dev/sda2: UUID="cKn0jP-z8Bq-SNvl-BsNa-7vTg-GBU2-OiHCro" TYPE="LVM2_member"
/dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660"
PTTYPE="dos"
/dev/mapper/centos-root: UUID="55dad88d-a600-42d1-b387-236db62ce396" TYPE="xfs"
/dev/mapper/centos-swap: UUID="2e91599a-6d72-483d-add8-6dfb84296170" TYPE="swap"
#查看执行分区属性信息
[root@localhost ~]# blkid /dev/sda1
/dev/sda1: UUID="4cb9bb38-c34a-4415-9614-ba38642bb86d" TYPE="xfs"
评论区