linux中磁盘管理与文件系统


前言

在生产环境下,如果某一分区快要用满时,我们就要对其进行扩容或重新规划分区


一、磁盘基础

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往后;第三步,格式化;第四步,设置文件系统挂载,若临时挂载,重启之后就消失了,所以需要进行永久挂载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值