磁盘管理


磁盘管理

磁盘管理 1

1. 硬盘的分类 2

2. linux硬盘分区 5

3. 磁盘配额 18

硬盘的分类

机械硬盘(HDD)

厂家:西部数据、希捷

转速:5400转、7200转

逻辑结构:磁道、扇区(512字节)、柱面

磁盘管理

磁盘管理

磁盘管理

盘面中一圈圈灰色同心圆为一条条磁道,从圆心向外画直线,可以将磁道划分为若干个弧段,每个磁道上一个弧段被称之为一个扇区(图践绿色部分)。扇区是磁盘的最小组成单元,通常是512字节。(由于不断提高磁盘的大小,部分厂商设定每个扇区的大小是4096字节)

硬盘通常由重叠的一组盘片构成,每个盘面都被划分为数目相等的磁道,并从外缘的“0”开始编号,具有相同编号的磁道形成一个圆柱,称之为磁盘的柱面。磁盘的柱面数与一个盘面上的磁道数是相等的。由于每个盘面都有自己的磁头,因此,盘面数等于总的磁头数。

接口:IDE(淘汰) SATA(最广泛) SAS SCSI(成本高)

固态硬盘(SSD)

M.2接口

SATA接口

linux硬盘分区

linux硬盘识别

IDE接口硬盘识别为hda(硬盘分区为hda1 hda2...) hdb hdc...

SATA/SAS/SCSI接口硬盘识别为(硬盘分区为sda1 sda2...) sdb sdc

MBR:主引导分区(512Byte)

1.主引导记录(MBR)(占446个字节)

2.磁盘分区表(DPT)(DiskPartitionTable)(占4*16=64个字节)

3.结束标记(占2个字节)

磁盘管理

MBR分区结构

磁盘管理

一个磁盘最多有4个主分区

主分区+扩展分区最多有4个,扩展分区最多有一个,即若存在扩展分区,主分区最多为3个

扩展分区中只能划分从sda5开始的逻辑分区,逻辑分区最多有4个

具体操作:fdisk和gdisk叫做交互式命令

MBR分区:

添加硬盘

关机情况下添加

fdisk -l (/dev/sda若输入到具体的磁盘可以查看磁盘具体的分区情况) 查看磁盘分区

具体流程fdisk /dev/sdb

新建主分区:
n新建分区


p 主分区


分区号(1-4)


起始扇区(默认回车即可)


终止位置(若划分1G输入“+1G”)


w写入到表中并退出,q不保存退出,查看一下fdisk -l /dev/sdb


e 扩展分区

新建扩展分区:
继续fdisk /dev/sdb


n新建


e创建一个扩展分区


默认


+10G


p一下

新建逻辑分区
n


选择l添加逻辑分区


默认开始位直接回车


+1G

删除分区直接 d 然后写3,就会删除sdb5

磁盘管理

每次保存退出按”w“后可以输入partprobe报错系统繁忙重启即可

磁盘管理

GPT分区

默认128个分区表,具体操作方式与MBR分区大致相似,不需要挂载(需要下载包)

gdisk /dev/sdc

n创建
+1G


?查看帮助


w保存,最后y一下确认

磁盘管理

磁盘管理

格式化

文件系统种类

FAT32(兼容性强不支持单个文件超过4GB)、NTFS(windows默认使用)
CentOS6使用ext4 CentOS7使用xfs
命令操作:
格式化:mkfs.xfs /dev/sdb1(或者mkfs -t xfs /dev/sdb1)


不能格式化扩展分区,可以格式化扩展分区下的逻辑分区或主分区

磁盘管理


不选文件系统类型会默认为ext2(使用df -Th命令可以查看)


GPT分区创建后无需格式化

挂载与卸载

mount 挂载源(设备)挂载点(目录)

挂载点可以在根目录下mkdir /sdb1,然后mount /dev/sdb1 /sdb1

mount 可以看挂载信息

磁盘管理

