第七周博客作业

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

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

[root@localhost tmp]# cat /proc/partitions
major minor  #blocks  name

   8       16   52428800 sdb
   8       17   10490413 sdb1
   8        0  125829120 sda
   8        1     512000 sda1
   8        2  125316096 sda2
 253        0   52428800 dm-0
 253        1    2031616 dm-1
 253        2   70852608 dm-2

[root@localhost tmp]# mke2fs -t ext4 -b 2048 -m 2 -L MYDATA /dev/sdb1
[root@localhost tmp]# tue2fs -o acl /dev/sdb1

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

[root@localhost tmp]# mount -o noexec,noatime /dev/sdb1 /data/mydata
[root@localhost tmp]# cat /proc/mounts | tail -1
/dev/sdb1 /data/mydata ext4 rw,seclabel,noexec,noatime,errors=continue,acl,barrier=1,data=ordered 0 0

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

[root@localhost tmp]# cat /proc/partitions
major minor  #blocks  name

   8       16   52428800 sdb
   8       17   10490413 sdb1
   8       18    1060290 sdb2
   8        0  125829120 sda
   8        1     512000 sda1
   8        2  125316096 sda2
 253        0   52428800 dm-0
 253        1    2031616 dm-1
 253        2   70852608 dm-2

[root@localhost tmp]# mkswap /dev/sdb2
Setting up swapspace version 1, size = 1060284 KiB
no label, UUID=91650adf-be7e-405c-ad08-23ba722a9cdc
[root@localhost tmp]# swapon /dev/sdb2
[root@localhost tmp]# swapon -s
Filename                Type        Size    Used    Priority
/dev/dm-1                               partition   2031612 0   -1
/dev/sdb2                               partition   1060284 0   -2

3、写一个脚本

(1)、获取并列出当前系统上的所有磁盘设备; (2)、显示每个磁盘设备上每个分区相关的空间使用信息;

#!/bin/bash
#
echo "All disk info:"
fdisk -l /dev/[sh]d[a-z]

echo -e "\nEvery disk section space info:"
df -h

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

(1)RAID 0

它將兩個以上的磁碟並聯起來,成為一個大容量的磁碟。在存放資料時,分段後分散儲存在這些磁碟中,因為讀寫時都可以並列處理,所以在所有的級別中,RAID 0的速度是最快的。但是RAID 0既沒有冗餘功能,也不具備容錯能力,如果一個磁碟(物理)損壞,所有資料都會遺失

(2)RAID 1

兩組以上的N個磁碟相互作鏡像,在一些多執行緒作業系統中能有很好的讀取速度,理論上讀取速度等於硬碟數量的倍數,另外寫入速度有微小的降低。只要一個磁碟正常即可維持運作,可靠性最高。其原理為在主硬碟上存放資料的同時也在鏡像硬碟上寫一樣的資料。當主硬碟(物理)損壞時,鏡像硬碟則代替主硬碟的工作。因為有鏡像硬碟做資料備份,所以RAID 1的資料安全性在所有的RAID級別上來說是最好的。但無論用多少磁碟做RAID 1,僅算一個磁碟的容量,是所有RAID中磁碟利用率最低的一個級別。

(3)RAID 5

是一種儲存效能、資料安全和儲存成本兼顧的儲存解決方案。它使用的是Disk Striping(硬碟分割)技術。RAID 5至少需要三塊硬碟,RAID 5不是對儲存的資料進行備份,而是把資料和相對應的奇偶校驗資訊儲存到組成RAID5的各個磁碟上,並且奇偶校驗資訊和相對應的資料分別儲存於不同的磁碟上。當RAID5的一個磁碟資料發生損壞後,可以利用剩下的資料和相應的奇偶校驗資訊去取消復原被損壞的資料。RAID 5可以理解為是RAID 0和RAID 1的折衷方案。RAID 5可以為系統提供資料安全保障,但保障程度要比鏡像低而磁碟空間利用率要比鏡像高。RAID 5具有和RAID 0相近似的資料讀取速度,只是因為多了一個奇偶校驗資訊,寫入資料的速度相對單獨寫入一塊硬碟的速度略慢,若使用「回寫快取」可以讓效能改善不少。同時由於多個資料對應一個奇偶校驗資訊,RAID 5的磁碟空間利用率要比RAID 1高,儲存成本相對較便宜。

