磁盘管理:raid和lvm练习

本文通过以下习题,巩固所学raid和lvm知识:

20160829

        1、创建一个可用空间为1G的RAID1设备,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录

        2、创建由三块硬盘组成的可用空间为2G的RAID5设备,要求其chunk大小为256k,文件系统为ext4,开机可自动挂载至/mydata目录

      

20160831

        1、创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录

        2、新建用户archlinux,要求其家目录为/users/archlinux,而后su切换至archlinux用户,复制/etc/pam.d目录至自己的家目录

        3、扩展testlv至7G,要求archlinux用户的文件不能丢失

        4、收缩testlv至3G,要求archlinux用户的文件不能丢失

        5、对testlv创建快照,并尝试基于快照备份数据,验正快照的功能


raid习题:

复习raid相关知识

常用raid级别:

RAID-0 RAID-1
读、写性能提升; 读性能提升、写性能略有下降;
可用空间: N*min(S1,S2,…) 可用空间: 1*min(S1,S2,…)
无容错能力 有冗余能力
最少磁盘数: 2, 2+ 最少磁盘数: 2, 2N
RAID-5
读、写性能提升
可用空间: (N-1)*min(S1,S2,…)
有容错能力:允许最多1块磁盘损坏
最少磁盘数: 3, 3+

Linux raid命令mdadm:

命令的语法格式: mdadm [mode] <raiddevice> [options]<component-devices>

常用选项:

创建(create):-C
-n #: 使用#个块设备来创建此RAID;
-l #:指明要创建的RAID的级别;
-a {yes|no}:自动创建目标RAID设备的设备文件;
-c CHUNK_SIZE: 指明块大小;
-x #: 指明空闲盘的个数;
装配 (Assemble): -A
监控(follow):   -F
管理: -f,   -r, -a
-f: 标记指定磁盘为损坏
-a: 添加磁盘
-r: 移除磁盘
显示raid的详细信息:-D
停止md设备:-S

1、创建一个可用空间为1G的RAID1设备,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录

    本题主要是理解RAID1特性:镜像卷。1G的raid1需要2个1G硬盘。

    步骤1:fdisk设置三个分区,注意t修改分区类型fd

    步骤2:创建raid,-l 指定raid级别1; -n 指定2个磁盘设备;-x指定一个空闲盘

[root@IP70-CentOS7 ~]# >>mdadm -C /dev/md1 -a yes -l 1 -n 2 -x 1 /dev/sdb{1,2,3}

    步骤3:格式化分区为ext4

[root@IP70-CentOS7 ~]# >>mkfs -t ext4 /dev/md1

    步骤4:blkid查询UUID,并编辑/etc/fstab文件,使开机可挂载(mkdir创建挂载点/backup)

1472719127745423.png

1472719606168259.png

完成检验:

1472720236306453.png

1472720492294089.png


2、创建由三块硬盘组成的可用空间为2G的RAID5设备,要求其chunk大小为256k,文件系统为ext4,开机可自动挂载至/mydata目录

    与上题类似,只是步骤2,-l指定raid 5,-c 256

[root@IP70-CentOS7 ~]# >>mdadm -C /dev/md2 -a yes -l 5 -n 3 -c 256  /dev/sdc{1,2,3}

完成检验:

1472721725464408.png

lvm习题

复习lvm相关知识:

LVM(逻辑分区管理)中的几个概念:
PV    (physical volume):物理卷在逻辑卷管理系统最底层,可为整个物理硬盘或实际物理硬盘上的分区。
VG    (volume group):卷组建立在物理卷上,一卷组中至少要包括一物理卷,卷组建立后可动态的添加卷到卷组中,一个逻辑卷管理系统工程中可有多个卷组。
LV    (logical volume):逻辑卷建立在卷组基础上,卷组中未分配空间可用于建立新的逻辑卷,逻辑卷建立后可以动态扩展和缩小空间。
PE    (physical extent):物理区域是物理卷中可用于分配的最小存储单元,物理区域大小在建立卷组时指定,一旦确定不能更改,同一卷组所有物理卷的物理区域大小需一致,新的pv加入到vg后,pe的大小自动更改为vg中定义的pe大小。
LE    (logical extent):逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小。

