目录
2.1 MBR(Master Boot Record,主引导记录)
1、磁盘结构
1.1 、磁盘基础
硬盘(Hard Disk Driver,简称HDD)是计算机常用的存储设备之一。
2.1、 硬盘的结构
1、数据结构:
扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,硬盘的最小存储单位
磁道:同一盘片不同半径的同心圆, 是由磁头在盘片表面划出的圆形轨迹,方便数据存储
柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成
2、物理结构
盘片 :硬盘有多个盘片,每个盘片有2面
磁头:每面一个磁头
3、存储容量:
硬盘存储容量=磁头数x磁道(柱面)数×每道扇区数×每扇区字节数(512字节)
可以用柱面/磁头扇区来唯一定位磁盘上每一个区域
4、查看分区信息
[root@ZEK ~]# fdisk -l
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sda:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009f8b9
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 209715199 104344576 8e Linux LVM
磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sde:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sdf:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
3.1、硬盘的接口
硬盘按数据接口不同,大致分为ATA(IDE)和SATA以及SCSI,接口速度不是实际硬盘传输速度。
类型 | 说明 |
---|---|
IDE | 并口数据线连接主板与硬盘,抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被SATA所取代 |
SATA | 抗干扰性强,支持热插拔等功能,速度快,纠错能力强 |
SCSI | 小型机系统接口,SCSI硬盘广为工作站级个人电脑以及服务器所使用,资料传输时CPU占用率较低,转速快,支持热插拔等 |
SAS | 是新一代的SCSI技术,和SATA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到6Gb/s |
光纤通道 | 为提高多硬盘存储系统的速度和灵活性才开发的,它的出现大大提高了多硬盘系统的通信速度。特性:热插拔性、高速带宽、远程连接、连接设备数量大 |
2、磁盘分区的表示
2.1 MBR(Master Boot Record,主引导记录)
-
MBR位于硬盘第一个物理扇区处 , MBR中包含硬盘的主引导程序和硬盘分区表
-
MBR总共512字节,前446字节是主引导记录,分区表保存在MBR扇区中的第447-512字节中。
-
分区表有4个分区记录区,每个分区记录区占16字节。
2.2磁盘分区的表示
Linux内核读取光驱、硬盘等资源时,都是通过“设备文件”的形式进行,因此,将硬盘和分区分别表示为不同的文件。
表示:/dev/hda5
-
/dev/:硬件设备文件所在的目录
-
hd:表示IDE设备(sd表示scsi设备)
-
a:硬盘的顺序号,表示的第几块硬盘,以a、b、c…表示
-
5:分区的顺序号,表示第一块硬盘接口的第五个分区
2.3 磁盘分区结构
-
硬盘中的主分区数目只有4个
-
主分区和扩展分区的序号限制在1 ~4
-
扩展分区再分为逻辑分区
-
逻辑分区的序号将始终从5开始
2.4查看磁盘使用情况
[root@ZEK ~]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=1913700k,nr_inodes=478425,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,freezer)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpuacct,cpu)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpuset)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,memory)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,hugetlb)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,pids)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,net_prio,net_cls)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,perf_event)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,blkio)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/mapper/centos-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=31,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=25533)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
tmpfs on /run/user/42 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=386152k,mode=700,uid=42,gid=42)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=386152k,mode=700)
gvfsd-fuse on /run/user/0/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
/dev/sr0 on /run/media/root/CentOS 7 x86_64 type iso9660 (ro,nosuid,nodev,relatime,uid=0,gid=0,iocharset=utf8,mode=0400,dmode=0500,uhelper=udisks2)
2.5Linux中使用的文件系统类型
文件系统类型决定了向分区中存放、读取数据的方式和效率。
-
XFS文件系统
-
存放文件和目录数据的分区
-
高性能的日志型文件系统,特别擅长于处理大文件,可支持上百万TB的存储空间
-
CenOS 7系统中默认使用的文件系统
-
Swap交换文件系统 (相当于Windows系统下的虚拟内存)
-
为Linux系统建立交换分区
-
一般设置为物理内存的1.5~2倍
-
EXT4(第四代扩展文件系统)
-
用于存放目录和数据的分区
-
典型的日志型文件系统
-
EXT4(CentOS 6系统的默认文件系统)FAT32、NTFS、LVM逻辑卷
-
Linux支持其他系统文件类型
-
FAT32(最大支持4G)、NTFS
-
XFS、JFS。。。
二、管理磁盘及分区
1、磁盘管理
1.1检查并确认新硬盘
基本格式:
查看磁盘分区: fdisk -l [磁盘设备]
[root@cheng0307 ~]# fdisk -l /dev/sda
管理磁盘分区: fdisk [磁盘设备]
[root@cheng0307 ~]# fdisk /dev/sda
不重启的情况下识别磁盘:
echo "- - - "> /sys/class/scsi_host/host0/scan
echo "- - - "> /sys/class/scsi_host/host1/scan
echo "- - - "> /sys/class/scsi_host/host2/scan
如果系统还是无法识别硬盘,可以重启系统
[root@ZEK ~]# fdisk -l
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sda:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009f8b9
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 209715199 104344576 8e Linux LVM
磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
Device:分区的设备文件名称;
Boot:是否是引导分区,是的话则有“ * ”号标识;
Start:该分区在硬盘中的起始位置(柱面数);
End:该分区在硬盘中的结束位置(柱面数);
Blocks:分区的大小,以Blocks(块)为单位,默认的块大小为1024字节。
Id:分区对应的系统ID号,83表示Linux中的默认分区(XFS或EXT4),8e表示LVM逻辑卷; System:分区类型
1.2规划硬盘中的分区
-
交互操作指令指令
选项 | 作用 |
---|---|
m | 获取帮助菜单 |
p | 查看分区情况 |
n | 新建分区 |
d | 删除分区 |
t | 变更分区的类型 |
w | 保存分区操作并退出 |
q | 不保存分区操作并退出 |
三、创建文件系统
1 、创建文件系统(格式化分区)——mkfs
格式:mkfs 【 -t】【 文件系统类型】【分区设备】
2 、创建交换文件系统——mkswap
swapon /dev/sdb2 //启用新增加的交换分区
swapoff /dev/sdb2 //停用指定的交换分区
swapon -s //查看每个分区的swap状态
free -m //查看总的swap状态信息
四、挂载、卸载文件系统
1、 挂载文件系统,ISO镜像到指定文件——mount
mount -t 存储设备 挂载点目录
mount -o loop 【ISO镜像文件】【 挂载点目录】
2、卸载已挂载的文件系统
umount 存储设备位置
umount 挂载点目录
3、设置文件系统的自动挂载——/etc/fstab配置文件
系统中的/etc/fstab 文件可以视为mount命令的配置文件,其中存储了文件系统的静态挂载数据。Linux在每次开机时,会自动读取这个文件的内容,自动挂载所指定的文件系统,默认的fstab文件中包括了根分区、/boot分区、交换分区及proc、tmpfs等伪文件系统的挂载配置。
格式
[root@ZEK ~]# vi /etc/fstab
......
/dev/sdb1 /ABC xfs defaults 0 0
分区 挂载点 文件系统类型
在/etc/fstab 文件中,每一行记录对应一个分区或设备的挂载配置信息,从左到右包括六个自动(使用空格或者制表符分隔),各部分含义如下所述:
第一字段:设备名称或者设备卷标名;
第二字段:文件系统的挂载点目录的位置;
第三字段:文件系统类型,如EXT4、swap等;
第四字段:挂载参数,即mount命令“ - o ”选项
后可使用的参数(defaults、rw、ro、noexec分别表示默认参数、可写、可读、禁用执行程序);
第五字段:表示文件系统是否需要dump备份,设置为1表示需要,0为忽略;
第六字段:该数字用于决定在系统启动时进行磁盘检查的顺序,0表示不进行检查,1表示优先检查,2表示其次检查。根分区可设为1,其他分区设置为2,一般不检查,会影响系统性能。
4、查看磁盘挂载情况
格式
df 【选项】 【文件】
-s: 对每个Names参数只给出占用的数据块总数。
-a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。
-k:以1024字节为单位列出磁盘空间使用情况。
-x:跳过在不同文件系统上的目录不予统计。
-l:计算所有的文件大小,对硬链接文件则计算多次。一i:显示inode信息而非块使用量。
-h:以容易理解的格式印出文件系统大小,例如136KB、24MB、21GB。一P:使用POSIx输出格式。
-T:显示文件系统类型。
五、总结
以上就是我对Linux的磁盘管理与文件系统的理解,希望对大家有所帮助。