xml地图|网站地图|网站标签 [设为首页] [加入收藏]
来自 新濠国际登录平台 2019-10-06 21:29 的文章
当前位置: 新濠国际登录平台 > 新濠国际登录平台 > 正文

而从这个容器里创建大小不同的分区文件,而是

有关逻辑卷的其他操作,请看:

大纲

章节简述:

CentOS 6.3下配置LVM(逻辑卷管理)

一、简介

LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。

LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上层服务的是以逻辑卷的方式。

LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。如果我们新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。

基本的逻辑卷管理概念:

PV(Physical Volume)- 物理卷
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。**

VG(Volumne Group)- 卷组
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。

LV(Logical Volume)- 逻辑卷
逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。

关系图如下:

新濠国际登录平台 1

PE(Physical Extent)- 物理块

LVM 默认使用4MB的PE区块,而LVM的LV最多仅能含有65534个PE (lvm1 的格式),因此默认的LVM的LV最大容量为4M*65534/(1024M/G)=256G。PE是整个LVM 最小的储存区块,也就是说,其实我们的资料都是由写入PE 来处理的。简单的说,这个PE 就有点像文件系统里面的block 大小。所以调整PE 会影响到LVM 的最大容量!不过,在 CentOS 6.x 以后,由于直接使用 lvm2 的各项格式功能,因此这个限制已经不存在了。

新濠国际登录平台 2

二、系统环境

实验环境:Oracle VM VirtualBox

系统平台:CentOS release 6.3 (Final)

mdadm 版本:mdadm - v3.2.6 - 25th October 2012

LVM 版本:lvm2-2.02.100-8.el6.i686

设备类型:分区、物理硬盘、raid 设备

三、磁盘准备

在这篇文章中,我们将模拟raid5、分区、物理硬盘三种类型设备创建VG,raid5 需要四块硬盘,分区和物理硬盘各一块硬盘,还有扩容时需要至少一块硬盘,所以在虚拟机里添加八块硬盘,每块5GB.

新濠国际登录平台 3

四、安装LVM管理工具

4.1 检查系统中是否安装了LVM管理工具

# rpm -qa|grep lvm

4.2 如果未安装,则使用yum 方式安装

# yum install lvm*

# rpm -qa|grep lvm

新濠国际登录平台 4

五、新建一个raid5 设备

使用/dev/sdb, /dev/sdc, /dev/sdd, /dev/sde 四块物理硬盘做软raid模拟。

# mdadm -C /dev/md5 -ayes -l5 -n3 -x1 /dev/sd[b,c,d,e]

新濠国际登录平台 5

写入RAID配置文件/etc/mdadm.conf 并做适当修改。

# echo DEVICE /dev/sd{b,c,d,e} >> /etc/mdadm.conf

# mdadm –Ds >> /etc/mdadm.conf

详细请参考上篇文章:

六、新建一个分区

使用/dev/sdf 模拟分区。

# fdisk /dev/sdf

# fdisk -l /dev/sdf

新濠国际登录平台 6

准备工作就绪,下面我们使用三种设备/dev/md5、/dev/sdf1、/dev/sdg 来完成LVM实验。

七、创建PV

# pvcreate /dev/md5 /dev/sdf1 /dev/sdg

新濠国际登录平台 7

查看PV

# pvdisplay

新濠国际登录平台 8

还可以使用命令pvs 和pvscan 查看简略信息。

# pvs

新濠国际登录平台 9

# pvscan

新濠国际登录平台 10

八、创建VG

# vgcreate vg0 /dev/md5 /dev/sdf1 /dev/sdg

新濠国际登录平台 11

说明:vg0 是创建的VG设备的名称,可以随便取;后面接上述的三个设备,也就是把三个设备组合成一个vg0.

查看VG

# vgdisplay

新濠国际登录平台 12

说明:

VG Name  VG的名称

VG Size  VG的总大小

PE Size  PE的大小,默认为4MB

Total PE  PE的总数量,5114 x 4MB = 19.98GB

Free PE / Size  剩余空间大小

同样可以使用命令vgs 和vgscan 查看。

# vgs

新濠国际登录平台 13

# vgscan

新濠国际登录平台 14

九、创建LV

# lvcreate -L 5G -n lv1 vg0

新濠国际登录平台 15

说明:

-L 指定创建的LV 的大小
-l 指定创建的LV 的PE 数量
-n LV的名字
上面命令的意思是:从vg0 中分出5G的空间给lv1 使用

查看LV的信息

# lvdisplay

新濠国际登录平台 16

说明:

LV Path  LV的路径,全名

LV Name  LV的名字

VG Name  所属的VG

LV Size  LV的大小

