分区和挂载

非逻辑分区和挂载

先将空闲磁盘通过fdisk分区

命令

1
2
fdisk /dev/sdb 
依次选择 n/p/n/回车默认/+size{K,M,G}

帮助

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
分区操作类
a:切换分区的启动标志。当需要设置某个分区为可启动分区时使用,比如在多系统安装时指定引导系统所在的分区。
d:删除一个分区。当分区不再需要或需要重新划分磁盘空间时,可用来删除现有分区,但此操作会丢失该分区上的数据。
n:添加一个新的分区。可用于在磁盘上创建新的存储空间区域,需指定分区类型(主分区、扩展分区或逻辑分区等)、起始扇区和结束扇区等信息。
t:改变分区的系统标识(系统ID)。不同的系统ID代表不同的文件系统类型或分区用途,如 Linux、Windows、交换分区等,通过修改系统ID可让操作系统正确识别分区类型。

分区表操作类
g:创建一个新的空的 GPT(GUID Partition Table)分区表。GPT 是一种较新的分区表格式,支持大于 2TB 的分区,适用于大容量磁盘。
G:创建一个 IRIX(SGI)分区表。IRIX 是一种 Unix 操作系统,该命令用于创建适用于该系统的特殊分区表。
o:创建一个新的空的 DOS 分区表。DOS 分区表是传统的分区表格式,广泛应用于早期的 Windows 系统等,最多支持 4 个主分区或 3 个主分区加 1 个扩展分区。

显示与验证类
l:列出已知的分区类型。可帮助用户了解各种系统ID对应的分区类型,以便在修改分区系统ID时进行参考。
p:打印分区表。显示磁盘上当前的分区信息,包括分区编号、起始扇区、结束扇区、分区大小、系统ID等,方便用户查看磁盘分区布局。
v:验证分区表。检查分区表的完整性和正确性,如分区是否有重叠、分区表格式是否正确等,确保磁盘分区结构的稳定性。

其他操作类
b:编辑 BSD disklabel。BSD 是一种 Unix 类操作系统,该命令用于编辑其特有的磁盘标签,进行更细致的分区管理。
c:切换 DOS 兼容性标志。在某些情况下,可能需要调整分区表的兼容性设置,以确保在不同系统或工具下能正确识别磁盘分区。
q:退出而不保存更改。当用户在操作过程中发现错误或不想修改分区信息时,可选择此命令退出工具,之前所做的更改不会被写入磁盘。
s:创建一个新的空的 Sun disklabel。Sun 是一种 Unix 工作站,该命令用于创建其特有的磁盘标签。
u:改变显示/输入单位。可切换单位如扇区、KB、MB、GB 等,方便用户根据需要更直观地查看和设置分区大小等信息。
w:将分区表写入磁盘并退出。当完成所有分区操作且确认无误后,使用此命令将更改保存到磁盘,使新的分区布局生效。
x:额外功能(仅限专家使用)。包含一些高级的、不常用的分区操作选项,普通用户一般不建议使用,除非对分区操作非常熟悉。

挂载

1
2
3
4
5
6
7
8
1、首先格式化
mkfs.ext4 /dev/sdb1
2、创建文件夹
mkdir /mnt/mydisk
3、挂载
mount /dev/sdb1 /mnt/mydisk
取消挂载
umount /mnt/mydisk

逻辑卷及挂载

首先和上步一样,使用fdisk创建一个分区/dev/sdb1

创建物理卷(PV)

将新创建的分区转化成物理卷,主要是添加LVM属性信息并划分PE存储单元,多个一起设置 pvcreate /dev/sdb{1,2,3,4,5}

1
2
pvcreate /dev/sdb1
pvs

创建卷组(VG)

创建卷组vgtest ,并将刚才创建好的物理卷加入该卷组.默认PE大小为4MB,PE是卷组的最小存储单元.可以通过 –s参数修改大小。

1
2
vgcreate vgtest /dev/sdb1
vgs

创建逻辑卷(LV)

创建逻辑卷,将卷组vgtest上面分割4G给新的逻辑卷lvtest1,将卷组vgtest上剩余空间分配给新的逻辑卷lvtest2

1
2
3
lvcreate -L 4G -n lvtest01 vgtest
lvcreate -l 100%FREE -n lvtest02 vgtest
lvs

挂载

和非逻辑分区挂载方式一样,先格式化再挂载目录

1
2
3
4
5
6
7
8
9
1、首先格式化(文件系统)
mkfs.ext4 /dev/vgtest/lvtest01
mkfs.ext4 /dev/vgtest/lvtest02
2、创建文件夹
mkdir /mnt/test
3、挂载
mount /dev/vgtest/lvtest01 /mnt/test
取消挂载
umount /mnt/test

分区扩容

非逻辑分区

两种情况,一种是已经分区的扩容然后盘还有空间扩容,一种是未分区使用整个磁盘的需要扩容。第二种其实算是第一种的后半部分。

已分区扩容

以/dev/sdb1为例子,使用了5G大小,盘总共10G,sdb1需要扩容为10G。

1
2
3
4
5
6
7
8
9
10
1、解除挂载
umount /mnt/test
2、调整分区大小
parted /dev/sdb
resizepart 1(回车然后输入大小,可以是%,也可以直接指定大小,需要加上单位)
quit
3、重新识别大小
resize2fs /dev/sdb1
4、重新挂载即可
umount /mnt/test

未分区扩容

使用整个磁盘大小,在原基础磁盘上扩容磁盘后调整,相当于不需要重新调整分区大小,直接重新识别即可,一般在虚拟环境

1
resize2fs /dev/sdb1

逻辑分区

总体是将新物理卷扩容到卷组,然后将卷组空间分配给已有逻辑卷中

1
2
3
pvcreate /dev/sdb2
vgextend vgtest /dev/sdb2
lvextend -l +100%FREE /dev/mapper/vgtest-lvtest01

最后重新挂载即可,可以将-l改成-L指定磁盘大小

让文件系统占满 LV 的全部 18 GB

1
sudo resize2fs /dev/mapper/vgtest-lvtest01

可以用lvdisplay查看名称


删除分区操作

命令

1
2
3
lvremove /dev/vgtest/lvtest01
vgremove vgtest
pvremove /dev/sdb1

开机自动挂载

通过df -h查看文件系统名称,然后修改/etc/fstab最后一行

1
/dev/mapper/vgtest-lvtest01     /mnt/test        ext4    defaults        0 0