1472955770695212.png


1、创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻辑卷    testlv;挂载至/users目录

    步骤1:fdisk创建分区,并设置分区格式为8e

1472729575337115.png

    步骤2:pvcreate命令创建pv

[root@IP70-CentOS7 ~]# >>pvcreate /dev/sd{b,c}{1,2,3}
Image 20160901193611.png

    步骤3:创建vg,-s 指定PE大小16dMB

[root@IP70-CentOS7 ~]# >>vgcreate -s 16MB testvg /dev/sd{b,c}{1,2} /dev/sdb3

1472731482718112.png

    步骤4:创建lv

1472776996939334.png

    步骤5:格式化lv

1472777635391632.png

    步骤6:创建/users,并进行挂载

1472777692935454.png

2、新建用户archlinux,要求其家目录为/users/archlinux,而后su切换至archlinux用户,复制/etc/pam.d目录至自己的家目录

[root@IP70-CentOS7 ~]# >>useradd -d /users/archlinux archlinux
[root@IP70-CentOS7 ~]# >>su - archlinux
[archlinux@IP70-CentOS7 ~]$ >>cp -a /etc/pam.d ~/
[archlinux@IP70-CentOS7 ~]$ >>ll  ~
total 4
drwxr-xr-x. 2 archlinux archlinux 4096 Aug 15 19:16 pam.d
[archlinux@IP70-CentOS7 ~]$ >>pwd
/users/archlinux
[archlinux@IP70-CentOS7 ~]$ >>

3、扩展testlv至7G,要求archlinux用户的文件不能丢失

  •     3.1. 扩容lv,需要先考虑vg是否有足够的未使用空间;

  •     3.2. 扩容相对安全,可以不需要取消挂载;

  •     3.3. 可以使用-r选项进行扩容,使添加的空间与原空间同步文件系统;

  •     3.4. 扩容大小必须是PE size的倍数。

[root@IP70-CentOS7 ~]# >>lvextend -r -L 7G /dev/testvg/testlv

1472819575724034.png

4、收缩testlv至3G,要求archlinux用户的文件不能丢失

  •     4.1. 收缩lv空间有风险,强烈建议先备份数据;

  •     4.2. 已使用数据大小,必须小于收缩后的空间大小;

  •     4.3. 必须取消挂载后进行;

  •     4.4. 步骤为:  umount取消挂载==>e2fsck 检测修复==>resize2fs重设文件系统大小==>lvreduce收缩lv

[root@IP70-CentOS7 ~]# >>umount /dev/testvg/testlv 
[root@IP70-CentOS7 ~]# >>e2fsck -f /dev/testvg/testlv
[root@IP70-CentOS7 ~]# >>resize2fs /dev/testvg/testlv 3G
[root@IP70-CentOS7 ~]# >>lvreduce -L 3G /dev/testvg/testlv
[root@IP70-CentOS7 ~]# >>mount /dev/testvg/testlv /users/

1472820786951418.png

5、对testlv创建快照,并尝试基于快照备份数据,验正快照的功能

    5.1. 快照仅作测试,不能代替备份;

    5.2. 快照是特殊的逻辑卷;

    5.3. 快照与被快照的lv共用部分PE,所以必须在同一个vg上;

    5.4 快照生成后,只有数据发生改变(快照lv 或被快照lv任一),才会消耗空间。

创建快照:

首先,我们对testlv写入1G的文件:

1472951659994125.png

查看vg并对testlv创建快照:

1472949545646925.png

    解读:

        1. 命令vgs可以看到剩余vg空间16.92g,对testlv创建快照前,要先查看testlv的vg是否有空闲空间可用;

        2. -L 1G 指定创建快照的大小为1G (等同 –size 1G);

        3. -s 创建快照选项 (等同–snapshot);

        4. -n data_snap 创建快照的名称 (等同–name data_snap);

        5. /dev/testvg/testlv 对此lv做快照。

