磁盘分区、格式化及 LVM 管理

RHEL7 如何对磁盘进行分区和格式化以及如何配置 LVM,与以前版本的 RHEL 区别不大,
以通过 disk 工具(在图形桌面中运行)或命令工具(如: fdisk gdisk parted)管理硬盘设
备。 fdisk 可以配置 MBR 格式; gdisk 配置 gpt 格式, parted 可以自己选择。
传统的硬盘分区都是 MBR 格式, MBR 分区位于 0 扇区,他一共 512 字节,前 446 字节是 grub
引导程序,这个会在后面学习;中间 64 字节是分区表,每个分区需要 16 个字节表示,因此
主分区和扩展分区一共只能有 4 个分区,超过 4 个的分区只能从扩展分区上再设置逻辑分区
来表示。每个分区的大小无法超过 2T MBR 的最后 2 个字节是结束符号
GPT 格式,打破了 MBR 的限制,可以设置多达 128 个分区,分区的大小根据操作系统的不
同有所变化,但是都突破了 2T 空间的限制。 支持高达 18EB (1EB=1024PB1PB=1 024TB) 的
卷大小,允许将主磁盘分区表和备份磁盘分区表用于冗余,还支持唯一的磁盘和分区 ID
(GUID)。
MBR 分区的磁盘不同, GPT 的分区信息是在分区中,而不象 MBR 一样在主引导扇区。
为保护 GPT 不受 MBR 类磁盘管理软件的危害, GPT 在主引导扇区建立了一个保护分区
(Protective MBR) MBR 分区表,这种分区的类型标识为 0xEE,这个保护分区的大小在
Windows 下为 128MB Mac OS X 下为 200MB,在 Window 磁盘管理器里名为 GPT 保护分区,
可让 MBR 类磁盘管理软件把 GPT 看成一个未知格式的分区,而不是错误地当成一个未分区
的磁盘
MBR 硬盘中,分区信息直接存储于主引导记录(MBR)中(主引导记录中还存储着系统的引
导程序)。但在 GPT 硬盘中,分区表的位置信息储存在 GPT 头中。但出于兼容性考虑,硬盘
的第一个扇区仍然用作MBR,之后才是GPT.

GPT的结构图如下图:


一、查看当前的硬盘信息


可以在/proc/partitions 这个文件查看当前的分区。


MBR 格式的分区, fdisk 选项如下所示


输入 n,可以创建新的 MBR 分区,然后输入 p 可以显示当前的分区状态


重复 n 的操作,添加其他分区。

注: MBR 格式磁盘最多可以创建 4 个主分区或 3 个主分区 1 个扩展分区,在扩展分区中可
以创建若干个逻辑分区。
注意 id 代表了磁盘的用途,可以通过 t 来改变


看看分区记录


gdisk fdisk 非常类似



创建新分区的时候可以看见可以有 128 个分区
parted,和前两个相比,更灵活,可以自行设定 MBR GPT 格式和分区


通过 mklabel msdos 可以设定为 MBR 格式,然后可以通过 mkpart 来划分分区


msdos 设定为 MBR 格式, gpt 设定为 GPT 格式
primary 代表主分区, extended 代表扩展分区, logical 代表逻辑分区。
set number flag state 用于设置分区的用途, flag boot lvm raid State:on/off 表示开启或
关闭。
parted 工具分完区后无需保存,输入 q 退出即可。
划分好分区之后,还需要格式化才能使用。可以通过 mkfs/mkswap 来格式化文件系统
#mkfs.xfs /dev/分区设备名或#mkfs -t xfs /dev/分区设备名


可以修改 fstab 实现自动加载


测试是否能自动挂载


通过 df -h 查看已经挂载了的设备
-T 选项可以显示设备的文件系统类
有的挂载点路径比较长,自动分 2 行显示,可以-P 强制一行显示
如同进程有 pid,用户有 uid,每个文件系统也有自己的 id,称为 uuid,但是不是每个分区
都有;如果某个分区没有文件系统,那么这个分区是没有 uuid 的。
可以通过 blkid block id)来查看。注意 uuid 标记的是文件系统,而不是分区。 uuid 的好处
在于可以通过 uuid 这个唯一值来挂载系统,这样可以避免因为删除硬盘造成的错位, sda6
变成了 sda5 等等


我们可以通过 xfs_admin -U 来手动更改文件系统的 uuid


附: 在目录里面可以通过 ls -ld 查看目录的属性, ls -la 查看内容的属性,但是-ld 显示的目
录大小只有 4K,这仅仅是目录本身的大小, 要想查看目录和其内容的整个大小, 可以通过
du 来查看,如果只想看最终结果,使用 -s summary)就行了