umount 卸载挂载源或挂载点(不能在磁盘里取挂载,拆房子要到放在外面拆)

umount /sdb5 或者 umount /dev/sdb5

扩展分区不能挂载

设置到/etc/fstab开机自动挂载文件

挂在后可以写入到/etc/fstab文件中
挂载源 挂载点 文件系统类型 挂载的参数 是否备份(0不备份 1备份)是否检测(0不检测 1第一个检测 2按顺序检测)

查看命令

df 查看磁盘挂载信息

-T 显示文件类型
-h 人类可读方式

df -Thi

i 查看inode数量情况
-T 显示文件类型
-h 人类可读方式

磁盘管理

du 查看文件或目录大小(默认会列出目录下所有内容)

-h 人类可读
-s查目录

磁盘管理

UUID:设备的唯一标识,创建系统文件类型时产生

查看磁盘UUID的方式
blkid /dev/sdb1

磁盘管理

查看网卡的UUID
nmcli conn show

磁盘管理

nmcli conn show ens33

磁盘管理


显示网卡的具体信息

作用:挂载更可靠,防止挂载位置错位

交换分区

OOM 内存溢出 系统中内存不足,恰巧有新的进程申请内存,会自动杀死系统中内存占用最多的进程

交换分区的作用:内存不够用时,替代内存,实质是硬盘,一般与内存相等或者是内存的2倍,不需要挂载

free 查看系统内存使用状况 -m 选项:以M为单位

命令

mkswap创建交换分区
mkswap /dev/sdb5
写入 fstab:/dev/sdb5 swap swap defaults 0 0

磁盘管理

swapon查看交换分区使用的设备以及大小(英文版)

磁盘管理

swapoff -a关闭所有交换分区(可以指定)
swapon -a开启所有交换分区
swapon -s 列出所有交换分区

磁盘管理

实验:查看交换分区的作用

下载yum -y install httpd mariadb mariadb-server php php-mysql.x86_64 (LAMP)
下载yum -y install net-tools 和yum -y install unzip
开启服务systemctl start httpd 和 systemctl start mariadb
查看端口号 netstat -anput | egrep '(:80|:3306)'
给数据库设置密码:mysqladmin -uroot password 123
解压缩包 unzip Discuz_X3.3_SC_UTF8.zip ; cd upload ; mv * /var/www/html/
chown -R apache:apache /var/www/html
去注册用户

磁盘管理

新建一个终端,watch free -m

磁盘管理

ab -n 100000 -c 1000 http://192.168.1.10/forum.php
c表示并发用户数
-n表示请求总数
将交换分区关掉swapoff -a,检测日志tail -f /var/log/messages,一会会把mysql干掉,再过一会会把自己干掉

磁盘管理

磁盘管理

磁盘配额

简介

在Linux系统中,由于是多人多任务环境,所以会有很多人共同使用一个硬盘空间的情况发生,如果其中少数几个使用者大量的占用硬盘空间的话,那势必会压缩其他用户的使用权力,因此,管理员应该适当的限制硬盘的容量给用户,以妥善分配系统资源。

柔性劝导与硬性规定( soft/hard )

不管是inode还是block限制,分别都有两个限制值,即soft与hard。通常hard限制比soft要高。
例如,若限制项目为block,可以限制hard为100M,而soft为80M。那么,用户使.用量绝对不可以高于100M,一旦超过,系统会锁住该用户的磁盘使用权,用户需自行删除一些无用的文件以减少磁盘使用量。若用户在用量低于80M时,可以正常使用。若用户使用量介于80M~100M间,则每次用户登入系统时,系统会主动发出磁盘即将爆满的警告信息,且会给予一个宽限时间(gracetime),默认为7天,若7天内使用者将用量降至80M以下,则宽限时间会停止,否则超过7天后系统将以80M作为硬性规定(取代100M)限制,锁住用户的磁盘使用权。

磁盘管理

磁盘配额需要手动开启

磁盘配额相关选项

用户配额和组配额

磁盘容量限制和文件个数限制

