磁盘管理



磁盘管理

怎么在linux中添加并使用硬盘

1.分区

2.格式化(安装文件系统)

3.挂载


1.磁盘

1.1 磁盘基本概念

扇区

硬盘的最小存储单位,两个磁道之间的区域是扇区,固定大小512B,

8个扇区组成一块,4K;读数据是一块一块读取,所以硬盘是块设备


磁道

同心圆


硬盘存储容量

=磁头数(8个二进制)x磁道数(柱面数 )x扇区数(6个二进制)x512B


1.2 硬盘接口类型

IDE 133MB/s,并行接口

SATA 640MB/s,并行接口

SCSI 6Gbps

SAS 6Gbps

M.2 笔记本固态硬盘接口

光纤接口


SSD 固态硬盘

HDD 机械硬盘


1.3 磁盘第一个扇区的内容

1.MBR  占446B
主引导记录(作用:引导硬件找到操作系统)

2.分区表  占64B
作用:规定了分区的大小及范围
一个分区占16B,只能分4个主分区

3.结束位  占2B
55 aa

1.4 /dev/sda5 含义

/dev/hda5
/dev/sda5
/dev/vda5

/dev/   存放所有硬件设备的目录
hd      接口类型,hd-IDE
sd      接口类型,sd-scsi
vd      接口类型,vd-虚拟机
a       代表第一块硬盘
5       表示第五个分区

1.5 分区步骤

① 添加硬盘

② 分区

③ 格式化,安装文件系统

④ 挂载



2. 添加硬盘

给虚拟机添加硬盘后,lsblk查看硬盘,如果没有新添加的硬盘时,使用以下命令刷新硬盘接口

# 命令刷新(建议),本质上刷新主板上连接到硬盘的三个接口
alias scan='echo "- - -" > /sys/class/scsi_host/host0/scan ; echo "- - -" > /sys/class/scsi_host/host1/scan ; echo "- - -" > /sys/class/scsi_host/host2/scan'alias写入"~/.bashrc"或者"/etc/profile",最好是写到"~/.bashrc"source ~/.bashrc立即生效


# 重启刷新(不建议),生产环境中不可能重启系统
reboot


3. 分区

3.1 为什么要分区?

优化I/O读写性能

② 实现磁盘空间配额限制

③ 提高修复速度

④ 隔离系统和程序

⑤ 安装多个操作系统OS

⑥ 采用不同的文件系统


3.2 分区基本概念

主分区

可以直接使用,安装操作系统、存储文件、安装软件等

主分区的编号范围是1-4


问题:现在我想分5个分区,怎么办?

使用扩展分区技术

扩展分区不能直接使用,它的存储空间只有1K,存放逻辑分区表,包含逻辑分区的信息

扩展分区属于特殊的主分区


逻辑分区

可以直接使用,可以存储文件,分区编号从5开始,逻辑分区的范围不可能超过扩展分区的范围


3.3 linux系统分区技术手段

MBR 支持2TB以下的硬盘分区 fdisk

GPT 支持2T以上的硬盘分区 gdisk

parted 即时生效,只要按下回车键,就会生效


3.4 fdisk

3.4.1 作用

查看或管理磁盘分区


3.4.2 选项

-l  

3.4.3 查看硬盘的分区情况(不建议用fdisk查看硬盘信息)

 # 查看所有硬盘的详细信息
fdisk -l  


# 查看指定硬盘的详细信息
[root@localhost ~]# fdisk -l /dev/sdc

磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xb8b6d37c

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048    10487807     5242880   83  Linux
/dev/sdc4        10487808    20973567     5242880    5  Extended
/dev/sdc5        10489856    20727807     5118976   83  Linux
[root@localhost ~]# 


3.4.4 查看硬盘信息(推荐)

# lsblk  查看系统硬件设备的分区情况
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   60G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   59G  0 part 
  ├─centos-root 253:0    0 38.3G  0 lvm  /
  ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
  └─centos-home 253:2    0 18.7G  0 lvm  /home
sdb               8:16   0   20G  0 disk 
sdc               8:32   0   20G  0 disk 
├─sdc1            8:33   0    5G  0 part /mnt/sdc1
├─sdc4            8:36   0    1K  0 part 
└─sdc5            8:37   0  4.9G  0 part /mnt/sdc5
sr0              11:0    1  4.2G  0 rom  
[root@localhost ~]# 


# blkid  查看磁盘格式化后的uuid号
[root@localhost ~]# blkid
/dev/mapper/centos-root: UUID="5607813c-56a3-497d-9529-723911d0b4eb" TYPE="xfs" 
/dev/sda2: UUID="MBMRvJ-oGHv-XLan-or2D-Jwdm-8kQ1-xUshCL" TYPE="LVM2_member" 
/dev/sda1: UUID="54c1f48d-9761-4c6e-ae44-b40c7da6a8ca" TYPE="xfs" 
/dev/mapper/centos-swap: UUID="e502c993-fffb-4544-a874-71839cd7a3f6" TYPE="swap" 
/dev/sr0: UUID="2017-09-06-10-51-00-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/sdb: PTTYPE="dos" 
/dev/sdc1: UUID="05472d31-a12f-47bc-a9a2-a2984300916d" TYPE="xfs" 
/dev/sdc5: UUID="98f00546-dcf5-4bde-8c04-2c9116169830" TYPE="xfs" 
/dev/mapper/centos-home: UUID="42cac8cf-585a-4726-9ea0-501cbda8a9c6" TYPE="xfs" 


3.4.5 硬盘分区界面

fdisk /dev/sdb   # 会进入交互界面,对磁盘进行分区

交互模式中常用的命令
m           # 帮助
n           # 新建分区
p           # 打印分区列表
d           # 删除分区
t           # 改变分区类型
w           # 保存退出
q           # 直接退出
ctrl+退格键  # 退格

3.5 使用fdisk分区步骤

3.5.1 创建主分区步骤

第一步:新建主分区

image-20231031191114003


第二步:查看主分区分区情况


第三步:保存并退出分区界面,只要不保存,分区不生效


新建swap分区

三步

改一下分区类型 82 swap分区

mkswap 设备名

swapon 设备名

swapon -a 停止所有swap分区



3. 文件系统

3.1 基本概念

系统 是一个复杂的程序,调度硬件

文件系统 也是一种程序,管理文件


文件系统是将文件的内容翻译成自然语言

没有文件系统,连开机都开不了


centos 6 默认 ext4

centos 7 默认 xfs


fat32 单个文件不能超过4G

NTFS 单个文件不能超过64G


3.2 硬件设备在/dev目录下

[root@localhost ~]# ll /dev/sd*
brw-rw---- 1 root disk 8,  0 10月 31 18:07 /dev/sda
brw-rw---- 1 root disk 8,  1 10月 31 18:07 /dev/sda1
brw-rw---- 1 root disk 8,  2 10月 31 18:07 /dev/sda2
brw-rw---- 1 root disk 8, 16 10月 31 18:07 /dev/sdb
brw-rw---- 1 root disk 8, 32 10月 31 18:07 /dev/sdc
brw-rw---- 1 root disk 8, 33 10月 31 18:07 /dev/sdc1
brw-rw---- 1 root disk 8, 36 10月 31 18:07 /dev/sdc4
brw-rw---- 1 root disk 8, 37 10月 31 18:07 /dev/sdc5
[root@localhost ~]# 

 8   表示设备类型
 
 8后面的数字代表第几类的第几块设备
 0   第一块硬盘
 1   第一块硬盘的第一个分区,第1块设备
 37  第37块硬件设备

3.3 查看已安装xfs文件系统的硬件设备信息

[root@localhost ~]# xfs_info /dev/sda1
meta-data=/dev/sda1              isize=512    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]# 


3.4 查看已安装ext文件系统的硬件设备信息

dumpe2fs /dev/sda1

3.5 查看当前系统支持的文件类型

[root@localhost ~]# cat /proc/filesystems
nodev	sysfs
nodev	rootfs
nodev	ramfs
nodev	bdev
nodev	proc
nodev	cgroup
nodev	cpuset
nodev	tmpfs
nodev	devtmpfs
nodev	debugfs
nodev	securityfs
nodev	sockfs
nodev	pipefs
nodev	anon_inodefs
nodev	configfs
nodev	devpts
nodev	hugetlbfs
nodev	autofs
nodev	pstore
nodev	mqueue
	xfs
nodev	rpc_pipefs
nodev	nfsd
[root@localhost ~]# 


3.6 支持的文件系统

[root@localhost ~]# ls /lib/modules/`uname -r`/kernel/fs
binfmt_misc.ko.xz  cifs    ext4     gfs2   mbcache.ko.xz  nls        udf
btrfs              cramfs  fat      isofs  nfs            overlayfs  xfs
cachefiles         dlm     fscache  jbd2   nfs_common     pstore
ceph               exofs   fuse     lockd  nfsd           squashfs
[root@localhost ~]# 


3.7 文件系统类型

xfs文件系统
	存放文件和目录数据的分区
	高性能的日志型文件系统
	CentOS 7系统中默认使用的文件系统

swap 交换文件系统
	为Linux系统建立交换分区
	
