本章学习了磁盘配额以及计算机网络相关内容

一.LVM概念

PV(Physical Volume,物理卷) 物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录LVM的属性,并把存储空间分割成默认大小为4MB的基本单元(Physical Extent,PE),从而构成物理卷(例:/dev/sdb1 /dev/sdc1)。

PE的值可以是4、8、16、32、64。PE越小硬盘利于率高,但是每个VG块的最大数65534,所以PE大小决定了VG卷组大小

VG(Volume Group,卷组) 由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷

LV(Logical Volume,逻辑卷

逻辑卷建立在卷组之上,与物理卷没有直接关系。对于逻辑卷来说,每一个卷组就是一个整体,从这个整体中“切出”一小块空间,作为用户创建文件系统的基础,这一小块空间就称为逻辑卷。使用mkfs等工具在逻辑卷上创建文件系统

LVM 的管理命令
功能                PV 管理命令     VG 管理命令     LV 管理命令Scan(扫描)        pvscan           vgscan           lvscan
Create(建立)     pvcreate         vgcreate         lvcreate
Display(显示)   pvdisplay        vgdisplay        lvdisplay
Remove(移除)	  pvremove          vgremove        lvremove
Extend(扩展)                    vgextend          lvextend 
Reduce(减少)                    vgreduce          lvreduce

创建 LVM 流程: pvcreate 创建 pv -> vgcreate 创建卷组 -> lvcreate 创建逻辑卷 -> mkfs.xfs lv 格式化-> mount 挂载

删除 LVM 流程: umount 卸载 -> lvremove lv 移出卷组中所有逻辑卷-> vgremove vg 移出卷组-> pvremove 移出 pv

二.磁盘扩充

设置磁盘配额

当Linux根分区的磁盘空间耗尽时,Linux操作系统将无法再建立新的文件,同时也可能会出现服务程序崩溃、系统无法启动等故障。

为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可 在Centos系统中,不同的文件系统使用不同磁盘配额配置管理工具。 例如,XFS文件系统通过xfs_quota 工具进行管理; EXT3/4 文件系统通过quota工具进行管理。

CentOS7中设置磁盘配额步骤 1、检查是否已安装xfsprogs和xfs_ quota软件包 rpm -q xfsprogs quota yum install -y xfsprogs quota

2、以支持配额功能的方式挂载文件系统 umount / dev/ vgname1 / lvnamel mount -o usrquota, grpquota /dev/vgname1/lvname1 /opt #添加挂载参数"usrquota, grpquota"用于增加对用户、组配额功能的支持 或者 vim /etc/ fstab /dev/vgname1/lvname1 /opt xfs defaults, usrquota, grpquota 00 umount /dev/vgname1/ lvname1 mount -a #-a选项,将/etc/ fstab的所有内容重新加载

3、编辑用户和组账号的配额设置 useradd lisi passwd lisi

xfs_ quota -x -c 'limit -u bsoft=80M bhard=100M isoft=40 ihard=50 lisi' /opt/

ext4 quota -x:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用。 -c: 表示直接调用管理命令。 -u: 指定用户账号对象 -g: 指定组账号对象 bsoft: 设置磁盘容量的软限制数值(默认单位为KB)。 bhard:设置磁盘容量的硬限制数值(默认单位为KB)。 isoft:设置磁盘文件数的软限制数值。 ihard:设置磁盘文件数的硬限制数值。

#仅限制磁盘容量 xfs_ quota -x -c 'limit -u bsoft=80M bhard=100M lisi' /opt/ #仅限制文件数 xfs quota -x -c 'limit -u isoft=4 ihard=5 lisi' /opt/ #查看zhangsan磁盘:容量限制 xfs_ quota -C 'quota -uv lisi' /opt/ #查看zhangsan文件数限制 xfs quota -c 'quota -i -uv lisi' /opt/

4、验证磁盘配额功能 chmod 777 /opt Su lisi cd /opt #验证磁盘容量超限 dd if=/dev/zero of=/opt/kgc.txt bs=1OM count=12 #验证磁盘文件数超限 touch {aa,bb, cc,dd,ee, ff} .txt dd命令是一一个设备转换和连续复制命令 “if=” 指定输入设备(或文件) "of="指定输出设备(或文件) "bs=" 指定读取数据块的大小 "count=”指定读取数据块的数量 /dev/zero “零"设备文件,可以无限的提供空字符。常用来生成一个特定大小的文件。

5、查看配额使用情况 #查看所有可用分区的磁盘容量配额使用情况 xfs_ quota -X -C ' report -abih'

查看磁盘配额

report常用选项:
-u:对用户查看
-g:对组查看
-a:查看所有可用分区的配额使用报告
-b:查看磁盘容量
-i:查看文件数

三.分层思想 

牛奶是如何生产出来的

1.牛奶的出产来自于奶牛,当奶牛将牛奶挤出来的时候它就已经存在。

2.但运输也是其中一环,被挤出来的牛奶会被分瓶装好依次送上负责运输的车辆送到指定地点。

3.生挤的牛奶不能直接食用,所以还有道工序是被送往加工厂将里面的杂质过滤掉保留可食用的那一部分进行检验

4.检验通过后,分装好的牛奶就会被再次运输送到各大商场进行上架,等待我们这群顾客的购买

四.OSI七层参考模型 

国际标准化组织(ISO)于1984年颁布了开放系统互连(OSI)参考模型。这是一个开放式体系结构,将网络分为七层 

应用层

网络服务与最终用户的一个接口

表示层

数据的表示、安全、压缩

会话层

建立、管理、中止会话

传输层

定义传输数据的协议端口号,以及流控和差错校验

网络层

进行逻辑地址寻址,实现不同网络之间的路径选择

数据链路层

建立逻辑连接、进行硬件地址寻址、差错校验等功能

物理层

建立、维护、断开物理连接

应用层:这是人机交互窗口,它把人的语言输入到计算机当中。例如,在QQ的对话窗口输入字符

表示层:它将接收到的数据翻译成二进制数组成的计算机语言,并对数据进行压缩和解压、数据加密和解密等工作

会话层:管理是否允许不同机器上的用户之间建立会话连接关系

传输层:负责将上层数据分片并加上端口号封装成数据段,或通过对报文头中的端口识别,实现网络中不同主机上的用户进程之间的数据

网络层:将上层数据加上源和目的方的逻辑(IP)地址封装成数据包,实现数据从源端到目的端的传输

数据链路层:将上层数据加上源和目的方的物理(MAC)地址封装成数据帧,MAc地址是用来标识网卡的物理地址,建立数据链路; 当发现数据错误时,可以重传数据帧。

物理层 :报文头部和上层数据信息都是由二进制数组成的,物理层将这些二进制数字组成的比特流转换成电信号在网络中传输

五.计算机数值

1. 基本定义

进制

基数

数字符号

用途

十进制

10

0 1 2 3 4 5 6 7 8 9

人类日常使用

八进制

8

0 1 2 3 4 5 6 7

早期系统权限表示(如Linux)

二进制

2

0 1

计算机底层存储与运算

十六进制

16

0 1 2 3 4 5 6 7 8 9 A B C D E F

内存地址、颜色编码等


2. 数值对照表(0~20)

十进制

八进制

二进制(8位)

十六进制

0

0

00000000

0x0

1

1

00000001

0x1

2

2

00000010

0x2

3

3

00000011

0x3

4

4

00000100

0x4

5

5

00000101

0x5

6

6

00000110

0x6

7

7

00000111

0x7

8

10

00001000

0x8

9

11

00001001

0x9

10

12

00001010

0xA

11

13

00001011

0xB

12

14

00001100

0xC

13

15

00001101

0xD

14

16

00001110

0xE

15

17

00001111

0xF

16

20

00010000

0x10

17

21

00010001

0x11

18

22

00010010

0x12

19

23

00010011

0x13

20

24

00010100

0x14


3. 编程语言中的表示方法

不同语言中进制的直接表示方式:

  • 二进制:前缀 0b(如 0b1010→ 十进制10)
  • 八进制:前缀 0(如 012→ 十进制10)
  • 十六进制:前缀 0x(如 0xA→ 十进制10)

代码示例

# Python示例
bin_num = 0b1010    # 二进制 → 10
oct_num = 0o12      # 八进制 → 10
hex_num = 0xA       # 十六进制 → 10
print(bin_num, oct_num, hex_num)  # 输出: 10 10 10

4. 进制转换方法

手动转换规则

  • 十进制 → 其他进制:短除法(除基取余法)。
    示例:十进制 26转二进制
26 ÷ 2 = 13 余 0  
13 ÷ 2 = 6  余 1  
6  ÷ 2 = 3  余 0  
3  ÷ 2 = 1  余 1  
1  ÷ 2 = 0  余 1  
从下往上读:`11010`(二进制)
  • 其他进制 → 十进制:按权展开求和。
    示例:二进制 11010转十进制
1×2⁴ + 1×2³ + 0×2² + 1×2¹ + 0×2⁰ = 16 + 8 + 0 + 2 + 0 = 26