软限制和硬限制

宽限时间

磁盘配额大致思路

创建磁盘分区并挂载

创建用户和用户组

在分区上开启磁盘配额功能,并修改挂载文件

建立磁盘配置文件,根分区额外注意

设置用户和组的配额限制

启动配额,并查询用户和文件系统配额

测试

实验流程

实验思路:本实验创建三个用户和一个用户组进行测试,每个用户给定硬限制100M大小空间,80M软限制,用户组给定250M大小空间,用户1额外限制做多创建10个文件,测试时用户1测试文件大小软限制和文件数量软硬限制,用户二测试文件大小硬限制,用户三测试最大组配额容量

yum -y install quota.x86_64 下载包

创建用户用户组group1和用户user1,user2,user3,设置密码,并将这三个用户加到到组group1下

groupadd group1

useradd -G group1 user1

useradd -G group1 user2

useradd -G group1 user3

将家目录下的所有内容备份

mkdir /bakhome

cp -rp /home/* /bakhome

ll /bakhome

首先选定一个磁盘分区大小10g,名称sdb1,将其挂载到/home下

mount /dev/sdb1 /home

df -Th

磁盘管理

df -Th 目录或者文件 查看此目录或文件使用的文件系统

磁盘管理

恢复家目录下的内容

cp -rp /bakhome/* /home/

在分区上开启磁盘配额功能并查看挂载

mount -o remount,usrquota,grpquota /home

mount | grep /home

磁盘管理

永久开启磁盘配额功能写入/etc/fstab文件

vim /etc/fstab

/dev/sdb1 /home ext4 defaults,usrquota,grpquota 0 0

mount -o remount /home 重新挂载使配置文件生效

扫描建立磁盘配额的配置文件

quotacheck -avug

-a 扫描文件中所有启用的磁盘配额
-v 显示扫描过程
-u 建立用户配额配置文件,生成aquota.user文件
-g 建立组配额配置文件,生成aquota.group文件

注: 如果给根分区开启配额功能,加m选项强制 quotacheck -avugm

ll /home 查看文件是否生成

edquota [选项] [用户或组名] 设置用户和用户组的配额限制以及配额复制

选项

-u 用户名
-g 组名
-t 设定宽限时间
-p 复制配额

edquota -u user1 然后进行编辑

磁盘管理

磁盘配额查询 quota -uvs user1

磁盘管理

edquota -p user1 -u user2 配额复制复制

setquota -u user3 80000 100000 8 10 /home 非交互设定用户user3磁盘配额

setquota -u user3(用户名)80000(容量软限制) 100000(容量硬限制) 8(软限制) 10(硬限制) /home(挂载目录)

edquota -g group1

磁盘管理

磁盘配额查询

repquota -avugs 查询文件系统配额

quota -uvs 用户名 用户查询

quota -gvs 组名 组查询

查询结果

磁盘管理

磁盘管理

edquota -t 修改宽限时间为14天

磁盘管理

quotaon -avug 启动配额

-a 启动所有配额分区

-u 启动用户配额

-g 启动组配额

-v 显示详细信息

测试

user1:

dd if=/dev/zero of=/home/user1/testfile1 bs=1M count=90

磁盘管理

dd if=/dev/zero of=/home/user1/testfile2 bs=1M count=50

磁盘管理

du -h /home/user1查看文件大小

磁盘管理

quota -uvs user1 查看user1配额情况
依次touch 5个文件

磁盘管理

user2:

dd if=/dev/zero of=/home/user2/testfile bs=1M count=120

磁盘管理

user3:

dd if=/dev/zero of=/home/user3/testfile bs=1M count=100

quotaoff -a 关闭磁盘配额

-a 关闭所有配额分区

-u 关闭用户配额

-g 关闭组配额

发布者:LJH,转发请注明出处:https://www.ljh.cool/35628.html

(0)
上一篇 2023年4月20日 上午1:44
下一篇 2023年4月20日 上午1:46

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注