下面我们来看看 swap 分区如何手动创建。 swap 类似 windows 的虚拟内存/page file,当内存
不足的时候,数据保存在 swap 中。
有两种方式可以使用:
第一种单独用一个分区来作为 swap


创建一个分区(如: /dev/sdb3),并更改分区 ID 82
执行 partx –a /dev/sdb 命令,使分区修改生效
在分区上创建 swap 文件系统

修改 fstab 实现自动加载,并查看


第二种方式是创建一个文件块,这个文件所占有的空间作为 swap 使用


创建一个2G的文件并改变文件格式类型,然后启用swap文件。

对于普通的分区,扩展度不高,一旦分区格式化完成,很难灵活的再增加或者减少分区大小。
为了解决这个问题,可以使用 LVM(逻辑卷)。基本过程是把物理磁盘或者分区初始化称为
物理卷( PV),然后把 PV 加入 VG(卷组),最后在 VG 上划分逻辑的分区( LVM), LVM 可
以当做普通的分区进行格式化和挂载。
将准备的磁盘或分区创建 PV


可以执行 pvdisplay 查看 PV 的详细信息, pvremove 删除 PV
创建完 PV,之后,需要创建 VG,然后添加 PV VG 中
可以通过 vgdisplay 查看具体的信息,注意 PE Size 4M,这个是增减的最小计算单位


注:创建 VG 时:使用–s 选项的作用是在创建时指定 PE 块(物理扩展单元) 的大小,默认是
4M。
如: # vgcreate volGroup03 -s 8M /dev/sdb[12])
我们可以继续往 vg 里面添加新的分区


若事先没有把 sdb3 转化为 pv,而是直接添加到 vg 里面,不过一旦添加了他自动就初始化
pv 了。
可以添加当然也可以减少 pv #vgreduce vg00 /dev/sdb3
VG 准备就绪,可以创建了 LVM 了


注意看他的大小其实是 112M,因为 PE 的大小是 4M,这个 4M 是最小单位,不能破开,因
28 PE 就是 112M



注: L 可以直接指定大小,小 l 是指定多少个 PE 的值
也可以设置剩余空间的百分比


删除逻辑卷 #lvremove /dev/vg00/lv01
对已经创建的逻辑卷,可以当做普通分区一样格式化和挂载


修改/etc/fstab 文件实现开机自动挂载。
扩展一个逻辑卷,增加 300M,首先要确保卷组有大于 300M 的空闲空间。


执行 lvextend 扩展逻辑卷大小


注意逻辑卷的文件系统仍然是 109M 没有改变,我们还需要填充文件系统的空白。
RHEL7 可以用 xfs_growfs 来扩大 XFS 文件系统,也可以直接用 resize2fs 来处理设备
注意的是 XFS 系统只能增长,不能减少!因此如果需要减少 LVM 的话,分区只能使用 ext4


执行 df 查看扩展后的文件系统


逻辑卷快照

LVM 提供一个极妙的设备,它是 snaphot 允许管理员创建一个新的块装置,在某个时间点
提供了一个精确的逻辑卷副本,快照提供原始卷的静态视图 LVM 快照通过把文件系统的改
变记录到一个快照分区,因此当你创建一个快照分区时,你不需要使用和你正创建快照的分
区一样大小的分区,所需的空间大小取决于快照的使用,所以没有可循的方法来设置此大小。
如果快照的大小等于原始卷的大小那么快照永远可用。
快照是特殊的逻辑卷,只可以对逻辑卷做快照。逻辑卷快照和需要做快照的逻辑卷必须在同一个卷组里面
现在在我们的系统中有个逻辑卷/dev/vg00/lv00,我们用 lvdisplay 来查询一下这个逻辑卷



可以看到,这个逻辑卷/dev/vg00/lv00 的大小是 309M。我们将这个逻辑卷/dev/vg00/lv00
载到/data 下面 复制一些数据到/data 里面去。方便等下做试验


现在我们就为逻辑卷/dev/vg00/lv00 来做快照


执行 lvscan 查看创建好的逻辑卷


可以看到/dev/vg00/lv00 是原始逻辑卷,而/dev/vg00/lvsp00 是快照
执行 lvdisplay lvs 命令查看逻辑信息


可以看到逻辑卷快照创建成功了,
注意:这个快照卷建好之后,是不需要格式化也不需要进行挂载的。格式化或挂载都会出现
的错误提示的。
模拟将原逻辑卷中的数据删除


如何恢复原逻辑卷的数据?有两方式可以恢复删除的数据
方式一是先将原逻辑卷卸除挂载#umount /dev/vg00/lv00
然后挂载逻辑卷快照即可 #mount /dev/vg00/lvsp00 /data,就可以正常访问数据了

