3.7 Linux 磁盘管理

1、概念介绍

硬盘由容量、C:柱面数(Cylinder)、H:磁头数(Head)、S:扇区数(Sector)

  • 磁头数表示硬盘总共有几个磁头,也就是有几面盘片,最大为 255
  • 柱面数表示硬盘每一面盘片上有几条磁道,最大为 1023
  • 扇区数表示每一条磁道上有几个扇区,最大为 63,每个扇区一般是 512 个字节

磁盘容量计算:255×1023×63×512 / 1048576 = 8024MB (1M = 1048576Bytes)

Centos7/RHEL7如何对磁盘进行分区和格式化以及配置LVM,与以前版本的RHEL区别不大,可以通过disk工具(在图形桌面中运行)或命令工具(如:fdisk、gdisk、parted)管理硬盘设备。fdisk可以配置MBR格式; gdisk配置gpt格式, parted可以自己选择。

磁盘分区格式:

a. MBR格式

传统的硬盘分区都是MBR格式,MBR分区位于0扇区,他一共512字节,前446字节是grub引导程序,中间64字节是分区表,每个分区需要16个字节表示,因此主分区和扩展分区一共只能有4个分区,超过4个的分区只能从扩展分区上再设置逻辑分区来表示。每个分区的大小无法超过2T。 MBR的最后2个字节是结束符号

b. GPT格式

GPT格式,打破了MBR的限制,可以设置多达128个分区,分区的大小根据操作系统的不同有所变化,但是都突破了2T空间的限制。支持高达 18EB (1EB=1024PB,1PB=1024TB) 的卷大小。

2、fdisk 分区工具
a. 创建分区:fdisk
  • 描述:在交互式的操作环境中管理磁盘分区
  • 语法:fdisk [选项] 磁盘文件

-l:查看磁盘信息

# 查看 /dev/sdb 磁盘信息
fdisk -l /dev/sdb

# 创建分区
fdisk /dev/sdb

# 查看分区类型

# 打印已创建分区信息,写入退出

# 查看创建好的分区
ls /dev/sdb*

  • 注意:变更磁盘(特别是正在使用的硬盘)的分区设置以后,新的分区在/dev下查看不到,执行partprobe命令(如partprobe /dev/sdb)使操作系统检测新的分区表情况。
b. 格式化分区:mkfs
  • 描述:加载不同的程序来创建各种类型的文件系统
  • 语法:mkfs [选项] 文件系统 分区 | mkfs.filesystem 分区

-t 指定文件系统类型

-f 强制写入

# 查看文件系统类型
ls /sbin/mkfs*

将 sdb1 分区格式化成 xfs文件系统:

mkfs.xfs /dev/sdb1 | mkfs -t xfs /dev/sdb1

将 sdb5分区 更改成swap文件系统类型:

# 查看当前操作系统swap分区大小
free -m

# 格式化/dev/sdb分区为swap
mkswap /dev/sdb5

# 启用交换分区
swapon /dev/sdb6

# 停用交换分区
swapoff /dev/sdb6

# # 查看当前操作系统swap分区大小
free -m														# 新启用了两个交换分区 sdb6 sdb7

c. 挂载文件系统:mount

在linux操作系统中,对各种存储设备中的资源访问都是通过目录结构进行的,所以对于用户来说,还需要一个挂载的过程,才能像访问目录一样访问存储设备中的资源

使用 umount 卸载文件系统:umount 挂载目录/文件系统目录

  • 描述:将设备文件挂载至目录
  • 语法:mount [选项] 设备文件 挂载目录

-t, --types <列表> 限制文件系统类型集合

-a 根据 /etc/fstab 重新挂载文件系统类型

# 将 sdb1分区 挂载至 mbr
mount /dev/sdb1 /mnt/mbr

# 查看分区挂载情况
df -h 

设置文件系统的自动挂载:/etc/fstab

linux系统中的/etc/fstab文件是mount命令的配合文件,其中存储了文件系统的静态挂载数据,Linux操作系统在每次开机时,会自动读取这个文件的内容,自动挂载所指定的文件系统。

  • 第1字段:设备名或设备卷标名或uuid
  • 第2字段:文件系统的挂载点目录的位置(交换文件系统没有挂载点,所以挂载位置就写swap)
  • 第3字段:文件系统类型,如xfs、swap等
  • 第4字段:挂载参数,即mount命令 -o选项后可使用的参数。
    • 例如defaults、rw、ro、noexec分别表示默认参数、可写、只读、禁用执行程序。
  • 第5字段:表示文件系统是否需要dump备份(dump是一个备份工具)。1表示需要,0表示忽略。
  • 第6字段:该数字决定系统启动时进行磁盘检查的顺序。0表示不进行检查,1表示优先检查,2表示其次检查,根分区应设为1,其他分区设为2。

blkid 命令

  • 描述:查看设备的UUID
  • 语法:blkid 设备文件
# 查看 sdb1 的UUID
blkid /dev/sdb1

# 编辑 fstab,将sdb1设置为开机自启动
vim fstab
	UUID=cf1f2df4-55dc-437f-b917-4a9bda0c6924	/mnt/mbr	xfs		defaults        0 0

