linux 磁盘、分区、分区管理、swap

磁盘

磁盘由多个盘片组成,每个盘片正反两面皆可读写,由磁头将盘片表面的磁性颗粒改变磁性,来完成读写。
磁盘在出厂的时候,盘片上有划分好的多个同心圆环,数据就在圆环上的磁性颗粒保存,而这样的圆环就是磁道。
每个盘面都有许多的磁道,肉眼不可见,磁道又划分为多个扇区,每个扇区可存储大小为512字节。
柱面是一个抽象的概念,多个盘面相同位置垂直区域的磁道称之为柱面,数据存储在相同半径的磁道上的扇区内,读写时,可减少磁头寻道时间
磁头是盘片磁道上面负责读写的金属块

磁盘命名

物理机上的磁盘命名为sda(a为一个磁盘,后续的按照字母向后划分如sdb、sdc),磁盘后面会跟上数字1、2、3等,为在此磁盘划分的分区,如sdb2就是第二块磁盘的2分区。
虚拟服务器的命名方式和物理机基本一样,但是sda的s换成了v,也就是vda。

分区管理

分区主要是为了对数据的分类别存储,便于管理,分区有MBR、GPT两种方式,只有分区后,且对相应的分区进行格式化后,才可正常挂载。
MBR最多可以分4个主分区,又或者3个主分区,和在第4分区下的扩展分区。

fdisk /dev/sdb
n 添加新的分区
p 查看当前分区
d 删除分区
w 保存
m 显示帮助
q 退出

GPT支持分配128个主分区

gdisk /dev/sdb
#命令和fdisk基本相同。不过此处、
? 显示帮助

mkfs 格式分区,可以针对整个磁盘,或单个分区进行操作,一般情况下不要直接格式化整个磁盘(会将所有的分区都格式没了),分区后再格式化,区头会预留交换空间

#ex2、ext3、ext4,格式磁盘为指定类型
mkfs.ext4 /dev/sdb

#xfs格式化分区为指定类型
mkfs.xfs  /dev/sdb

#指定一个数据块的大小4096字节=4k
mkfs.xfs -b size=1024 /dev/sdb2

#强制格式化
mkfs -f   /dev/sdb

挂载

临时挂载

mount /dev/sdb1 /test

将分区入口挂载到test目录下,此后载该目录下的所有存储读取等操作,相当于都是在

sdb1里面进行的
-t 指定文件系统挂载分区
-a 检查并挂载/etc/fstab配置文件中未挂载的设备
-o 指定挂载参数  ro 只读,rw读写

卸载

umount /dev/sdb1  
#将此分区卸载

这些都是临时的操作,可以在etc/fstab更改文件内容,进行配置

#
# /etc/fstab
# Created by anaconda on Mon Jul  5 20:00:37 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
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=7f59131b-e148-4e00-a283-564047f809d7 /boot                   xfs     defaults        0 0
/dev/mapper/centos-home /home                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0


/dev/sdb1               data                    xfs     defaults        0 0  
#第一列要挂载的设备
#第二列挂载入口目录
#第三列分区类型   
#第四列默认挂载参数
#async/sync  使用异步或同步方式存储数据,默认异步
#user/nouser  是否允许普通用户使用mount命令挂载,默认nomount
#exec/noexec 是否允许可执行文件执行,默认exec
#suid/nosuid 是否允许存在suid文件,默认suid
#auto/noauto 执行mount -a 命令时,此文件系统是否被挂载,默认auto
#rw/ro 是否以只读或者读写模式进行挂载,默认rw
#defaults 具有rw,suid,exec,dev,auto,nouser,async
#第五列是否每天备份 0不备份 1每天备份 2不定时备份
#第六列 是否每次开机检查磁盘 0不检查1检查2双重效验

按照上面的配置照抄即可
写入完成后可mount -a 测试检查写入的内容是否出错

#检查etc/fstab文件并挂载可挂载的所有分区
mount -a 

swap

swap虚拟内存,当物理内存条不足时可以使用(物理内存在不足时,会随机kill一个正在进行中的进程来释放内存,而且内存溢出时可能导致各种命令无法正常使用,系统会报oom异常),swap来充当内存来使用,但是此法很慢,毕竟是使用磁盘来冲当的内存。

mkswap /dev/sdb1
#格式化为swap分区

free -m 
#查看swap分区大小

swapon /dev/sdb1
#扩展swap分区
swapon -a
#添加所有swap分区
swapoff /dev/sdb1
#关闭某个swap分区
swapoff -a 
#关闭所有swap分区

inode和block

为了简化磁盘使用过程,操作系统提供了一个辅助系统FS(文件系统)
磁盘默认分为两个存储区域,一类是存储元数据Inode,每个Inode block块128bit,一类是存储真实数据的block,每个block占用4kb,当block内写有数据被标记使用后,都有Inode block关联并记录该block对应的文件和block在磁盘内的位置。
如果碰到磁盘内存储的文件大部分都是小文件,占用空间小,但文件数量多,可能导致明明内存还有,但就是无法创建文件夹,并报错,容量不足,这就是Inode编号已经被占用完了,没有可用的Inode编号给新的文件使用。所以为了预防此问题的发生,可以在建立分区前就调整Inode的数量

在工作中,可能碰到磁盘损坏的问题,可以使用

xfs_repair /dev/sdb1    
#修复磁盘,但也有可能无法修复
-L 修复失败时可以尝试强制修复,但强制修复可能会造成部分数据丢失,不建议使用

请添加图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

confusedowlet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值