第七周博客作业

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

相关推荐

  • 98-mysql数据备份

    一. 数据备份基础知识

    2016-11-20
  • 推荐-BtrFS学习总结

    一、原理介绍1.可扩展性2.数据一致性的相关特性3.多设备管理及快照二、命令介绍与实战1.命令介绍2.命令实战1)环境准备,添加3块磁盘/dev/sd{b,c,d}如下:2)创建btrfs文件系统3)查看已创建的btrfs文件系统4)挂载btrfs文件系统,启用压缩功能5)在线调整文件系统大小6)往当前btrfs文件系统添加设备,以达到在线扩容扩容目的7)执…

    Linux干货 2016-06-03
  • 马哥教育网络班21期-第五周课程练习

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; # grep -E "^[[::space]]\+.*" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;…

    Linux干货 2016-08-08
  • 开篇

    test 新人报道

    Linux干货 2016-10-28
  • 第二天作业

    一、Linux 文件管理类命令   cd、pwd、mkdir、rmdir、ls、cp、rm、mv、cat、tac、more、less、head、tail、touch     1、目录类相关命令     cd:change directory 切换目录     pwd:print …

    Linux干货 2016-08-22
  • 对防火墙的初步认识

      防火墙,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种。无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘。而我们的任务就是需要去定义到底防火墙如何工作,这就是防火墙的策略,规则,以达到让它对出入网络的IP、数据进行检测。    目前市面上比较常见的有3、4层的防火墙,叫网络层的防火墙,还有7…

    Linux干货 2017-06-15

评论列表(1条)

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

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