# 刷新挂载
mount -a
d. 查看挂载情况:df
  • 描述:查看挂载情况
  • 语法:df [选项]

-h: 以KB、MB、GB的单位来显示,可读性高(最常用)

-T: 显示文件系统类型

-i: 显示inode信息

# 查看文件系统挂载情况
df -Th

3、parted 分区工具
# 使用parted工具设置分区
parted /dev/sdb

# 以gpt格式创建一个分区
mklabel/mktable gpt

# 创建一个分区
mkpart

# 查看 分区信息 并退出
p
quit

a. 将已格式化成GPT的磁盘重新格式化为MBR:
  • 使用gdisk命令可以将磁盘转换为GPT格式,但是无法将GPT格式转换为MBR格式
  • 使用parted可以将GPT格式的磁盘转换为MBR格式
# 使用parted命令格式化磁盘,help查看帮助信息
parted /dev/sdb
help

# 创建一个新的磁盘,将磁盘类型设置为MBR格式(mdos)
mktable msdos

4、磁盘限额

通过磁盘限额可以为用户、组提供相关文件系统的磁盘空间使用额度,从而避免用户、组耗尽存储资源。在centos系统中,内核已经定制了支持linux文件系统的磁盘配额功能,并且在系统中配置和管理磁盘配额的工具由xfsprogs软件包的xfs_quota配额管理程序提供。

在centos系统中,不同的文件系统使用不同磁盘配额配置管理工具。如xfs文件系统通过xfs_quota工具进行管理,ext3/ext4文件系统通过quota工具进行管理。

yum install -y xfsprogs

作用范围:

针对指定的文件系统(分区),只在指定的文件系统(分区)内有效,用户使用其他未设置配额的文件系统时,将不受到限制。

限制对象:

指定用户账号、组账号进行限制,没有被设置限额的用户或组将不受影响。对组账号设置配额后,组内所有用户使用的磁盘容量、文件数量的总和不能超过限制。

注意:只对一般用户有效,因为root拥有全部的磁盘空间。

限制类型:

磁盘容量:(默认单位为KB),也就是限制磁盘空间大小

文件数量:限制用户能够拥有的文件个数。在linux操作系统中,每一个文件都有一个对应的数字标记,称为i节点(inode)编号,这个编号在同一文件系统内是唯一的,因此,xfs_quota通过限制i节点的数量来实现对文件数量的限制。

限制方法:

软限制:指定一个软性的配额数值(如,480MB磁盘空间、180个文件),在固定的宽限期(默认为7天)内允许暂时超过这个限制,但系统会给出警告信息。

硬限制:指定一个硬性的限制数值(如,500MB、200个文件),是绝对禁止用户超过的限制值,当达到硬限制值时,系统也会给出警告并禁止继续写入数据。硬限制的配额值应大于相应的软限制值,否则软限制将失效。

前期操作:

实施磁盘配额功能指定的分区必须已经挂载且支持磁盘配额功能。挂载xfs系统分区到指定目录,并通过参数uquota,gquota开启文件系统配额

# 格式化 sdb1分区
mkfs.xfs /dev/sdb1

# 将 sdb1 挂载至 mbr 目录
mount /dev/sdb1 /mnt/mbr

# 编辑 fstab 文件
vim /etc/fstab
	/dev/sdb1       /mnt/mbr        xfs     defaults,usrquota,grpquota     0 0

# 刷新挂载
mount -a

# 查看挂载情况
df -h

# 给mbr目录添加权限777
chmod 777 /mnt/mbr
a. 设置用户和组账号的配额设置
  • 语法:xfs_quota -x -c ‘limit -u/-g bsoft=N bhard=N isoft=N ihard=N 用户名/组名’ 挂载点

-x 表示启动专家模式,即在当前模式下允许对配额系统进行修改的所有管理命令可用

-c 选项直接调用管理命令

-u 是针对用户设置磁盘配额,

-g 是针对组账户设置磁盘配额

bsoft 设置磁盘容量的软限制数值

bhard 设置磁盘容量的硬限制数值

isoft 设置磁盘文件数的软限制数值

ihard 设置磁盘文件数的硬限制数值

# 设置用户user1的磁盘配额,
# 磁盘容量软限制80MB,磁盘容量硬限制100MB,文件数软限制2,文件数硬限制3
xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=3 ihard=5 user1' /mnt/mbr

# 查看user1用户针对/date目录的磁盘容量限额
xfs_quota -c 'quota -uv user1' /mnt/mbr

  • Quata字段对应的是软限制,Limit字段对应的是硬限制。
# 查看user1用户针对/date目录的磁盘文件限额
xfs_quota -c 'quota -i -uv user1' /mnt/mbr

b. 验证磁盘配额功能
# 切换到 user1 用户
su - user1

# 持续向 /mnt/mbr/test.txt 文件写入数据,每次写入40M数据,第三次就会被限制住
dd if=/dev/zero of=/mnt/mbr/test.txt bs=1M count=40
c. 查看配额使用情况
# 同时查看磁盘容量和文件数的报告,可以使用report命令查看	

xfs_quota -x -c 'report -abi'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值