再来看VG 的信息

# vgs

新濠国际登录平台 17

VFree 从19.98g 减少到了14.98g,另外的5g 被分配到了lv1.

十、格式化LV

# mkfs.ext4 /dev/vg0/lv1

新濠国际登录平台 18

十一、挂载使用

# mkdir /mnt/lv1

# mount /dev/vg0/lv1 /mnt/lv1/

# df –TH

新濠国际登录平台 19

将挂载信息写入/etc/fstab

新濠国际登录平台 20

十二、添加测试数据

下面我们将对LVM进行扩容和缩减操作,所以向/mnt/lv1 中写入测试数据以验证LVM 的磁盘动态管理。

# touch /mnt/lv1/test_lvm_dynamic.disk

# touch /mnt/lv1/test_lvm_dynamic.disk2

# touch /mnt/lv1/test_lvm_dynamic.disk3

# ll /mnt/lv1/

新濠国际登录平台 21

十三、LVM的扩容操作

LVM最大的好处就是可以对磁盘进行动态管理,而且不会丢失现有的数据。

假如有一天,lv1的使用量达到了80%,需要扩容,那我们该怎么做呢?

因为vg0中还有很多剩余空间,所以我们可以从vg0中再分配点空间给lv1。

13.1 LV的扩容

查看vg0 的剩余容量,还有14.98g 可用。

新濠国际登录平台 22

对lv1进行扩容。

# lvextend -L +1G /dev/vg0/lv1

新濠国际登录平台 23

说明:在lv1原有的基础上增加了1G.

查看现在vg0 的剩余容量,减少了1G.

新濠国际登录平台 24

再查看lv1的容量,从5G增加到了6G.

新濠国际登录平台 25

使用df –TH 命令查看实际的磁盘容量。

新濠国际登录平台 26

发现实际容量并没有变化,因为我们的系统还不认识刚刚添加进来的磁盘的文件系统,所以还需要对文件系统进行扩容。

# resize2fs /dev/vg0/lv1

# df –TH

新濠国际登录平台 27

现在的可用容量已经增加到了5.9G。

查看测试数据

新濠国际登录平台 28

数据正常,对lv1的在线动态扩容完成。

还有一种情况,就是假如我们的vg0 空间不够用了,怎么办?这时我们就需要对VG进行扩容。

13.2 VG的扩容

VG的扩容可以有两种方法,第一种方法是通过增加PV来实现,操作如下:

A. 创建PV,使用/dev/sdh 来创建一个PV。

新濠国际登录平台 29

B. 扩容VG

现在的vg0 容量为19.98g.

新濠国际登录平台 30

# vgextend vg0 /dev/sdh

# vgs

新濠国际登录平台 31

现在vg0 的容量为24.97g, 增加了5GB,即一块物理硬盘的容量,VG扩容成功。

第二种方法是通过扩展RAID设备的容量来间接对VG进行扩容。这种方法在上一篇文章中有介绍,这里不再赘述,需要注意的地方是,/dev/md5 的大小变化后,需要调整PV的大小,操作如下:

# pvresize /dev/md5

新濠国际登录平台 32

十四、LVM的缩减操作

缩减操作需要离线处理。

14.1 LV的缩减

A. umount 文件系统

新濠国际登录平台 33

B. 缩减文件系统

# resize2fs /dev/vg0/lv1 4G

新濠国际登录平台 34

提示需要先运行磁盘检查。

C. 检查磁盘

# e2fsck –f /dev/vg0/lv1

新濠国际登录平台 35

D. 再次执行缩减操作

新濠国际登录平台 36

缩减文件系统成功,下面缩减LV的大小。

E. 缩减LV

# lvreduce /dev/vg0/lv1 –L 4G

新濠国际登录平台 37

说明:Step E 和Step D 缩减的大小必须保持一致,这里的4G是缩减到的大小;如果使用的是"-4G",则表示容量减少多少的意思。

F. 挂载查看

新濠国际登录平台 38

LV 缩减成功。

G. 查看测试数据

新濠国际登录平台 39

数据正常。

14.2 VG的缩减

A. umount 文件系统

新濠国际登录平台 40

B. 查看当前的PV详情

新濠国际登录平台 41

C. 将/dev/sdg 从vg0 中移除

# vgreduce vg0 /dev/sdg

新濠国际登录平台 42

D. 再次查看PV情况

新濠国际登录平台 43

/dev/sdg 已经不属于vg0了。

E. 查看vg0 的情况

新濠国际登录平台 44

vg0 的大小减少了5GB.

VG 缩减成功。

十五、删除LVM

如果要彻底的来移除LVM的话,需要把创建的步骤反过来操作。

