当前位置:网站首页>磁盘管理与文件系统
磁盘管理与文件系统
2022-07-27 05:23:00 【千城泪1999】
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
一、磁盘基础
1.磁盘结构

硬盘的物理结构
盘片:硬盘有多个盘片,每盘片2面。
磁头:每面一个磁头。
2.硬盘的数据结构
扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,硬盘的最小存储单位。
磁道:同一盘片不同半径的同心圆,是由磁头在盘片表面划出的圆形轨迹。
柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成。
硬盘存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数(512字节)
可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域
磁盘接口类型
IDE、SATA、SCSI、SAS、光纤通道
3.MBR和磁盘分区表示
MBR位于硬盘第一个物理扇区处
MBR中包含硬盘的主引导程序和硬盘分区表
分区表有4个分区记录区,每个分区记录区占16个字节
Linux中将硬盘、分区等设备均表示为文件
/dev/hda5
/dev/=硬件设备所在目录
hd=IDE设备
a=硬盘顺序号a;b;c等等以字母表示
5=分区的顺序号,以数字表示
4.磁盘分区结构
硬盘中的主分区数目只有4个
主分区和扩展分区的序号限制在1~4
扩展分区再分为逻辑分区
逻辑分区的序号将始终从5开始
5.文件系统类型
1.XFS文件系统
存放文件和目录数据的分区。
高性能的日志型文件系统,特别擅长于处理大文件,持上百万TB的存储空间。
CentOS 7系统中默认使用的文件系统。
2.swap,交换文件系统
为Linux系统建立交换分区
─般设置为物理内存的1.5~2倍
6.Linux支持的其它文件系统类型
EXT4 、FAT32、NTFS、LVM
二、检测并确认新磁盘
1. fdisk命令
fdisk -l [磁盘设备] 或
fdisk [磁盘设备]
-n 表示添加一个新的分区
-p 表示打印分区列表
-q 不保存退出
-t 表示更改分区的id(类型)
-l 展示所有分区类型(的id)
-w 保存并退出
2. 创建系统文件(格式化)
mkfs -t xfs / dev/ sdb1 和mkfs.xfs / dev / sdb1
3./etc/fstab 意思
在/etc/fstab
文件中,每一行记录对应一个分区或设备的挂载配置信息,这些信息从左到右包括六个字段(使用空格或制表符分隔),各部分的含义如下所述。
/dev/sdb1 / xfs defaults 0 0
第1字段:设备名或设备卷标名。
第2字段:文件系统的挂载点目录的位置。第3字段:文件系统类型,如 xfs、swap等。
第4字段:挂载参数,即mount命令"-o"选项后可使用的参数。例如,defaults、rw、ro、noexec 分别表示默认参数、可写、只读、禁用执行程序。
第5字段:表示文件系统是否需要dump 备份(dump是一个备份工具)。一般设为1时表示需要,设为o时将被dump忽略。
第6字段:该数字决定在系统启动时进行磁盘检查的顺序。0表示不进行检查,1表示优先检查,2表示其次检查。根分区应设为1,其他分区设为2。
通过在/etc/ fstab
文件中添加相应的挂载配置,可以实现开机后自动挂载指定的分区。
4.扩充df命令
df命令用来检查文件系统的磁盘空间占用情况,使用权限是所有用户。df格式[ options]
一T:显示文件系统类型。
一h:以容易理解的格式印出文件系统大小,例如136KB、24MB、21GB。
常用组合df -hT
5.挂载命令和解挂载
挂载文件系统
mount +要挂载的文件+要挂载到的目录
解挂载文件系统
unmount+设备存储位置
或
unmount+挂载点位置
加lf可强制执行。
6.free命令
[[email protected] /]# free
total used free shared buff/cache available
Mem: 3762948 448316 2901128 14736 413504 3075792
Swap: 8191996 0 8191996
Mem:内存
swap:交换分区
total:总量
usee:已使用
free:未使用
free -h 显示单位
free -m 以M为单位显示
缓存区是内存和cpu之间的存储区,用来存储cpu多次从内存读取到的数据,多次读取同一变量,就会将该变量放到缓存区中,当再次调用时直接从缓存区取,不从内存中取,当内存中该变量改变时,这种情况会导致内存不可见问题;这样做的目地是比访问内存更快。
缓冲区是内存中的存储区。
缓冲区分为内核缓冲区和用户缓冲区;功能不同。
内核缓冲区是网络传输,文件io,控制台输入输入等操作的“中转站”,为不可见内存,即用户不能直接使用。
三、实验