即:对逻辑卷/dev/testvg/testlv进行创建大小为1G,名字为data_snap的快照。

创建命令也可以使用如下命令,效果是一样的

[root@IP70-CentOS7 ~]# >>lvcreate --size 1G --snapshot --name data_snap /dev/testvg/testlv

此时,我们查看快照属性:

Image 20160904091815.png

再来对上面图片中标注的要点作个清楚的说明:

  1.         快照的路径;

  2.         快照lv名称;

  3.         当前使用的卷组vg名;

  4.         读写模式下的快照卷,我们甚至可以挂载并使用该卷;

  5.         快照创建时间。这个很重要,因为快照将跟踪此时间之后的每个改变;

  6.         该快照属于testlv逻辑卷;

  7.         逻辑卷在线并可用;

  8.         我们录制快照的源卷大小;

  9.         写时复制表大小,Cow = copy on Write,这是说对testlv卷所作的任何改变都会写入此快照;

  10.         当前使用的快照大小,

  11.         给出快照组块的大小。

我们再给testlv创建1G的文件,并查看快照:

1472953813652347.png

1472953835298307.png

我们看到,源lv写入数据太大,快照就会爆满,如果快照逻辑卷满了,它就会自动丢失新的数据,我们就不能再使用了。最好的方法就是在创建快照时,创建一个和源一样大小的快照卷。testlv的大小是3GB,如果我们创建一个3GB大小的快照,它就永远都不会像上面那样超载,因为它有足够的空间来录制你的逻辑卷的快照。

快照的本质是lv卷,所以我们同样可以对快照进行扩展和收缩。

原创文章,作者:昭其,如若转载,请注明出处:http://www.178linux.com/42596

(0)
昭其昭其
上一篇 2016-09-05
下一篇 2016-09-05

相关推荐

  • Linux文本处理三剑客之awk详解

    前言 awk是一款强大的报告生成器,不同于sed和grep,它的侧重点是如何把文本信息更好的展示出来,常用与统计和格式化输出。awk相当于微型的shell,有着自己一套语法结构,例如:循环结构,数组,条件判断,函数,内置变量等功能。处理对象一般纯文本文件或纯文本信息。 用法详解 基本语法 awk [options] 'progra…

    Linux干货 2015-04-29
  • 网络分层模型(OSI,TCP/IP)

    目前存在的两种网络分层模型:OSI模型和TCP/IP模型。 OSI模型一共分为七层 TCP/IP模型和OSI模型类似,但是只分为四层。 OSI模型 OSI的全程是Open Systems Interconncection,即开放系统互联,它由ISO(International Organization for Standardization)制定。 OSI是…

    2017-11-27
  • sed使用详解

    vim  ,sed 1.首先,sed作为一个流编译器,它是对文本进行处理的,它和grep虽然都是对文本进行处理的,但是sed的处理机制和grep还是有很大的不同的,grep:文本过滤(模式:pattern)工具;grep, egrep, fgrep(不支持正则表达式搜索)sed:stream editor,文本编辑工具;awk:Linux上的实现g…

    Linux干货 2016-08-11
  • N25第六周 vim,crontab命令的使用

    请详细总结vim编辑器的使用并完成以下练习题 vim是一款功能强大的文本编辑器,是程序员的必备神器。 vim工作模式分为三种:编辑模式,输入模式,末行模式,三种工作模式可以进行来自由切换     编辑模式—》输入模式: 直接键i      输入模式—》…

    Linux干货 2016-12-29
  • 正则表达式简述

    正则表达式简述 什么是正则表达式: 正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。 正则表达式分类: 标准正…

    Linux干货 2016-04-05
  • The second week’s homework

    一.linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 Linux 文件与目录管理 我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /。 其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。 首先需要知道什么是绝对路径与相对路径。 绝对路径: 路径的写法,由根目录 / 写起,例如: /usr/shar…

    Linux干货 2016-12-12