15.1 umount 文件系统

新濠国际登录平台 45

15.2 移除LV

# lvremove /dev/vg0/lv1

新濠国际登录平台 46

15.3 移除VG

# vgremove vg0

新濠国际登录平台 47

15.4 移除PV

# pvremove /dev/md5 /dev/sdf1 /dev/sdg /dev/sdh

新濠国际登录平台 48

LVM 移除成功。

十六、LVM 快照(snapshot)

快照就是将当时的系统信息记录下来,就好像照相一样,未来若有任何资料变动了,则原始资料会被移动到快照区,没有被改动的区域则由快照区与档案系统共享。

新濠国际登录平台 49

LVM 系统快照区域的备份示意图(虚线为档案系统,长虚线为快照区)

左图为最初建立系统快照区的状况,LVM 会预留一个区域 (左图的左侧三个PE 区块) 作为数据存放处。此时快照区内并没有任何数据,而快照区与系统区共享所有的PE 数据, 因此你会看到快照区的内容与文件系统是一模一样的。等到系统运作一阵子后,假设A 区域的数据被更动了 (上面右图所示),则更动前系统会将该区域的数据移动到快照区,所以在右图的快照区被占用了一块PE 成为A,而其他B 到I 的区块则还是与文件系统共享!

快照区与被快照的LV 必须要在同一个VG 里。

16.1 建立LV

# lvcreate -L 100M -n lv1 vg0

# mkfs.ext4 /dev/vg0/lv1

# mount /dev/vg0/lv1 /mnt/lv1/

16.2 写入测试数据

# touch /mnt/lv1/test_lvm_snapshot_1

# touch /mnt/lv1/test_lvm_snapshot_2

# cp -a /etc/ /mnt/lv1/

# cp -a /boot/ /mnt/lv1/

新濠国际登录平台 50

16.3 创建快照

# lvcreate -L 80M -s -n lv1snap /dev/vg0/lv1

说明:为/dev/vg0/lv1 创建一个大小为80M,名称为lv1snap 的快照。

# lvdisplay

新濠国际登录平台 51

/dev/vg0/lv1snap 的LV Size 为100MB,使用量为0.01%.

16.4 将刚才创建的快照挂载查看

新濠国际登录平台 52

/mnt/lv1 和/mnt/snapshot 是一模一样的。

16.5 进行档案的修改操作

新濠国际登录平台 53

16.6 再次查看

新濠国际登录平台 54

snapshot 的使用量为10.36%,原始资料有改动。

16.7 对snapshot 里的资料进行打包备份,准备还原

新濠国际登录平台 55

16.8 卸载并移除snapshot

新濠国际登录平台 56

16.9 卸载并格式化/mnt/lv1,清空数据

新濠国际登录平台 57

16.10 恢复数据

新濠国际登录平台 58

可以看到,原始数据已经成功恢复。

LVM 快照实验成功。

注意:对lv1的修改量不能超过快照的大小,由于原始数据会被搬移到快照区,如果你的快照区不够大,若原始资料被更动的实际数据量比快照区大,那么快照区当然容纳不了,这时候快照功能会失效喔!

参考资料

  • 鸟哥的Linux 私房菜:
  • 羽飞博客:

6.3下配置LVM(逻辑卷管理) 一、简介 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制...

  Linux中对逻辑卷的建立

一、简介

二、版本

三、LVM 模块

四、具体操作

  • 对添加的硬盘进行分区(fdisk /dev/[hs]d[a-z])

  • 对创建的分区创建物理卷(pvcreate)

  • 给逻辑卷创建逻辑容器(卷组)

  • 在卷组创建大小不同的逻辑卷(lvcreate)

  • 给以存在的卷组扩大容量

  • 实现在线扩大LVM容量

  • 实现缩减LVM容量(不支持在线缩减)

  • 减小卷组容量

  • 利用给LVM创建快照,并完成备份并还原数据

一、简介

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,于1998年发布到Linux社区中,它允许你在Linux系统上用简单的命令行管理一个完整的逻辑卷管理环境。

您好,此章节为新增加的知识内容,正在努力的排版完善,预习2016年9月中旬完成,感谢您的支持,QQ群:340829。

  Linux中对逻辑卷进行扩容与缩小

二、版本

 

  Linux中对逻辑卷的移除

LVM1 最初的LVM与1998年发布,只在Linux内核2.4版本上可用,它提供最基本的逻辑卷管理。

7.1  磁盘冗余阵列

1988年由加利福尼亚大学伯克利分校发表的文章首次提到并定义了RAID,当今CPU性能每年可提升30%-50%但硬盘仅提升7%,渐渐的已经成为计算机整体性能的瓶颈,并且为了避免硬盘的突然损坏导致数据丢失还加入了冗余备份机制。

