第七周

1、创建一个10G分区,并格式为ext4文件系统;

   (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl

第一步先在磁盘上创建分区:fdisk /dev/sdc

n –> e –> 5 –> default –> +10G –> w

第二步内核加载:partx -a /dev/sdc执行两遍

第三步创建文件系统:mke2fs -t ext4 -b 2048 -m 2 -L MYDATA -o acl /dev/sdc5

   (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳;

mount  -o noexec,atime /dev/sdc5 /data/mydata

 

 

 

2、创建一个大小为1Gswap分区,并创建好文件系统,并启用之;

第一步先在磁盘上创建一个1Gswap分区:fdisk /dev/sdc6

n –> e –> 6 –> default –> +1G –> t –> 82 –>w

第二步内核加载:partx -a /dev/sdc执行两遍

第三步创建swap文件系统:mkswap /dev/sdc6

第四步查看系统内存空间:free -h或是cat /proc/swaps

第五步开起swap交换分区:swap on /dev/sdc6 ;注:加 -a 表示定义在/etc/fstab/   文件上的所有swap设备

第六步查看和关闭:free  swapoff /dev/sdc6

 

 

 

3、写一个脚本

   (1)、获取并列出当前系统上的所有磁盘设备;

   (2)、显示每个磁盘设备上每个分区相关的空间使用信息;

#!/bin/bash

 fdisk -l | grep “^/dev/sd.*” | cut -d” ” -f 1

 df -h | grep “/dev/sd.*”

 

 

 

4、总结RAID的各个级别及其组合方式和性能的不同;

独立磁盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余

阵列(Redundant Array of Inexpensive Disks).RAID最初的基本思想是把多块相对便宜的硬盘组织结合起来,成为硬盘阵列组,使组合成的这个阵列组的性能超过一块价格昂贵、容量巨大的硬盘。但随着RAID的发展,人们发现组成磁盘阵列事实上非常昂贵,于是折衷把“Inexpensive”改为“Independent”

对于磁盘性能来说,增强性能意味着提高IO能力,即单位时间内的数据处理量更

大,说白了就是提高处理速度。对于数据可靠性来说,增强可靠性意味着提高容错能力及磁盘冗余能力,这样磁盘损坏了数据还能正常存储。除此之外,RAID相比单块磁盘还有增加磁盘容量、增强数据集成度的好处。

RAID提高IO能力是通过磁盘并行读写实现,而提高耐用性(增强数据可靠性)则

是通过磁盘冗余来实现。

总结来说,独立磁盘冗余阵列(RAID, Redundant Array of Independent Disks)就是通过

把多块磁盘组织起来,以实现增强磁盘读/写性能(即增大处理量)、增强容错功能及磁盘冗余能力、增强数据集成度、增大容量的功能,这是相比于单块磁盘而言的。操作系统将磁盘阵列逻辑为一个硬盘,因此对于用户来说只需知道这是可存储的一块硬盘即可。

RAID各级别特性

磁盘阵列RAID有标准RAID及混合RAID。以下介绍不同版本的RAID.

标准RAID

RAID-0

    RAID-0又称条带卷(strip)RAID-0是将多块硬盘(两块以上)平行组织起来当做一块硬盘使用,将数据用RAID的控制器分割成chunk后条带化地存储进多块硬盘中。在所有级别的RAID中,RAID-0的读、写性能最佳。理论上,RAID-0的读写性能是单块硬盘的N倍,事实上受到controller分割或组合chunk在时间上的限制。但是,RAID-0是用降低数据存储可靠性换来存储器读、写性能的提升,因此RAID-0既不具备容错能力,也没有冗余能力,只要有一块硬盘损坏,则整个系统上的数据都会丢失。所以在对数据安全性要求不高的场合下才会使用RAID-0

RAID-0特点总结如下:

(1)读、写性能提升

(2)可用空间:N*min(S1,S2,…)

(3)无容错/无冗余能力

(4)最少磁盘数:2,2+

 

RAID-1

    RAID-1又称镜像卷,即将多块硬盘(两块以上)组织起来,当开始存储数据时,将要存储的数据复制成多份,分别存储进不同的磁盘中。因此,虽然使用RAID-1在读性能上有所提升,但写性能略有下降。但使用RAID-1还有一个好处,那就是数据存储的可靠性最佳,因为同样的数据在硬盘级别上存储了多份。

RAID-1特性总结如下:

(1) 读性能提升、写性能略有下降

(2) 可用空间:1*min(S1,S2,…)

(3) 有容错、冗余能力:(N-1)块硬盘

(4) 最少磁盘数:2, 2+

 

RAID-2

    RAID-2RAID-0的改良版,其以汉明码(Hamming Code)的方式对数据进行线性编码并存储至不同硬盘中,并加入了错误修正码(ECCError Correction Code),因此存储的数据量比原始数据量大一些。RAID-2至少需要3块硬盘,虽然提高了数据可靠性,但使读、写性能大大下降,而且RAID-2具体实施技术复杂,因此在商业环境中很少使用。

 

RAID-3

    RAID-3采用Bitinterleaving(数据交错存储)技术,将数据进行编码后,检查这些数据的同位置比特,并将同位置的比特存储分别独立存储在一块硬盘上。缺点是读取一小段数据可能需要对所有硬盘进行访问,导致读、写性能大大下降,因此一般RAID-3适于需要读取大量数据时使用。

 

 

    RAID-4

    RAID-4专门用一块硬盘当做校验盘,校验盘上存储的是校验码(可以是数据异或的结果)RAID-4可以说是对RAID-1在存储性能上的改进,但问题是每次访问数据时都需要从校验盘上取出对应的同比特数据进行核对,因此对校验盘来说可能会造成系统IO性能瓶颈,而这一缺陷也限制了RAID-4的存储性能。除此之外,RAID-4还有一个缺陷,那就是最多只能损坏一块硬盘。当有一块硬盘损坏时,工作状态为降级模式。

RAID-4总结如下:

(1) 除校验盘外,读、写性能提升

(2) 可用空间:(N-1)*min(S1,S2,…)

(3) 有容错能力:1块硬盘

(4) 最少磁盘数:33+

 

    RAID-5

    RAID-5采用了循环存储校验码的机制,力求兼顾磁盘读、写性能及数据可靠性,可视为RAID-0RAID-1的折衷方案或者是对RAID-4存储性能这一问题的改进。

    RAID-5校验码存放有左对称和有对称两种布局,一般采用左对称布局。RAID-5至少需要3块磁盘,但RAID-5RAID-4一样,最多只允许1块硬盘损坏,因此数据存储的安全性依然不够高,后来发展出了以下要介绍的RAID-6。另外,RAID-5RAID-4相同,当有一块硬盘损坏时,工作为降级模式。

 

RAID-5特性总结如下:

(1) 读、写性能提升

(2) 可用空间:(N-1)*min(S1,S2,…)

(3) 有容错能力:1块磁盘

(4) 最少磁盘数:33+

 

 

 RAID-6

    相对于RAID-5来讲,RAID-6也采用了循环存储校验码的机制,不同的是,RAID-6相当于使用两块校验盘来存储呢校验码,因此任意两块硬盘损坏不会影响数据的完整性,数据存储的可靠性非常高。

(1) 读、写性能提升

(2) 可用空间:(N-2)*min(S1,S2,…)

(3) 有容错能力:2块硬盘

(4) 最少磁盘数:4, 4+

 混合RAID

    RAID-10

    RAID-10先将多块硬盘两两一组做成RAID-1(即镜像卷),再把所有的RAID-1做成RAID-0(即条带卷)。这种存储方式比较可靠。

RAID-10特性总结如下:

(1) 读、写性能提升

(2) 可用空间:N*min(S1,S2,…)/2

(3) 有容错能力:每组镜像最多只能坏一块

(4) 最少磁盘数:4, 4+

 

RAID-01

    先把多块硬盘分成两组做成RAID-0(即条带卷),再把这两组做成RAID-1(即镜像卷)。RAID-01只要有一个硬盘损坏,同组RAID-0的其他硬盘将停止工作,只剩下其他组的硬盘工作。如下图所示,即使第一组RAID-0中的Disk0和第二组RAID-0Disk3同时损坏,因为每组RAID-0的控制器分割成chunk的机制不同,所以同样无法恢复数据,数据可靠性很低。

RAID-01特性总结如下:(m代表RAID-0的组数)

(1) 读性能提升,写性能略有下降

(2) 可用空间:N*min(S1,S2,…)/m

(3) 有容错能力:最多只允许(m-1)组硬盘损坏

(4) 最少磁盘数:4, 4+

 

 

RAID-50

    RAID-50是先把多块硬盘做成RAID-5,再把各RAID-5组做成RAID-0。每组RAID-5至少需要3块硬盘,因此构成多组RAID-5至少需要6块硬盘。例如:有6块硬盘,每3块硬盘构成一个RAID-5组,再把两组RAID-5组成RAID-0

spacer.gif

  

RAID-60

    RAID-60是先把硬盘做成RAID-6,再把各RAID-6组做成RAID-0。每组RAID-6至少需要4块硬盘,因此构成多组RAID-6至少需要8块硬盘。例如:有12块硬盘,每4块硬盘构成一个RAID-6组,再把两组RAID-6组成RAID-0

 JBOD

    JBOD(Just a Bunch Of Disks)只是将多块硬盘的空间合并为一个大的连续逻辑的硬盘空间,其可用空间为组合成JBOD的各个硬盘空间之和。不具备容错、冗余能力,数据可靠性和RAID-0相当。

 

RAID-7

    RAID-7Storage Computer Corporation的专利硬件产品名称,并非公开的标准。RAID-7RAID-3RAID-4的强化版,存储性能极为强大。

需要注意的是,RAID234较少实际应用,因为RAID5已经涵盖了所需的功能,因此RAID234大多只在研究领域有实现,而实际应用上则以RAID5为主。

 

 

 

5、创建一个大小为10GRAID1,要求有一个空闲盘,而且CHUNK大小为128k;

第一步创建210G的分区:fdisk /dev/sdc

n –> e –> 7 –> default –> +10G –> t –> 7 –> fd

n –> e –> 8 –> default –> +10G –> t –> 8 –> fd –> w

第二部内核加载分区:partx -a /dev/sdc 执行两遍

第三部分查看RAID的详细信息:mdadm -D

第四步创建RAID1mdadm -C md0 -n 1 -x 1 -a yes -c 128 -l raid1 /dev/sdc7 /dev/sdc8

第五步创建文件系统:mke2fs -t ext4 /dev/md0

第六步挂载:mount /dev/md0 /md0

 

 

 

6、创建一个大小为4GRAID5设备,chunk大小为256k,格式化ext4文件系统,要求可开机自动挂载至/backup目录,而且不更新访问时间戳,且支持acl功能;

第一步创建32G大小的分区:fdisk /dev/sdc

n –> e –> 9 –> default –> +2G –> t –> fd

n –> e –> 10 –> default –> +2G –> t –> fd

n –> e –> 11 –> default –> +2G –> t –> fd –> w

第二部内核加载分区:partx -a /dev/sdc 执行两遍

第三步创建RAID5mdadm -C md1 -n 3  -c 256 -a yes -l raid5 /dev/sdc{9,10,11}

第四步创建文件系统:mke2fs -t ext4 /dev/md1

第五步开机自动挂载:vi /etc/fstab

底行输入:UUID=”UUID” /dev/backup ext4 acl,noatime 0 0

 

 

 

7、写一个脚本

   (1) 接受一个以上文件路径作为参数;

   (2) 显示每个文件拥有的行数;

   (3) 总结说明本次共为几个文件统计了其行数;

#!/bin/bash

#

if [ $# -le 2 ] ;then

    echo “Wrong is numher of parameter.”

    exit 1

else

     for i in $*;do

           wc -l $i

     done

fi

echo “Couts the number of rows for $# files.”

 

 

8、写一个脚本

   (1) 传递两个以上字符串当作用户名;

   (2) 创建这些用户;且密码同用户名;

   (3) 总结说明共创建了几个用户;

#!/bin/bash

#

if [ $# -le 1 ];then

      echo “Wrong is number of parameter.”

      exit 1

else

     for i in $*;do

          if [[ “$i” < 2 ]];then

                      echo ” $i is at least two characters.”

                       exit 2

           elif id $i &> /dev/null;then

                        echo “$i is exists.”

                          exit 3

           else

                          useradd $i

                          echo “$i” | passwd  –stdin  $i  &>/dev/null

             fi

    done

fi

echo “Add $# users.”

9、写一个脚本,新建20个用户,visitor1-visitor20;计算他们的ID之和;

#!/bin/bash

sum=0

for i in {1..20};do

              if id version$i &> /dev/null;then

                      echo “version$i already exists, create terminated.”

                      exit 1

              else

                        useradd version$i

             fi

done

 

for j in  $(cat /etc/passwd | grep “^version” |  cut -d: -f 3);do

                  sum=$(($sum +$j))

done

echo $sum

原创文章,作者:N26-xiaocong,如若转载,请注明出处:http://www.178linux.com/76202

(0)
N26-xiaocongN26-xiaocong
上一篇 2017-05-18
下一篇 2017-05-18

相关推荐

  • 基于nginx实现7层http的负载均衡

    一、实验环境实验环境为三台服务器:1. nginx负载均衡器1. 内网ip:192.168.11.1002. 外网ip:172.16.251.892. 提供网页服务的RS-1服务器:192.168.11.2013. 提供网页服务的RS-2服务器:192.168.11.2024. 拓扑如下:二、实验配置后台服务器配置:1. 后台提供网页服务的两台服务器配置:y…

    Linux干货 2017-06-29
  • 系统基础之文件管理grep练习题

    1、显示/proc/meminfo文件中以大小s开头的行; (要求:使用三种方式) [root@wen-7 ~]# grep -i "^s" /proc/meminfo  SwapCached:       &…

    Linux干货 2016-08-07
  • puppet进阶管理之终极应用

         上一篇博客写了puppet操作file、cron、user、group、exec基础资源的使用,连接地址为 http://www.178linux.com/13990  这次实验puppet的操作Package、Server和puppet的特殊资源属性Metaparameters。 回顾下…

    Linux干货 2016-04-12
  • rsyslog基于mysql的日志集中存储,及loganalyzer日志分析工具的web配置

    Rsyslog是Linux系统自带的一款强大的日志系统,在业务量不是很大的情况下,能够满足大部分客户的日志分类搜集功能,是广大运维同事进行系统监控、分析不可或缺的利器。而在运维自动化高速发展的今天,如果我们还要“人工”智能的去每一个服务器上查看系统日志就显得太LOW了,并且,对我们来说也是一个不小的负担。 基于此,我们就简单的来介绍一下,rsyslog结合m…

    系统运维 2017-02-05
  • N21沉舟11周作业

    1、详细描述一次加密通讯的过程,结合图示最佳。 2、描述创建私有CA的过程,以及为客户端发来的证书请求进行办法证书。 一、CA服务器端 #进入CA目录:cd    /etc/pki/CA #创建初始文件touch index.txt serialecho 01 >&nbsp…

    Linux干货 2016-09-19
  • ansible自动化运维工具使用详解

    一、ansible简介   1.ansible        ansible是新出现的自动化运维工具,基于Python研发。糅合了众多老牌运维工具的优点实现了批量操作系统配置、批量程序的部署、批量运行命令等功能。仅需在管理工作站上安装ansible程序配置被管控主机的IP信息,被…

    2016-04-30

评论列表(1条)

  • luoweiro
    luoweiro 2017-06-26 22:58

    对于raid相关的知识很多面试过程都会问到,尤其是他们之间的对比,希望能通过表格方式去看究竟差别在哪,而不仅仅是文字罗列。