(4)RAID 6

與RAID 5相比,RAID 6增加第二個獨立的奇偶校驗資訊塊。兩個獨立的奇偶系統使用不同的演算法,資料的可靠性非常高,任意兩塊磁碟同時失效時不會影響資料完整性。RAID 6需要分配給奇偶校驗資訊更大的磁碟空間和額外的校驗計算,相對於RAID 5有更大的IO操作量和計算量

(5)RAID 10/01

RAID 10是先鏡射再分割資料,再將所有硬碟分為兩組,視為是RAID 0的最低組合,然後將這兩組各自視為RAID 1運作。 RAID 01則是跟RAID 10的程式相反,是先分割再將資料鏡射到兩組硬碟。它將所有的硬碟分為兩組,變成RAID 1的最低組合,而將兩組硬碟各自視為RAID 0運作。 當RAID 10有一個硬碟受損,其餘硬碟會繼續運作。RAID 01只要有一個硬碟受損,同組RAID 0的所有硬碟都會停止運作,只剩下其他組的硬碟運作,可靠性較低。

(6)RAID 50

RAID 5與RAID 0的組合,先作RAID 5,再作RAID 0,也就是對多組RAID 5彼此構成Stripe存取。

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

首先创建3个10G的分区
[root@localhost ~]# mdadm -C /dev/md0 -n 2 -l 1 -c 128 -a yes -x 1 /dev/sdb{5,6,7}
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device.  If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@localhost ~]# mdadm -D /dev/md0----查看RAID信息
/dev/md0:
    Version : 1.2
Creation Time : Thu Mar  2 05:53:06 2017
 Raid Level : raid1
 Array Size : 10482176 (10.00 GiB 10.73 GB)
 Used Dev Size : 10482176 (10.00 GiB 10.73 GB)
Raid Devices : 2
Total Devices : 3
Persistence : Superblock is persistent

Update Time : Thu Mar  2 05:56:13 2017
      State : clean 
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1

       Name : localhost.localdomain:0  (local to host localhost.localdomain)
       UUID : c42d1d57:b82097a3:26791324:f5a196c2
     Events : 17

Number   Major   Minor   RaidDevice State
   0       8       21        0      active sync   /dev/sdb5
   1       8       22        1      active sync   /dev/sdb6

   2       8       23        -      spare   /dev/sdb7

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

首先创建3个4G分区
[root@localhost ~]# mdadm -C /dev/md1 -n 3 -l 5 -c 256 -a yes /dev/sdc{1,2,3}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
[root@localhost ~]# mdadm -D /dev/md1
/dev/md1:
    Version : 1.2
Creation Time : Thu Mar  2 06:36:17 2017
 Raid Level : raid5
 Array Size : 8393728 (8.00 GiB 8.60 GB)
Used Dev Size : 4196864 (4.00 GiB 4.30 GB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent

Update Time : Thu Mar  2 06:37:04 2017
      State : clean 
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0

     Layout : left-symmetric
 Chunk Size : 256K

       Name : localhost.localdomain:1  (local to host localhost.localdomain)
       UUID : 624b89fc:12e746b4:8647a43e:a191ba69
     Events : 18

Number   Major   Minor   RaidDevice State
   0       8       33        0      active sync   /dev/sdc1
   1       8       34        1      active sync   /dev/sdc2
   3       8       35        2      active sync   /dev/sdc3
[root@localhost ~]# mke2fs -t ext4 /dev/md1
[root@localhost ~]# vim /etc/fstab
[root@localhost ~]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Mon Feb 27 19:57:39 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/VolGroup-lv_root /                       ext4    defaults        1 1
UUID=876d1797-6fc6-48e9-854d-e8d93fe7d615 /boot                   ext4    defaults        1 2
/dev/mapper/VolGroup-lv_home /home                   ext4    defaults        1 2
/dev/mapper/VolGroup-lv_swap swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/md1 /backup ext4 defaults,noatime,acl 0 0

7、写一个脚本

(1) 接受一个以上文件路径作为参数; (2) 显示每个文件拥有的行数; (3) 总结说明本次共为几个文件统计了其行数;

#!/bin/bash
#
declare -i sum=0

read -p "Please input one or more than one file path:" filename

#Confirm if it's not empty
if [[ -z "$filename" ]];then
        echo "Please ensure one or more than one file path"
        exit 2
fi

#Confirm if it's a normal file.If yes, count line and number of files
for i in $filename;do
        if ! [ -f $i ];then
                echo "Pleaae ensure input valid file path"
        else
                line=$(wc -l $i | cut -d' ' -f1)
                echo "$i total line $line"      
                let sum++
        fi
done

echo "Total $sum file"

8、写一个脚本

(1) 传递两个以上字符串当作用户名; (2) 创建这些用户;且密码同用户名; (3) 总结说明共创建了几个用户;

#!/bin/bash
#
declare -i sum=0

for i in $*;do
    if [ $# -lt 2 ];then
        echo "Please ensure two or more than two username"
        exit 1
    elif id $i &> /dev/null;then
        echo "The user already exist"
        exit 2 
    else
        useradd $i
        echo "$i" | passwd --stdin $i 
        let sum++
    fi
done

echo "Total add user $sum"

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

#!/bin/bash
#
declare -i idsum=0

for i in $(seq 1 20);do
        useradd visitor$i
        id=$(id -u visitor$i)
        idsum=$[$idsum+$id]
done

echo "vistor1-vistor20 idsum:$idsum"

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

(0)
N25_PierceN25_Pierce
上一篇 2017-03-06
下一篇 2017-03-06

相关推荐

  • ifconfig命令学习

    ifconfig命令 网络配置 ifconfig命令被用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。 语法 ifconfig(参数) 参数 add<地址>:设置网络设备IPv6的ip地址; del&lt…

    Linux干货 2017-07-02
  • iptables的一个小文档

    iptables:    iptables五表五链        felter表            INPUT   …

    Linux干货 2017-04-30
  • mysql—MHA原理与实现

    MHA 一:简述MHA 1.1关于MHA MHA(Master HA)是一款开源的MySQL的高可用程序,它为MySQL主从复制架构提供了automating master failover 功能。MHA在监控到master节点故障时,会提升其中拥有最新数据的slave节点成为新的master节点,在此期间,MHA会通过与其它从节点获取额外信息来避免一致性方…

    2016-11-27
  • Linux文件类型及颜色标识整理

    Linux文件类型及颜色标识整理 M21陆东贵 使用工具: ls命令     ls –l:以常格式显示文件及目录的详细信息     例如:-rw-r–r–  1 root root       0 10月 …

    Linux干货 2016-10-18
  • 一键搭建mysql集群系列二

    mysql 5.7  主从复制 本节是在上一节的基础之上做的操作,上节我们通过脚本实现了一键自动化安装mysql5.7,这次我们要在三台机器上部署msyql5.7,并实现主从复制,实现的宗旨是,能自动化,就尽量自动化,实在不能自动化,那就手工化 用的脚本和文件说明1.install_mysql.sh 自动化安装mysql脚本2.ntpdate.sh 时间同步…

    2017-05-21
  • N25-第4周作业(用户权限,grep用法)

    复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有访问权限.      [root@bogon ~]# chmod -R o=—,g=— /home/tuser1/ [root@bogon ~]# chmod -R o=,g= /home/tuser1/ 编辑/etc/…

    Linux干货 2016-12-26

评论列表(1条)

  • 马哥教育
    马哥教育 2017-03-15 00:58

    赞,raid这块建议用图示来说明会更好一点~~继续加油~