RAID的早先设计理念为"redundant array of Inexpensive disks"即不贵的硬盘组,而现在的定义是"Redundant Array of Independent** Disks"即独立的硬盘组,作用是防止硬盘物理损坏以及增加存储设备的吞吐量。RAID常见的组合有01510**:

RAID0:需要至少两块(含)硬盘,可以有效的提高硬盘的性能和吞吐量,但没有数据的冗余和错误修复能力。

新濠国际登录平台 59

将多块硬盘通过硬件或软件的方式串联在一起,成为一个大的卷集,将数据依次写入到各个硬盘中,这样性能会极大提升,但若任意一块硬盘故障则整个系统的数据都会受到破坏。

RAID1:需要至少两块(含)硬盘,可以有效的提高数据资料的安全性和可修复性,但成本却提高了。

新濠国际登录平台 60

实现原来是在数据写入硬盘时也会在另外一块闲置的硬盘上生成镜像文件,在不影响性能的情况下最大限度保证数据资料的可靠性,只要在一对镜像盘中还有一块硬盘可以使用,那么数据也不会丢失,具有很好的硬盘冗余能力,虽然对数据来讲绝对的安全,但成本却明显增加,磁盘利用率仅为50%。

RAID5:需要至少三块(含)硬盘,兼顾存储性能、数据安全和储存成本。

 

新濠国际登录平台 61

如上图所示"parity"块中保存的是其他硬盘数据的奇偶校验信息(并非其他硬盘的数据),以数据的奇偶校验信息来保证数据的安全,RAID5不以单独的硬盘来存放数据的奇偶校验信息,而是保存在各个磁盘上。

这样当任何一个硬盘损坏都可以根据其他硬盘上的奇偶校验信息来尝试重建损坏的数据,性能也很高,兼顾了存储性能、数据安全和存储成本,可以看作是RAID0与RAID1的折中方案。

 

RAID10:需要至少四块(含)硬盘,兼具速度和安全性,但成本很高。

新濠国际登录平台 62

 

继承了RAID0的快速与RAID1的安全,RAID1在这里提供了冗余备份的阵列,而RAID0则负责数据的读写阵列。

因这种结构的成本高,一般用于存放要求速度与差错控制的数据。

 

mdadm命令用于管理系统软件RAID硬盘阵列,格式为:"mdadm [模式] <RAID设备名称> [选项] [成员设备名称]"。

mdadm管理RAID阵列的动作有:

编辑
名称 作用
Assemble 将设备加入到以前定义的阵列
Build 创建一个没有超级块的阵列
Create 创建一个新的阵列,每个设备具有超级块。
Manage 管理阵列(如添加和删除)。
Misc 允许单独对阵列中的某个设备进行操作(如停止阵列)。
Follow or Monitor 监控状态。
Grow 改变阵列的容量或设备数目。

mdadm管理RAID阵列的参数有:

编辑
参数 作用
-a 检测设备名称
-n 指定设备数量
-l 指定raid级别
-C 创建
-v 显示过程
-f 模拟设备损坏
-r 移除设备
-Q 查看摘要信息
-D 查看详细信息
-S 停止阵列

模拟训练:RAID10配置流程:

第1步:在虚拟机中再添加4块硬盘:

新濠国际登录平台 63

第2步:使用mdadm命令创建RAID10,名称为"/dev/md0"。

-C代表创建操作,-v显示创建过程,-a yes检查RAID名称,-n是用到的硬盘个数,-l是定义RAID的级别而后面写上要加入阵列的硬盘名称。

[root@linuxprobe ~]#mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde
mdadm: layout defaults to n2
mdadm: layout defaults to n2
mdadm: chunk size defaults to 512K
mdadm: size set to 20954624K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

第3步:格式化并挂载使用

将RAID磁盘阵列格式化为ext4格式:

[root@linuxprobe ~]# mkfs.ext4 /dev/md0
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
2621440 inodes, 10477312 blocks
523865 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2157969408
320 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

创建挂载目录:

[root@linuxprobe ~]# mkdir /RAID

进行文件系统的挂载:

[root@linuxprobe ~]# mount /dev/md0 /RAID

查看磁盘挂载信息:

