文章目录
前言
在生产环境下,如果某一分区快要用满时,我们就要对其进行扩容或重新规划分区
一、磁盘基础
1.1 磁盘结构
硬盘的物理结构:
盘片:硬盘有多个盘片,每盘片2面
磁头:每面一个磁头
硬盘的数据结构:
扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,硬盘的最小存储单位
磁道:同一盘片不同半径的同心圆
柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成
磁盘存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数
可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域
磁盘接口类型:
IDE、SATA、SCSI、SAS、光纤通道
1.2 MBR与磁盘分区表示
主引导记录(MBR:Master Boot Record)
MBR位于硬盘第一个物理扇区处
MBR中包含硬盘的主引导程序和硬盘分区表
分区表有四个分区记录区,每个分区记录区占16个字节
Linux中将硬盘、分区等设备均表示为文件
例:
/dev/hda5
#dev:硬件设备所在的目录
#hd:表示IDE设备;若sd,则表示SCSI设备
#a:表示硬盘的数据号,以字母a、b、c....表示
#5:分区的顺序号,以数字1、2、3....表示
1.3 磁盘分区结构
硬盘中的主分区数目只有四个
主分区和扩展分区的序号限制在1~4
扩展分区再分为逻辑分区
逻辑分区的序号将始终从5开始
1.4 文件系统类型
1.4.1 XFS文件系统
是一种高性能的日志文件系统,特别擅长于处理大文件,可支持上百万T字节的存储空间。由于XFS文件系统开启日志功能,所以即便发生宕机也不怕数据遭到破坏,这种文件系统可以根据日志记录在短时间内进行数据恢复
1.4.2 SWAP,交换文件系统
系统建立交换分区。交换分区的作用相当于虚拟内存,能够在一定程度上缓解物理内存不足的问题。一般建议将交换分区的大小设置为物理内存的 1.5~2倍。例如,对于拥有512MB物理内存的主机,其交换分区的大小建议设置为1024MB。如果服务器的物理内存足够大(如8GB以上),也可以不设置交换分区。交换分区不用于直接存储用户的文件和目录等数据。
1.4.3 Linux支持的其他文件系统类型
FAT16、FAT32、NTFS
EXT4、JFS……
二、检测并确认新硬盘
2.1 fdisk命令
查看或管理磁盘分区
fdisk -l [磁盘设备]
或
fdisk [磁盘设备]
例:
[root@localhost ~]# fdisk -l /dev/sda
磁盘 /dev/sda:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009b938
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 9414655 4194304 82 Linux swap / Solaris
/dev/sda3 9414656 125829119 58207232 83 Linux
#Device:分区的设备文件名称。
#Boot:是否是引导分区。若是,则有“*”标识。
#Start:该分区在硬盘中的起始位置(柱面数)。
#End:该分区在硬盘中的结束位置(柱面数)。
#Blocks:分区的大小,以 Blocks(块)为单位,默认的块大小为 1024 字节。
#Id:分区对应的系统 ID 号。83 表示 Linux 中的 XFS 分区或 EXT4 #分区、8e 表示 LVM 逻辑卷。LVM 是 Linux 操作系统中对磁盘分区进#行管理的一种逻辑机制
#System:分区类型。识别到新的硬盘设备后,就可以在该硬盘中建立新的分区了。在 Linux 操作系统中,分区和格式化的过程是相对独立的,关于格式化分区的操作将在后续内容中讲解。
交互模式中的指令
Command (m for help): m #输入m指令
a toggle a bootable flag #设置可引导标记
b edit bsd disklabel #修改bsd的磁盘标签
c toggle the dos compatibility flag #设置DOS操作系统兼容标记
d delete a partition #删除一个分区
l list known partition types #显示已知的分区类型,其中82为 Linux swap分区,83为Linux分区
m print this menu #显示帮助菜单
n add a new partition #增加一个新的分区
o create a new empty DOS partition table #创建一个新的空白的DOS分区表
p print the partition table #显示磁盘当前的分区表
q quit without saving changes #退出fdisk程序,不保存任何修改
s create a new empty Sun disklabel #创建一个新的空白的Sun磁盘标签
t change a partition's system id #改变一个分区的系统号码
u change display/entry units #改变显示记录单位
v verify the partition table #对磁盘分区表进行验证
w write table to disk and exit #保存修改结果并退出fdisk程序
x extra functionality (experts only) #特殊功能,不建议初学者使用
2.1.1 不需要重启加载磁盘的方式
echo "- - -" > /sys/class_host/hpst0/scan
三、创建文件系统
3.1 mkfs命令
Make Filesystem,创建文件系统(格式化)
mkfs -t 文件系统类型 分区设备
或
mkfs.xfs 分区设备
例:
[root@localhost ~]# ls /sbin/mkfs*
/sbin/mkfs /sbin/mkfs.ext2 /sbin/mkfs.fat /sbin/mkfs.vfat
/sbin/mkfs.btrfs /sbin/mkfs.ext3 /sbin/mkfs.minix /sbin/mkfs.xfs
/sbin/mkfs.cramfs /sbin/mkfs.ext4 /sbin/mkfs.msdos
[root@localhost ~]# mkfs -t xfs /dev/sdb1
或
[root@localhost ~]# mkfs.xfs /dev/sdb1
[root@localhost ~]lsblk
#以树形方式查看
3.1.1 lsblk命令
选项:
-a 显示所有设备
-b 以bytes方式显示设备大小
-d 不显示 slaves 或 holders
-D print discard capabilities
-e 排除设备
-f 显示文件系统信息
-h 显示帮助信息
-i use ascii characters only
-m 显示权限信息
-l 使用列表格式显示
-n 不显示标题
-o 输出列
-P 使用key=”value”格式显示
-r 使用原始格式显示
-t 显示拓扑结构信息
3.2 mkswap命令
make swap,创建交换文件系统(格式化swap)
mkswap 分区设备
例:
mkswap /dev/sdb5
#格式化swap
cat /proc/meminfo | grep SwapTotal
#查看状态
swpon /dev/sdb5
#开启swap
三、 挂载、卸载文件系统
3.1 设置文件系统的挂载
3.1.1 mount命令
挂载文件系统、ISO镜像到指定文件夹
mount [ -t 类型 ] 存储设备 挂载点目录
mount -o loop ISO镜像文件 挂载点目录
#-o options 主要用来描述设备或档案的挂接方式
#loop:用来把一个文件当成硬盘分区挂接上系统
3.1.2 自动挂载(永久挂载)
/etc/fstab配置文件
包含需要开机后自动挂载的文件系统记录
[root@localhost ~]# vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed Aug 4 11:15:15 2021
#
# 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=33eebecf-16d1-438d-a028-2dfa1ab2f3ef / xfs defaults 0 0
UUID=64c39622-9124-4d97-b064-c924e2293013 /boot xfs defaults 0 0
UUID=d4a51c09-24ff-4d69-89be-f2f2e551251f swap swap defaults 0 0
dev/sdb1 /mailbox xfs defaults 0 0
#dev/sdb1 :分区
#/mailbox :挂载点
#xfs :文件系统类型
#defaults :文件挂载参数
#0 :备份;0代表不备份,1代表备份
#0 :开机是否检查扇区
~
~
~
~
~
~
~
~
~
~
~
"/etc/fstab" 11L, 501C
3.2 卸载已挂载的文件系统
umount命令
umount 存储设备位置
umount 挂载点目录
3.3 检查文件系统的磁盘空间占用情况
df命令
用df命令用来检查文件系统的磁盘空间占用情况,使用权限是所有用户
例:
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 56G 3.8G 52G 7% /
devtmpfs 898M 0 898M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 9.1M 903M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 497M 167M 331M 34% /boot
tmpfs 183M 64K 183M 1% /run/user/0
/dev/sr0 4.3G 4.3G 0 100% /mnt
选项:
-s:对每个Names参数只给出占用的数据块总数。
-a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
-k:以1024字节为单位列出磁盘空间使用情况。
-x:跳过在不同文件系统上的目录不予统计。
-l:计算所有的文件大小,对硬链接文件则计算多次。
-i:显示inode信息而非块使用量。
-h:以容易理解的格式印出文件系统大小,例如136KB、2 4MB、21GB。
-P:使用POSIX输出格式。
-T:显示文件系统类型。
总结
划区步骤,第一步添加磁盘;第二步新建分区,主分区只有四个限制的序号为1~4,逻辑分区则从5往后;第三步,格式化;第四步,设置文件系统挂载,若临时挂载,重启之后就消失了,所以需要进行永久挂载