linux支持的其他文件系统类型
	NTFS
	fat32
	fat16
	ext4
	jfs

3.8 创建文件系统



4. 挂载与解挂载 mount与umount

4.1 作用

将外部硬件和内部的文件绑定与解绑


4.2 挂载规则

一个挂载点同一时间只能挂载一个设备

一个挂载点同一时间挂载了多个设备,只能看到最后一个设备的数据

一个设备可以同时挂载到多个挂载点

通常挂载点一般是已存在的空目录


4.3 用法

mount 挂载

# 挂载
mount /dev/sdc1 /mnt/sdc1

umount 解挂载

# 解挂载
umount /dev/sdc1 /mnt/sdc1

mount -o ro

mount -o ro /dev/sdb1  /mnt    
# 设置挂载的文件系统的权限,默认是rw,还有ro只读
# ro  read only
 

重新挂载

# 第一种方式:先解挂载,再挂载(不推荐)
umount /dev/sda /mnt
mount /dev/sda /mnt


# 重新挂载已挂载的文件系统(推荐),这不会耽误用户使用该挂载点
mount -o remount,ro /mnt  

查看已挂载的信息

mount  

在没有光驱的情况下,直接将光驱文件进行挂载

mount -o loop ISO镜像文件  挂载点

查看/mnt文件目录是否为挂载点

findmouont /mnt

查看哪个终端在使用挂载点

fuser -v /mnt

[root@localhost ~]# fuser -v /mnt/sdc1
                     用户     进程号 权限   命令
/mnt/sdc1:           root     kernel mount /mnt/sdc1
                     root      13823 ..c.. bash
[root@localhost ~]# 


强制踢掉正在使用挂载点的终端

fuser -km /mnt  强制踢出

[root@localhost ~]# fuser -km /mnt/sdc1
/mnt/sdc1:           13823c
[root@localhost ~]# 

4.4 永久挂载(自动挂载)

写配置文件,文件位置 /etc/fstab


如果这个文件写错,会导致开不了机,所以,写完配置文件后,一定要用mount -a 查看是否挂载上

如果报错,一定不能重启;如果重启,在等待加载的界面按“ctrl+d”


永久挂载(自动挂载步骤)

[root@localhost ~]# vim /etc/fstab

/dev/mapper/centos-swap swap         swap    defaults        0 0
UUID=05472d31-a12f-47bc-a9a2-a2984300916d /mnt/sdc1 xfs defaults 0 0

设备路径/设备编号(uuid)  挂载点  文件系统格式  权限  0(不备份)  0(开机不检查)


4.5 问题

为什么解不了挂载?
① 有人在用
② 磁盘坏了


建议使用UUID挂载,不建议使用/dev/sdb1挂载,为什么不建议使用/dev/sdb1这种方式写设备名?

当其中一个分区被删除时,后面的分区会顶上来,那么分区名也会变

比如:分了sdb5、sdb6、sdb7三个分区,当删除了sdb6后,sdb7会顶上来,变成新的sdb6



5. 磁盘实验作业

5.1 分别采用临时挂载和永久挂载方式,创建主分区


第一步:进入分区界面

image-20231031213645297


第二步:创建大小 为5G的主分区1,并显示分区情况

image-20231031214028786


image-20231031214515205


image-20231031214328271


第三步:格式化,创建文件系统

image-20231031214706266


第4.1步:临时挂载(临时挂载,重启挂载失效)

image-20231031215405822


第4.2步:永久挂载(永久挂载,临时挂载二选一,永久挂载,永久有效)

vim /detc/fstab

image-20231031215745384


image-20231031220315665


5.2 分别采用临时挂载和永久挂载方式,创建扩展分区、逻辑分区

第一步:① 进入分区界面

​ ② 创建扩展分区

​ ③ 创建逻辑分区

​ ④ 显示分区情况,w保存并退出

image-20231031220911053


image-20231031221118453


image-20231031221424078


image-20231031221515268


第二步:给逻辑分区创建文件系统

image-20231031221658711


第3.1步:临时挂载

image-20231031221830997


第3.2步:永久挂载

vim /etc/fstab

image-20231031222048389


image-20231031222401623


image-20231031222538236




系统 系统应用程序正常运行

cpu 负载

内存 剩余情况

磁盘 大小 df 读写性能 iotat

网络 是否通顺

lscpu  查看cpu信息
top    任务管理器
free   查看内存使用情况

面试题
服务器开机很顺畅,运行三天后卡顿严重,怎么解决?
清缓存,缓存太多了导致卡顿

ss -antp | grep 80
80  http  apache  nginx  tomcat

/boot 只能使用主分区,不能使用逻辑分区

posted @   一个低调的wy  阅读(87)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示