[root@linuxprobe ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 18G 3.0G 15G 17% /
devtmpfs 905M 0 905M 0% /dev
tmpfs 914M 84K 914M 1% /dev/shm
tmpfs 914M 8.9M 905M 1% /run
tmpfs 914M 0 914M 0% /sys/fs/cgroup
/dev/sr0 3.5G 3.5G 0 100% /media/cdrom
/dev/sda1 497M 119M 379M 24% /boot
/dev/md0 40G 49M 38G 1% /RAID

将此磁盘阵列挂载信息设置为重启后也依然生效:

[root@linuxprobe ~]# echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab

第4步:查看/dev/md0设备信息

参数-D查看RAID阵列的详细信息:

[root@linuxprobe ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue May 5 07:43:26 2015
Raid Level : raid10
Array Size : 41909248 (39.97 GiB 42.92 GB)
Used Dev Size : 20954624 (19.98 GiB 21.46 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Tue May 5 07:46:59 2015
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Name : localhost.localdomain:0 (local to host localhost.localdomain)
UUID : cc9a87d4:1e89e175:5383e1e8:a78ec62c
Events : 17
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
2 8 48 2 active sync /dev/sdd
3 8 64 3 active sync /dev/sde

第5步:模拟有1块硬盘损坏的情况
使用mdadm的-f参数将/dev/sdb移出阵列:

[root@linuxprobe ~]# mdadm /dev/md0 -f /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md0

再看下阵列的状态(此时的/dev/sdb状态被是移除,失败状态):

[root@linuxprobe ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Fri May 8 08:11:00 2015
Raid Level : raid10
Array Size : 41909248 (39.97 GiB 42.92 GB)
Used Dev Size : 20954624 (19.98 GiB 21.46 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Fri May 8 08:27:18 2015
State : clean, degraded
Active Devices : 3
Working Devices : 3
Failed Devices : 1
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Name : linuxprobe.com:0 (local to host linuxprobe.com)
UUID : f2993bbd:99c1eb63:bd61d4d4:3f06c3b0
Events : 21
Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 32 1 active sync /dev/sdc
2 8 48 2 active sync /dev/sdd
3 8 64 3 active sync /dev/sde
0 8 16 - faulty /dev/sdb

第6步:损坏后依然正常使用

因为RAID10级别能够允许一组RAID1硬盘中存在一个故障盘而不影响使用,所以依然可以正常的创建或删除文件~

现在就把新的硬盘添加进去吧,当然也可以让硬盘sdb恢复使用:请新濠国际登录平台,重启后执行“ mdadm /dev/md0 -a /dev/sdb”。

第7步:设置冗余备份磁盘

现在发现了一个问题没?运维人员需要在硬盘硬件出现故障后手工添加新的磁盘进去,这样会不会比较不方便?
假如初始化RAID5阵列时直接给予4块硬盘,其中1块硬盘设备用于在阵列某块磁盘故障时自动的替换上去,这样很棒吧!
先将磁盘系统卸载:

[root@linuxprobe ~]# umount /dev/md0

停止该阵列设备,彻底的停用:

[root@linuxprobe ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0

现在该阵列已经找不到了:

[root@linuxprobe ~]# mdadm -D /dev/md0
mdadm: cannot open /dev/md0: No such file or directory

创建RAID5并设置1块备份故障盘:

[root@linuxprobe ~]# mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: /dev/sdb appears to be part of a raid array:
level=raid10 devices=4 ctime=Fri May 8 08:11:00 2015
mdadm: /dev/sdc appears to be part of a raid array:
level=raid10 devices=4 ctime=Fri May 8 08:11:00 2015
mdadm: /dev/sdd appears to be part of a raid array:
level=raid10 devices=4 ctime=Fri May 8 08:11:00 2015
mdadm: /dev/sde appears to be part of a raid array:
level=raid10 devices=4 ctime=Fri May 8 08:11:00 2015
mdadm: size set to 20954624K

此处需要输入y,确认创建这个阵列:

Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

查看下阵列的详细信息(Spare Devices数量为1):

[root@linuxprobe ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Fri May 8 09:20:35 2015
Raid Level : raid5
Array Size : 41909248 (39.97 GiB 42.92 GB)
Used Dev Size : 20954624 (19.98 GiB 21.46 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Fri May 8 09:22:22 2015
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Name : linuxprobe.com:0 (local to host linuxprobe.com)
UUID : 44b1a152:3f1809d3:1d234916:4ac70481
Events : 18
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
4 8 48 2 active sync /dev/sdd
3 8 64 - spare /dev/sde

将磁盘阵列格式化为ext4系统:

[root@linuxprobe ~]# mkfs.ext4 /dev/md0
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
2621440 inodes, 10477312 blocks
523865 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2157969408
320 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

因为前面设置过fstab文件,所以现在可以直接给挂载:

[root@linuxprobe ~]# mount -a

将/dev/sdb设备设置为故障并移出阵列:

[root@linuxprobe ~]# mdadm /dev/md0 -f /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md0

再来看下阵列的详细信息(此时硬盘sde直接顶替上去了):

[root@linuxprobe ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Fri May 8 09:20:35 2015
Raid Level : raid5
Array Size : 41909248 (39.97 GiB 42.92 GB)
Used Dev Size : 20954624 (19.98 GiB 21.46 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Fri May 8 09:23:51 2015
State : active, degraded, recovering
Active Devices : 2
Working Devices : 3
Failed Devices : 1
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Rebuild Status : 0% complete
Name : linuxprobe.com:0 (local to host linuxprobe.com)
UUID : 44b1a152:3f1809d3:1d234916:4ac70481
Events : 21
Number Major Minor RaidDevice State
3 8 64 0 spare rebuilding /dev/sde
1 8 32 1 active sync /dev/sdc
4 8 48 2 active sync /dev/sdd
0 8 16 - faulty /dev/sdb

出现问题?大胆提问!

因读者们硬件不同或操作错误都可能导致实验配置出错,请耐心再仔细看看操作步骤吧,不要气馁~

Linux技术交流请加A群:560843( style="color: #008000;">满),B群:340829( style="color: #008000;">推荐),点此查看全国群。

*本群特色:通过口令验证确保每一个群员都是《Linux就该这么学》的读者,答疑更有针对性,不定期免费领取定制礼品。

  

LVM2 LVM-1的更新版本,在Linux内核2.6中才可用,它在标准的LVM-1功能外还提供了额外的功能。

7.2 逻辑卷管理器

当用户根据实际情况需要对分区增加、减小等调整时,经常会受到硬盘“灵活性”的限制,很不方便。

逻辑卷管理器则是在磁盘分区与文件系统之间添加的逻辑层,提供一个抽象的卷组,使得管理者可以忽略底层磁盘布局,从而实现对分区的灵活动态调整,这毫不夸张,所以红帽RHEL7系统已经默认启用了LVM(Logical Volume Manager)机制。新濠国际登录平台 64

物理卷(PV,Physical Volume): 整个硬盘设备或使用fdisk命令建立的硬盘分区。

卷组(VG,Volume Group)       :由一个或多个物理卷(PV)组成的整体

逻辑卷(LV,Logical Volume)  :从卷组(VG)出切割出的空间来用于创建文件系统,大小由PE的个数决定。

              基本单元(PE,Physical Extent)默认为4MB的基本块。

编辑
功能/命令 物理卷管理 卷组管理 逻辑卷管理
扫描 pvscan vgscan lvscan
建立 pvcreate vgcreate lvcreate
显示 pvdisplay vgdisplay lvdisplay
删除 pvremove vgremove lvremove
扩展   vgextend lvextend

模拟训练A:创建一个容量为150M的逻辑卷vo,格式化为XFS并挂载到/mnt/xfs。

第1步:在虚拟机中添加1块用来做逻辑卷实验的硬盘

新濠国际登录平台 65

请您按照下面的幻灯片逐步操作,可点击图片两侧箭头或下方小圆点“○”切换步骤。

 

  • 新濠国际登录平台 66 第2步:选择磁盘。

  • 新濠国际登录平台 67 第3步:选择磁盘类型。

  • 新濠国际登录平台 68 第4步:选择创建新的磁盘。

  • 新濠国际登录平台 69 第5步:设置磁盘的大小。

  • 新濠国际登录平台 70 第6步:默认的磁盘名称即可。

  • 新濠国际登录平台 71 第7步:成功添加的硬盘出现在列表中。

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  • <
  • >

 

第2步:创建一个大小为300M的分区(sdb1),标签为lvm:

对硬盘sdb进行分区:

[root@linuxprobe ~]# fdisk /dev/sdb
Device does not contain a recognized partition table

创建新的分区:

Command (m for help): n

类型为主分区:

Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p

分区号为1:

Partition number (1-4, default 1): 1

直接写“+300M”即可生成大小为300M的分区:

First sector (2048-41943039, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +300M
Partition 1 of type Linux and of size 300 MiB is set

查看下分区信息:

Command (m for help): p
Device Boot Start End Blocks Id System
/dev/sdb1 2048 616447 307200 83 Linux

修改分区类型:

Command (m for help): t
Selected partition 1

修改分区类型为lvm(代码是8e):

Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'

再看下分区信息:

Command (m for help): p
Device Boot Start End Blocks Id System
/dev/sdb1 2048 309247 153600 8e Linux LVM

确认无误,写入分区表信息:

Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

让内核同步分区信息(此步骤仅在没有找到分区设备的情况下才需要执行,非必要动作。):

[root@linuxprobe ~]# partprobe

第3步:启用LVM并创建vo逻辑卷并格式化为ext4格式
将新建的分区设置为物理卷:

[root@linuxprobe ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created

将物理卷加入卷组:

[root@linuxprobe ~]# vgcreate rhcsa /dev/sdb1
Volume group "rhcsa" successfully created

查看卷组信息:

[root@linuxprobe ~]# vgdisplay
--- Volume group ---
VG Size 296.00 MiB
PE Size 4.00 MiB
Total PE 74
Alloc PE / Size 0 / 0
Free PE / Size 74 / 296.00 MiB
VG UUID 8hLPQU-Tc6f-PMsa-4tq5-iT0p-vSbI-sOafqG

生成大小为37个PE的逻辑卷(37*4MiB为148M):

[root@linuxprobe ~]# lvcreate -n vo -l 37 rhcsa
Logical volume "vo" created

格式化为ext4:

[root@linuxprobe ~]# mkfs.ext4 /dev/rhcsa/vo
Writing superblocks and filesystem accounting information: done

创建一个名为/rhcsa的目录用于挂载该逻辑卷。

[root@linuxprobe ~]# mkdir /rhcsa

挂载硬盘设备:

[root@linuxprobe ~]# mount /dev/rhcsa/vo /rhcsa

查看挂载信息(rhcsa-vo为140M是合理取值):

[root@linuxprobe ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 18G 3.0G 15G 17% /
devtmpfs 905M 0 905M 0% /dev
tmpfs 914M 140K 914M 1% /dev/shm
tmpfs 914M 8.9M 905M 1% /run
tmpfs 914M 0 914M 0% /sys/fs/cgroup
/dev/sda1 497M 119M 379M 24% /boot
/dev/sr0 3.5G 3.5G 0 100% /run/media/root/RHEL-7.0 Server.x86_64
/dev/mapper/rhcsa-vo 140M 1.6M 128M 2% /rhcsa

模拟训练B:将上个实验中的逻辑卷vo容量扩展到290M。

若要对LVM进行调整,一定要先卸载:

[root@linuxprobe ~]# umount /rhcsa

将逻辑卷扩展到290M:

[root@linuxprobe ~]# lvextend -L 290M /dev/rhcsa/vo
Rounding size to boundary between physical extents: 292.00 MiB
Extending logical volume vo to 292.00 MiB
Logical volume vo successfully resized

检查磁盘完整性,重置硬盘容量:

[root@linuxprobe ~]# e2fsck -f /dev/rhcsa/vo
/dev/rhcsa/vo: 11/38000 files (0.0% non-contiguous), 10453/151552 blocks
[root@linuxprobe ~]# resize2fs /dev/rhcsa/vo
Resizing the filesystem on /dev/rhcsa/vo to 299008 (1k) blocks.
The filesystem on /dev/rhcsa/vo is now 299008 blocks long.

重新挂载硬盘设备:

[root@linuxprobe ~]# mount /dev/rhcsa/vo /rhcsa

看到挂载信息(当前逻辑卷大小已为279M):

[root@linuxprobe ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 18G 3.0G 15G 17% /
devtmpfs 905M 0 905M 0% /dev
tmpfs 914M 140K 914M 1% /dev/shm
tmpfs 914M 8.9M 905M 1% /run
tmpfs 914M 0 914M 0% /sys/fs/cgroup
/dev/sda1 497M 119M 379M 24% /boot
/dev/sr0 3.5G 3.5G 0 100% /run/media/root/RHEL-7.0 Server.x86_64
/dev/mapper/rhcsa-vo 279M 2.1M 259M 1% /rhcsa

模拟训练C:将上个实验中的逻辑卷vo容量减小到120M。

卸载文件系统:

[root@linuxprobe ~]# umount /rhcsa

检查文件系统的完整性:

[root@linuxprobe ~]# e2fsck -f /dev/rhcsa/vo
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/rhcsa/vo: 11/74000 files (0.0% non-contiguous), 15507/299008 blocks

将逻辑卷的减小到120M:

[root@linuxprobe ~]# resize2fs /dev/rhcsa/vo 120M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/rhcsa/vo to 122880 (1k) blocks.
The filesystem on /dev/rhcsa/vo is now 122880 blocks long.

使用lvreduce命令将文件系统调整为120M:

[root@linuxprobe ~]# lvreduce -L 120M /dev/rhcsa/vo
WARNING: Reducing active logical volume to 120.00 MiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vo? [y/n]: y
Reducing logical volume vo to 120.00 MiB
Logical volume vo successfully resized

重新挂载文件系统:

[root@linuxprobe ~]# mount /dev/rhcsa/vo /rhcsa

查看挂载信息,(逻辑卷已经变成113M):

[root@linuxprobe ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 18G 3.7G 14G 21% /
devtmpfs 734M 0 734M 0% /dev
tmpfs 742M 140K 742M 1% /dev/shm
tmpfs 742M 8.8M 734M 2% /run
tmpfs 742M 0 742M 0% /sys/fs/cgroup
/dev/sr0 3.5G 3.5G 0 100% /media/cdrom
/dev/sda1 497M 119M 379M 24% /boot
/dev/mapper/rhcsa-vo 113M 1.6M 103M 2% /rhcsa

模拟训练D:使用逻辑卷快照功能

LVM的逻辑卷快照功能可以将逻辑卷的数据保存为备份、以及快速的数据恢复。
查看到逻辑卷详细信息(容量共计296M,已用120M,剩余176M):

[root@linuxprobe ~]# vgdisplay
--- Volume group ---
VG Name rhcsa
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size 296.00 MiB
PE Size 4.00 MiB
Total PE 74
Alloc PE / Size 30 / 120.00 MiB
Free PE / Size 44 / 176.00 MiB
VG UUID QxBS5f-beVv-FJnu-GKyu-UWWF-JS8x-ytiAN9

创建原始文件,写入一行文字:

[root@linuxprobe ~]# echo "Welcome to Linuxprobe.com" > /rhcsa/readme.txt
[root@linuxprobe ~]# ls /rhcsa
lost+found readme.txt

对rhcsa卷组的vo逻辑卷做一个名称为SNAP而大小为150M的逻辑卷快照:

[root@linuxprobe ~]# lvcreate -L 150M -s -n SNAP /dev/rhcsa/vo
Rounding up size to full physical extent 152.00 MiB
Reducing COW size 152.00 MiB down to maximum usable size 124.00 MiB.
Logical volume "SNAP" created

查看逻辑卷和快照的信息:

[root@linuxprobe ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
SNAP rhcsa swi-a-s--- 124.00m vo 0.01
vo rhcsa owi-aos--- 120.00m
root rhel -wi-ao---- 17.51g
swap rhel -wi-ao---- 2.00g

在逻辑卷中创建一个100M的文件:

[root@linuxprobe ~]# dd if=/dev/zero of=/rhcsa/files count=1 bs=100M
1+0 records in
1+0 records out
104857600 bytes (105 MB) copied, 1.31474 s, 79.8 MB/s

再来看下逻辑卷快照的使用量:

[root@linuxprobe ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
SNAP rhcsa swi-a-s--- 124.00m vo 89.76
vo rhcsa owi-aos--- 120.00m
root rhel -wi-ao---- 17.51g
swap rhel -wi-ao---- 2.00g

将文件系统卸载:

[root@linuxprobe ~]# umount /rhcsa

恢复SNAP逻辑卷快照内容:

[root@linuxprobe ~]# lvconvert --merge /dev/rhcsa/SNAP
Merging of volume SNAP started.
vo: Merged: 18.2%
vo: Merged: 100.0%
Merge of snapshot into logical volume vo has finished.
Logical volume "SNAP" successfully removed

快照恢复一次后会被自动删除:

[root@linuxprobe ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
vo rhcsa -wi-a----- 120.00m
root rhel -wi-ao---- 17.51g
swap rhel -wi-ao---- 2.00

重新挂载文件系统:

[root@linuxprobe ~]# mount /dev/rhcsa/vo /rhcsa

原始的文件还在,但刚刚创建的100M大文件被清除了:

[root@linuxprobe ~]# ls /rhcsa
lost+found readme.txt

 新濠国际登录平台 72

  LVM还有快照的功能,类似windows的系统还原点。其特点:

查看:(测试机CentOS 5.5 X86_64)

    1.快照卷的容量必须与逻辑卷的容量相同

1234567[[email protected] ~]``# uname -a ``Linux localhost.localdomain 2.6.18-194.el5 ``#1 SMP Fri Apr 2 14:58:14 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux ``[[email protected] ~]``# uname -r ``2.6.18-194.el5 ``[[email protected] ~]``# rpm -qa | grep lvm ``lvm2-2.02.56-8.el5 ``[[email protected] ~]``#

    2.快照卷仅一次有效,在执行还原后就自动删除了

三、LVM 模块

 首先查看卷组的信息:

Physical volume (PV)、Volume group (VG)、Logical volume(LV)、 Physical extent (PE),下面我们用一个简单的图来说明下物理卷、卷组、逻辑卷他们之间的关系(此图只是个人理解,仅供参考)

  新濠国际登录平台 73

新濠国际登录平台 74

本文由新濠国际登录平台发布于新濠国际登录平台,转载请注明出处:而从这个容器里创建大小不同的分区文件,而是

关键词: