Linux 磁盘管理 管理LVM逻辑卷 以及 RAID卷组成

管理磁盘及分区

在Linux服务器中,当现有硬盘的分区规划不能满足要求(例如,根分区的剩余
空间过少,无法继续安装新的系统程序)时,就需要对硬盘中的分区进行重新规划和
调整,有时候还需要添加新的硬盘设备来扩展存储空间。

实现上述操作需要用到 fdisk磁盘及分区管理工具, fdisk是大多数 Linux系统中
自带的基本工具之一。本节将通过为 Linux主机新增一块硬盘并建立分区的过程,介
绍 fdisk工具的使用。

增加硬盘设备时首先需要在机箱内进行硬盘接口的物理连接。若是在 Vmware虛
拟机环境中,可以修改虚拟主机的设置,添加一块“ Hard Disk”硬盘设备。

检测并确认新硬盘

fdisk -l     ##可以确认、查看新增硬盘的设备和位置

规划硬盘中的分区

fdisk /dev/sdb      ##进入交互式的分区管理

输入 m 命令后 可以查看各种操作指令的帮助信息

输入 n 命令  新建分区

输入 p 创建主分区
输入 e 创建扩展分区

之后依次选择分区序号,起始位置,结束位置和分区大小 即可完成新分区的创建

在fdisk交互式界面输入 t 命令 , 可以变更分区的类型

最常用的 EXT4 ID号为 83
Swap ID号为 82
Windows中的 NTFS文件系统 ID号为  86

其他类型的文件系统 可以通过 输入 l 命令进行查看

最后输入 w 保存分区操作并退出
q 不保存操作并退出

管理文件系统

创建文件系统的过程 也即 格式化分区 的过程,在linux系统可以通过 mkfs命令工具 格式化 XFS EXT4 FAT等不同类型的分区,mkswap 可以格式化 swap交换分区

mkfs -t ext4 /dev/sdb1
mkfs.ext4 /dev/sdb1

这两条命令都可以把 /dev/sdb1 格式化为 ext4 文件系统

管理 LVM 逻辑卷

LVM 介绍

LVM是 Linux系统中对磁盘分区进行管理的一种逻辑机制,它是建立在硬盘和分
区之上,文件系统之下的一个逻辑层,在建立文件系统时屏蔽了下层的磁盘分区布局
能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性。

在安装 Centos系统的过程中选择自动分区时,就会默认采用LVM分区方案,不
需要再进行手动配置。如果有特殊需要,也可以使用安装向导提供的磁盘定制工具调
整LMM分区。需要注意的是,“/boot”分区不能基于LVM创建,必须独立出来

PV (Physical Volume,物理卷)

物理卷 是LVM 机制 的基本存储设备,通常对应为一个普通分区或整个硬盘。

pvscan      ##此命令用于扫描系统中的所有物理卷,并输出相关信息

pvcreate    ##用于将分区或整个硬盘转换成物理卷
例如   pvcreate /dev/sdb1

pvdisplay    ##用于显示物理卷的详细信息,需要使用指定的物理卷作为命令参数,默认时将显示所有物理卷的信息。

pvremove    ##用于将物理卷还原成普通分区或者磁盘,不再用于LVM体系。

VG (Volume Group, 卷组)

由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态的添加或者移除物理卷。

vgscan   ## 用于扫描系统已建立的LVM卷组及相关信息。

vgcreate  ##用于将一个或者多个物理卷创建为一个卷组,第一个命令参数用于设置新卷组的名称,其后依次指定需要加入卷组的物理卷作为参数
例如  vgcreate abc /dev/sdb1 /dev/sdb2
创建一个 /dev/sdb1 /dev/sdb2 组成的名称为abc的卷组

vgdisplay    ##用于显示系统中各卷组的详细信息,需用使用指定卷组名称作为命令参数,未指定将显示所有卷组信息

vgremove     ##用于删除指定的卷组,指定卷组名称作为参数即可

vgextend    ##用于扩展卷组的磁盘空间,当创建了新的物理卷,并需要将其添加到已有卷组中,就可以使用。
例如    vgextend abc /dev/sdb3
在 abc卷组中 添加 /dev/sdb3物理卷

LV(Logical Volume ,逻辑卷)

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

lvscan    ##用于扫描系统中已建立的逻辑卷及相关信息

lvcreate  ##用于从指定的卷组中分割空间,以创建新的逻辑卷。需要指定逻辑卷大小,名称,以及所在的卷组名作为参数
例如  lvcreate -L 10G -n abc vg_name
在卷组 vg_name 中建立一个 容量为10G 名称为abc的 逻辑卷

lvdisplay   ##用于显示逻辑卷的详细信息,需要指定逻辑卷的设备文件作为参数,也可以使用卷组名作为参数,以显示该卷组中所有逻辑卷的信息。

lvremove   ##用于删除指定的逻辑卷,直接使用逻辑卷的设备作为参数即可

lvextend  ##用于动态扩展逻辑卷的空间,当目前使用的逻辑卷空间不足时,可以从所在卷组中分割额外的空间进行扩展。
例如 lvextend -L 10G /dev/abc
为 abc逻辑卷扩展10G大小的磁盘空间

Raid 磁盘阵列与阵列卡

RAID是英文 Redundant Array of Independent Disks的缩写,中文简称为独立冗余
磁盘阵列,简单的说RAID是把多块独立的物理硬盘按不同的方式组合起来形成一个
硬盘组(逻辑硬盘),从而提供比单个硬盘具有更高存储性能和存储容量的数据备份
技术。

在用户看来,组成的磁盘组就像是一个硬盘,用户可以对它进行分区,格式化
等等组成磁盘阵列的不同方式成为RAID级别( RAID Levels)。RAID级别也就是
RAID技术的几种不同等级,分别可以提供不同的速度,安全性和性价比。根据实际
情况选择适当的RAID级别可以满足用户对存储系统可用性、性能和容量的要求。

mdadm是multiple devices admin的简称,它是Linux下的一款标准的软件 RAID 管理工具,作者是Neil Brown

接下来就要通过mdadm工具 管理raid

mdadm -E /dev/sd[b-c]1    检查是否做raid

mdamd -C 创建 -v详细过程  /dev/md0 -l0 level0(表示raid0) -n2 有两块磁盘 /dev/sd[b-c]1 -x1 /dev/sdf1 保留的一块盘

mdadm -D /dev/md0 查看 

通过mkfs工具 格式化raid盘
mkfs.ext4 /dev/md0

创建挂载点 并挂载
mkdir /md0
mount /dev/md0 /md0

这样 /md0就是一块 raid0 磁盘了