一、磁盘分区
1.RBM分区
MBR支持最多四个主分区(创建4个主分区后无法创建新的分区),或者三个主分区和一个扩展分区(包含多个逻辑分区)。MBR分区表的最大支持容量是2 TiB。
2.GPT分区
GPT是较新的分区方式,它使用全球唯一标识符(GUID)来标识分区。GPT支持更大的磁盘容量(超过2 TiB),更多的分区数量,并且提供了更好的数据冗余和恢复能力。
3.常用的磁盘分区工具有:
cfdisk:命令行工具,适用于创建主分区和扩展分区,支持MBR和GPT分区表。
fdisk:命令行工具,适用于创建主分区和扩展分区,支持MBR分区表。
gdisk:命令行工具,适用于创建主分区、扩展分区和逻辑分区,支持GPT分区表。
gparted:图形界面工具,适用于创建主分区、扩展分区和逻辑分区,支持MBR和GPT分区表
二、文件系统
在Linux中,文件系统是挂载磁盘的重要概念。文件系统是指一种组织数据的方式,可以帮助我们在磁盘上存储和管理文件。常见的Linux文件系统有ext2、ext3、ext4、XFS等。
(1)ext2(第二扩展文件系统):是 Linux 最早引入的日志文件系统之一。它使用索引节点(inode)来管理文件和目录,并使用位图来管理磁盘块的分配。然而,ext2 没有日志功能,这使得在发生意外掉电或系统崩溃时恢复文件系统变得较慢。
(2)ext3(第三扩展文件系统):是 ext2 文件系统的升级版本。它引入了日志功能,使用日志记录(journaling)来跟踪文件系统操作。这样,在系统异常关机后可以更快地进行恢复,减少数据丢失的风险。与 ext2 相比,ext3 提供了更好的可靠性和性能。
(3)ext4(第四扩展文件系统):是 ext3 文件系统的进一步改进和扩展。它增强了文件系统的大小和性能,并支持更大的文件和分区。ext4 引入了多块分配、延迟分配和其他改进,以提高文件系统的性能和可靠性。它是目前最常用的 Linux 文件系统之一。
(4)XFS:是一个高性能的日志文件系统,最初由 SGI 开发。它设计用于处理大型文件和大容量存储,并针对高吞吐量的工作负载进行了优化。XFS 支持快速分配和回收磁盘空间,并具有出色的可扩展性和鲁棒性。它被广泛用于服务器环境和高性能计算领域。
在挂载磁盘之前,我们需要先在磁盘上创建文件系统。创建文件系统的命令为mkfs。
mkfs.xfs /dev/sdb1 或者 mkfs -t xfs /dev/sdb1
mkfs:表示创建文件系统的意思。
mkfs.xfs 是直接调用 xfs 文件系统的格式化工具。
mkfs -t xfs 是调用 mkfs 工具并指定 -t 选项来指定文件系统类型为 xfs。
/dev/sdb:指定磁盘路径,即要在哪个磁盘上创建文件系统。
三、实际操作
1.RBM分区
1. 分区
在服务器上新加了一块硬盘 sdb,需要分区挂载才能使用,使用fdisk进行 RBM 分区
lsblk # 查看磁盘信息
fdisk -l # 命令查看系统中磁盘分区详细信息
fdisk /dev/sdb # 进入磁盘
p # 查看分区信息
n # 新建分区
p # 创建主分区
w # 保存退出
分区后 刷新分区表
partprobe /dev/sdb
查看是否分区成功
2.创建系统文件
mkfs.xfs /dev/sdb1
3.挂载使用
将 /dev/sdb1 挂载到 /data 目录
mount /dev/sdb1 /data
# 取消挂载
umount /data
4.查看挂载情况
df -Th
2.GPT分区
在服务器上新加了一块硬盘 sdb,需要分区挂载才能使用,使用 gdisk 进行 GPT转化,再使用 fdisk进行分区
1.安装 gdisk
yum install -y epel*
yum install -y gdisk
gdisk /dev/sdb # 进入磁盘
? # 查看帮助
o # 转化 GPT 格式分区表
w # 保存退出
转化后和退出时都要确定 输入 y
n # 新建分区
w # 保存退出
刷新分区表
partprobe /dev/sdb
2.创建系统文件
mkfs.xfs /dev/sdb1
3.挂载使用
将 /dev/sdb1 挂载到 /data 目录
mount /dev/sdb1 /data
# 取消挂载
mount /data
4.查看挂载情况
df -Th
3.删除分区
如果分区出现错误或者想删除分区
RBM
fdisk /dev/sdb
d # 删除分区
w # 保存退出
GPT
gdisk /dev/sdb
d # 删除分区
w # 保存退出
操作方式都一样,就放一个图片了
四、LVM
LVM可以让用户在无需停机的情况下可以方便地调整各个分区大小,即动态调整磁盘容量,从而提高磁盘管理的灵活性。
1.LVM分区
1.PE(Physical Extend):物理区域
PV 中可以用于分配的最小存储单元,可以在创建 PV 的时候制定(默认为 4MB),如 1M, 2M, 4M, 8M, 32M, 64M… 组成同⼀VG 中所有 PV 的 PE大小应该相同。
2.PV(Physical Volume):物理卷
处于 LVM 最底层,可以是物理硬盘或者分区,整个硬盘,或使用fdisk 等⼯具建⽴的普通分区,包许多默认 4MB 大小的 PE(Physical Extent,基本单元)。
3.VG(Volume Group):卷组
建立在 PV 之上,可以含有一个到多个 PV,一个或多个物理卷组合而成的整体。
4.LV(Logical Volume):逻辑卷
建立在 VG 之上,相当于原来分区的概念,不过大小可以动态改变。从卷组中分割出的一块空间,用于建立文件 系统。
LVM需要先分区磁盘,再创建 PV (物理卷),再创建 VG(卷组),再创建 pv(逻辑卷)
查看原来的磁盘大小
df -Th
1.创建LVM
1.分区
按照前面的方式进行分区,RBM分区后需要修改分区的 id 为 8e,之后再保存退出。 GPT分区不需要修改id,直接保存退出
RBM分区后不要保存退出,输入 t # 修改 分区id
输入 8e # lvm的id
w # 保存退出
2.创建 PV
#pvcreate /dev/磁盘分区名 /dev/磁盘分区名
pvcreate /dev/sdb1
# 查看 pv
pvs
3.创建VG
#vgcreate VG卷组名 /dev/磁盘分区名 /dev/磁盘分区名,如:
vgcreate vg1 /dev/sdb1
# 查看vg
vgs
4.创建 LV
#lvcreate -L 要给的容量 -n LV逻辑卷名 给容量的vg卷组名,如:
lvcreate -L 1T -n lv0 vg0
# 查看lv
lvs
5.创建新的文件系统
# xfs
mkfs.xfs /dev/vg0/lv0
#ext4
mkfs.ext4 /dev/vg0/lv0
6.挂载
mount /dev/vg0/lv0 /data
2.LVM扩容
原来的磁盘空间不够,扩容。按照上面的操作将新挂载的硬盘分区,制作为 pv,将新的 pv 扩到现有的vg 中,再通过 vg 对原来的 lv 进行扩容
假如新制作的 pv 为sdc1,对 vg0 进行扩容
vg扩容
# vgextend vg名 /dev/磁盘分区名
vgextend vg0 /dev/sdc1
lv扩容
#lvcreate -L 要给的容量 /dev/卷组/逻辑卷
# 扩容为100G
lvextend -L +100G /dev/vg0/lv0
# 将所有的空闲空间扩到 lv0 中
lvextend -l +100%FREE /dev/vg0/lv0
在线扩展已存在的文件系统
#xfs
xfs_growfs /dev/vg0/lv0
# ext4
resize2fs /dev/vg0/lv0
查看扩容情况
df -Th
# 和扩容之前对比
五、开机自动挂载磁盘
为防止服务器重启后磁盘没有挂载,设置开机自动挂载
vim /etc/fstab
添加
/dev/vg0/lv0 /data xfs defaults 0 # xfs 类型
/dev/vg0/lv0 /data ext4 defaults 0 # ext4 类型