不重启的情况下识别磁盘:
echo "- - - "> /sys/class/scsi_host/host0/scan
echo "- - - "> /sys/class/scsi_host/host1/scan
echo "- - - "> /sys/class/scsi_host/host2/scan
重启命令: reboot / init 6
[[email protected] ~]# fdisk -l
磁盘 /dev/sda:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000a3ffd
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 821247 409600 83 Linux
/dev/sda2 821248 109445119 54311936 83 Linux
/dev/sda3 109445120 125829119 8192000 82 Linux swap / Solaris
磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
2.规划硬盘中的分区
硬盘中创建删除更改分区使用fdisk命令,可以进入交互式设置页面
以对硬盘/dev/sdb分区为例
[[email protected] ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x065664db 创建新的 DOS 磁盘标签。
3.p指令-列出硬盘中的分区情况,查看分区表
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x065664db
设备 Boot Start End Blocks Id System
4.n指令-新建分区,建立两个主分区,分别为5g和4g。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{
K,M,G} (2048-41943039,默认为 41943039):+^[[GG
G”。持的后缀:“
支持:10^N: KB (千字节), MB (兆字节), GB (吉字节)
2^N: K (约千字节), M (约兆字节), G (约吉字节)
Last 扇区, +扇区 or +size{
K,M,G} (2048-41943039,默认为 41943039):+5GB
分区 1 已设置为 Linux 类型,大小设为 4.7 GiB
命令(输入 m 获取帮助):N
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
分区号 (2-4,默认 2):
起始 扇区 (9766912-41943039,默认为 9766912):
将使用默认值 9766912
Last 扇区, +扇区 or +size{
K,M,G} (9766912-41943039,默认为 41943039):+4GB
分区 2 已设置为 Linux 类型,大小设为 3.7 GiB
5.n指令-将剩余的空间全部分给3 逻辑分区。
命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): e
分区号 (3,4,默认 3):
起始 扇区 (17580032-41943039,默认为 17580032):
将使用默认值 17580032
Last 扇区, +扇区 or +size{
K,M,G} (17580032-41943039,默认为 41943039):
将使用默认值 41943039
分区 3 已设置为 Extended 类型,大小设为 11.6 GiB
6.保存
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
7.按p查看
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x065664db
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 9766911 4882432 83 Linux
/dev/sdb2 9766912 17580031 3906560 83 Linux
/dev/sdb3 17580032 41943039 12181504 5 Extended
9.创建系统文件(格式化)
[[email protected] ~]# mkfs.xfs /dev/sdb
mkfs.xfs: /dev/sdb appears to contain a partition table (dos).
mkfs.xfs: Use the -f option to force overwrite.
[[email protected] ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=305152 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=1220608, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[[email protected] ~]# mkfs.xfs /dev/sdb2
meta-data=/dev/sdb2 isize=512 agcount=4, agsize=244160 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=976640, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[[email protected] ~]# mkfs.xfs /dev/sdb3
mkfs.xfs: /dev/sdb3 appears to contain a partition table (dos).
mkfs.xfs: Use the -f option to force overwrite.
10.在/目录下创建目录ky21
[[email protected] ~]# mkdir /ky21
11.永久挂载并查看
[[email protected] /]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Jun 21 00:03:15 2022
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
# UUID=f4fa0787-b442-43b8-b146-a8eb38d322be / xfs defaults 0 0
UUID=3f9e0dcc-ec8c-4b14-ad33-a34eedc3dcf8 /boot xfs defaults 0 0
UUID=15a82917-6245-4027-8105-d89b1761f63b swap swap defaults 0 0
/dev/sdb1 /ky21 xfs defaults 0 0
~
:wq 保存并退出
[[email protected] /]# mount -a 即时生效挂载
[[email protected] /]# df -hT 查看
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs tmpfs 1.8G 0 1.8G 0% /dev/shm
tmpfs tmpfs 1.8G 13M 1.8G 1% /run
tmpfs tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup
/dev/sda2 xfs 52G 4.9G 47G 10% /
/dev/sda1 xfs 397M 213M 185M 54% /boot
tmpfs tmpfs 368M 0 368M 0% /run/user/0
tmpfs tmpfs 368M 16K 368M 1% /run/user/42
/dev/sdb1 xfs 4.7G 33M 4.7G 1% /ky21
[[email protected] /]# cat /etc/fstab 或用这个查看
#
# /etc/fstab
# Created by anaconda on Tue Jun 21 00:03:15 2022
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
# UUID=f4fa0787-b442-43b8-b146-a8eb38d322be / xfs defaults 0 0
UUID=3f9e0dcc-ec8c-4b14-ad33-a34eedc3dcf8 /boot xfs defaults 0 0
UUID=15a82917-6245-4027-8105-d89b1761f63b swap swap defaults 0 0
/dev/sdb1 /ky21 xfs defaults 0 0
边栏推荐
猜你喜欢

TF coordinate transformation

Communication mechanism cases

Sexy prime number (acwing daily question)

Shell programming specifications and variables

哈希表简介

Wireshark packet modification -- adding or modifying message fields (2)

Cesium tutorial (1) interface introduction -3dfiles loading - change mouse operation settings

gradle的安装配置及使用

PLL of IP core

LAMP--源码编译安装
随机推荐
Markdown文档常用字体及颜色设置
C language - file operation
Header and source files in ROS
数据库的约束以及设计
网络故障排查:Ping和Tracert命令
Joint query of database
Introduction to JMeter
shell的编程规范and重定向与管道操作
关于testng相关标签的使用
Database commands
Multi coordinate transformation
shell--条件语句(if语句、case语句)
Related knowledge of multithreading
Common SQL optimization methods
Comparison of communication mechanisms
Path to file
Source code compilation and installation LNMP and discuz Forum
Programming learning records - Lesson 6 [functions]
DNS域名解析服务
英语基础知识: 并列结构