方式二可以通过 lvconvert 把快照的内容重新写回原有的 lvm
先将原逻辑卷卸除挂载#umount /dev/vg00/lvsp00
执行 lvconvert 将快照的数据合并到原逻辑卷 #lvconvert --merge /dev/vg00/lvsp00
最后挂载原逻辑卷,查看数据是否恢复成功



注:当我们把原逻辑卷里面的数据给删除了,逻辑卷快照里面的数据还在,所以可以用快照
恢复数据。 而当我们在逻辑卷里面添加数据, 快照是不会发生改变的, 是没有这个文件的。
因为快照只会备份当时逻辑卷的一瞬间。
使用 ssm(系统存储管理器)进行逻辑管理
逻辑卷管理器( LVM)是一种极其灵活的磁盘管理工具,它让用户可以从多个物理硬驱创建
逻辑磁盘卷,并调整大小,根本没有停机时间。 最新版本的 CentOS/RHEL 7 现在随带系统存
储管理器(又叫 ssm),这是一种统一的命令行界面,由红帽公司开发,用于管理各种各样
的存储设备。目前,有三种可供 ssm 使用的卷管理后端: LVM Btrfs Crypt
准备 ssm CentOS/RHEL 7 上,你需要首先安装系统存储管理器。 可以通过 rpm yum


首先我们来检查关于可用硬盘和 LVM 卷的信息。下面这个命令将显示关于现有磁盘存储设
备、存储池、 LVM 卷和存储快照的信息。

执行 #ssm list来查看,如下图所示:


上图显示,有两个物理设备( “/dev/sda”和“/dev/sdb”)、 二个存储池( “centos  vg00” ,
以及存储池vg00 中创建的两个 LVM 卷( “dev/vg00/lv00”和“/dev/vg00/lv01”),存储池 vg00 中
创建的一个 LVM 卷( /dev/vg00/lv00)。
下面来讲解如何通过 ssm 创建、管理逻辑卷和逻辑卷快照
至少新添加一块磁盘,执行 ssm 命令显示现有磁盘存储设备、存储池、 LVM 卷的信息


可以看到有两块空闲磁盘( sdc sdd)
创建新的 LVM /,不妨看一下如何在物理磁盘驱动器上创建新的存储池和新的 LVM 卷。如果使用传统的 LVM 工具,整个过程相当复杂,需要准备分区,需要创建物理卷、卷组、逻辑
卷,最后还要建立文件系统。不过,若使用 ssm,整个过程一蹴而就!
下面这个命令的作用是,创建一个名为 mypool 的存储池,创建存储池中名为 lv01 500MB
大小的 LVM 卷,使用 XFS 文件系统格式化卷,并将它挂载到/mnt/test 下。


验证 ssm 创建的结果


或执行 ssm list


将物理磁盘(sdd)添加到 LVM


新设备添加到存储池后,存储池会自动扩大,扩大多少取决于设备的大小。检查名为 centos
的存储池的大小执行 ssm list 查看


接下来,我们来扩大现有的 LVM
扩大 LVM 卷, 不妨将/dev/mypool/lv01 卷的大小增加 300MB
如果你在存储池中有额外空间,可以扩大存储池中现有的磁盘卷。为此,使用 ssm 命令的
resize 选项


执行 ssm list 查看扩大后逻辑卷


可以看到逻辑卷扩大到 800M,即在原来的基础上增加了 300M,但文件系统大小( Fs size)还没有改变,仍然是原来的大小。
为了让文件系统识别增加后的卷大小,你需要“扩大” 现有的文件系统本身。有不同的工具
可用 来扩大现 有的文件系统 ,这取决 于你使用哪种 文件系统 。比如说,有 面向
EXT2/EXT3/EXT4 resize2fs、面向 XFS xfs_growfs 以及面向 Btrfs btrfs,不一而
足。
在这个例子中,我们使用 CentOS 7XFS 文件系统在默认情况下创建。因而,我们使用
xfs_growfs 来扩大现有的 XFS 文件系统。


扩大 XFS 文件系统后,查看结果


或执行#df -hT


可以看到 LVM 扩展成功
逻辑卷快照
对现有的 LVM 卷(比如/dev/mypool/lv01 ) 生成快照
一旦快照生成完毕,它将作为一个特殊的快照卷存储起来,存储了原始卷中生成快照时的所
有数据




每次原 LVM 中的数据更改,都可以手动执行 ssm snapshot 生成快照
当原 LVM 数据损坏就可以用快照恢复了
方式一是先将原逻辑卷卸除挂载 #umount /dev/vg00/lv00
然后挂载逻辑卷快照即可 #mount /dev/vg00/lvsp00 /data,就可以正常访问数据了

 


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值