硬盘分区相关知识以及LVM基本应用

本文介绍了硬盘分区的MBR和GPT两种方式,详细解析了它们的特点与区别。在Linux系统中,通过fdisk命令创建了10G的EXT4分区,并探讨了如何建立和启用1G的swap分区。此外,文章还提到了LVM的基本应用,包括物理卷(PV)、卷组(VG)和逻辑卷(LV)的管理操作。最后,文章提供了一些简单的脚本示例,如计算用户ID和判断ID奇偶性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、硬盘分区两种方式
1、MBR(Main Boot Record)是过去很长一段时间的主流分区方式。
主引导记录。以硬盘最前面512字节存储引导信息。其中前446字节保存引导信息,后64字节保存分区表信息,最后2字节为结束标志,标识MBR是否有效。
由于是用64字节保存分区表,每个分区用16字节表示。所以最多只能划分4个主分区,最大支持卷为大小为2TB。且分区表无备份。近些年缺点也日益显现出来。

2、GPT(GUID Partition Table)随着技术的发展,慢慢有成为主流的趋势。
全局唯一标识分区表。会利用独立分区保存分区表信息且有备份。GPT很好的解决了MBR的分区的一些缺陷。
第一个扇区存储“保护MBR”。出于兼容性考虑,用来标识硬盘分区为GPT分区,防止管理程序对误读或数据的破坏。实际内部只保存了0xEE标识的一个分区。
第二个扇区保存GPT头信息。1.保存了硬盘的GUID,可用空间以及分区表项的大小和数量。2.GPT头本身信息(位置,大小)以及备份GPT头的位置以及大小信息。3.保存了本身和分区表的CRC32校验码。通过校验码来判断分区表是否正确。
第三个扇区至三十三扇区保存分区表项,即分区表信息。一个分区表项,用前16个字节表示分区类型GUID。后面16个字节表示分区本身GUID。之后是分区的起始和末尾的64位扇区编号,分区名字以及属性。
第三十四扇区开始为分区空间。实际分区,用以储存数据
磁盘最后一段空间或者说一些扇区为备份信息。从后向前依次分别为,GPT头信息备份,分区表项信息备份。各自大小同源数据占用扇区数相同。

二、linux系统中创建一个分区,大小为10G。格式化为EXT4文件系统。
利用fidisk命令实现划分分区。

fdisk /dev/sda 根据交互提示划分分区(图一为fdisk界面)。划分分区最后记得输入 “w”,用以保存分区表。

partprobe 通知系统分区表更改,重读分区表,识别出新划分的分区。
partx -a 亦可识别新分区,需要多执行几次。

格式化分区,block大小为2048.预留空间20%。建表为MYDATA。

mke2fs -b 2048 -t ext4 -L MYDATA -m 20 /dev/sda2

mkfs.ext4 /dev/sda2 (格式化为ext4文件系统,其他选项默认。常用)

挂载至/mydata目录下,挂载时禁止程序自动运行,且不更新文件的访问时间戳。
开机自动挂载。

	mount -o noatime,noexec /dev/sda2 /mydata

三、建一个大小为1G的swap分区,并启用

图一
在这里插入图片描述
Ps:上图为fdisk界面,全程交互式,使用方法请自己摸索,非常简单,不再赘述。
1.建一个swap。使用fdisk划分出一个分区,分区类型为swap。类型编号为82。(建立分区过程同上)
swap分区建立之后依然需要让内核重新设别新的分区,执行

partprobe

启动用新的swap分区。

swapon /dev/sda3

关闭swap分区

swapoff  /dev/sda3

查看swap分区

swapon -s

如果需要开机自动挂载,需要在配置文件/etc/fstab 中加入如下一行:

/dev/sda3	swap	swap	defaults 0 0

uuid        swap swap dafaults 0 0

查看uuid的命令

blkid

2.实际环境中可能因为各种 原因,无法分区,可能会利用大文件制作swap使用。
我写个思路算是抛砖引玉,各位有需求可以深入研究使用。
利用dd命令制作一个大镜像文件。

dd if=/dev/zero of=/opt/mydata/swap.img bs=1M count =1024
mkswap /opt/mydata/swap.img

然后测试

swapon  /opt/mydata/swap.img 

测试没有问题,添加到/etc/fstab文件中,实现开机自动挂载。
至此swap设置完成。各位有兴趣自行动手试一试吧。

四、编写脚本,计算/etc/passwd 文件中第10个用户和第20个用户的id号之和。
在这里插入图片描述

五、将当前主机名保存至HOSTNAME变量中,如果主机名为空,或者为localhost。localdomain则将设置为 www.magedu.com
在这里插入图片描述
六、编写脚本。通过命令行传入一个用户名,判断id号是偶数还是奇数。

在这里插入图片描述

七、LVM基本应用以及扩展缩减的实现。

LVM (Logical Volume Manager)逻辑卷管理。
随着技术发展Raid技术及存储硬件设备,云服务器的广泛应用。LVM的可适用范围也越来越小。
并且lvm是在文件系统层面之下一个层面,且不属于非维护型的文件系统。所以无特殊需求不建议生产环境应用LVM。以下对LVM做基本应用介绍:
LVM 组成部分 PV物理卷,VG卷组,LV逻辑卷。
根据层级关系,可以不太准确得描述为,PV最底层,之上是VG,之上是LV。(帮助大家便于理解)

PV 物理卷
查看PV信息

pvs				简要信息
pvdispay		详细信息

创建PV

pvcreate /dev/sda#		(某个分区且分区类型必须为lvm)

删除PV

pvmove /dev/sda#		(删除pv之前,需要删除其上面的所有vg)!!!注意,数据将丢失

VG 卷组
查看VG信息

vgs	          简要信息
vgdispay	  详细信息

创建VG

vgcreate /dev/sda#		(创建为PV的分区,一个vg可包含多个PV)
-s 可指定PE大小。默认为4M。PE决定了单个逻辑卷的最大容量。

扩展VG

vgextend  vg01 /dev/sda# (指明pv)

删除VG

vgmove /dev/sda#		(删除vg之前,需要删除其上面的所有lv)!!!注意,数据将丢失

LV 逻辑卷
查看LV信息

lvs			简要信息
lvdispay	详细信息

创建LV

lvcreate  -n lv01 -L 1G /dev/vg0 		(指明加入哪个VG)
-n	对新创建的lv命名,不命名默认为“lvol#”格式
-L	指定lv大小。支持常用单位B,M,G等等

扩展LV

lvextend  /dev/vg01/lv01   (指明需要扩展的LV,VG需要有足够的空间可供扩展才可以)
-L		指定需要扩展的大小。支持常用单位B,M,G等等
-r 	   resizefs   非常好用的命令。扩展lv的同时将其上面的文件系统一并扩展。

删除LV

lvmove /dev/sda#		(删除lv之前,卸载其上面的所有分区)!!!注意,数据将丢失

大家可能发现了。对于PV,VG,LV的操作命令都及其相似,只有各自参数略有却别。这也为我们使用提供了很多方便。以上关于LVM的简单操作。

PS:最后lv创建成功还无法使用,需要在lv上面创建文件系统才可以挂载到系统中存储数据。
如果格式化各种文件系统,实现临时挂载或者开机自动挂载,请查看我博客其他文字。
谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值