N25第7周作業

1、創建一個10G分區,并格式為ext4文件系統;
   (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;

   (2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳;

]# fdisk /dev/sdb #劃出一個大小為10G的分區
]# partx -a /dev/sdb
]# mke2fs -t ext4 -b 2048 -L MYDATA -m 2 /dev/sdb3 #格式化分區
]# tune2fs -o acl /dev/sdb3   #添加acl特性
]# mount -o noatime,noauto /dev/sdb3 /mnt

2、創建一個大小為1G的swap分區,并創建好文件系統,并啟用之;

]# fdisk /dev/sdb
Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 82
Changed system type of partition 2 to 82 (Linux swap / Solaris)
##修改創建的分區類型 改為swap

]# mkswap /dev/sdb2
]# swapon /dev/sdb2

3、寫一個腳本
   (1)、獲取并列出當前系統上的所有磁盤設備;

   (2)、顯示每個磁盤設備上每個分區相關的空間使用信息;

#!/bin/bash
#
declare -a disk_dev
disk_dev=$(ls /dev/[sh]d* | grep -o '/dev/sd[[:alpha:]]\>')
echo -en "系統包含磁盤:\n${disk_dev[@]}\n"
echo
echo -en "系統磁盤分區使用情況如下:\n"
fdisk -l $(ls /dev/[sh]d[a-z][0-9])

4、總結RAID的各個級別及其組合方式和性能的不同;

RAID:
old Redundant Arrays of Inexpensive Disks (廉價磁盤冗余陣列)
new Redundant Arrays of Independent Disks (獨立磁盤冗余陣列)
Berkeley: A case for Redundent Arrays of Inexpensive Disks RAID

功能:

提高IO能力:磁盤并行讀寫;
提高耐用性:磁盤冗余來實現。但是raid不能取代數據備份,raid只是減少磁盤對于數據
的影響。人為操作數據無法恢復。
級別:多塊磁盤組織在一起的工作方式有所不同;

RAID實現的方式:

外接式磁盤陣列:通過擴展卡提供適配能力
內接式RAID:主板集成RAID控制器
Software RAID:
級別:level
RAID-0:0, 條帶卷,strip;
RAID-1: 1, 鏡像卷,mirror;
RAID-2
..
RAID-5:
RAID-6
RAID10
RAID01
RAID-0:
讀、寫性能提升;
可用空間:Nmin(S1,S2,…)(所有磁盤中的最小值,下同)
無容錯能力最少磁盤數:2, 2+
RAID-1:
讀性能提升、寫性能略有下降;
可用空間:1
min(S1,S2,…)
有冗余能力
最少磁盤數:2, 2+
RAID-4:
1101, 0110, 1011 (對應位做亦或計算,相同得0,相反得1) 第三塊做校驗盤。 如果
一塊壞了,那就是降級進行使用。缺陷:單塊盤做檢驗盤,該盤壓力過大,是性能瓶
頸。
改進方案:使用一塊盤做空閑盤,熱備
RAID-5:
讀、寫性能提升。
可用空間:(N-1)min(S1,S2,…)
有容錯能力:1塊磁盤
最少磁盤數:3, 3+,
原理同raid4,也可有熱備盤,與raid4區別,三塊盤輪流做檢驗盤,有左對稱和右對稱
方案;
多塊盤做亦或運算,結果存放到校驗盤,X1亦或X2亦或X3亦或X4
RAID-6:
讀、寫性能提升
可用空間:(N-2)
min(S1,S2,…)
有容錯能力:2塊磁盤 循環校驗
最少磁盤數:4, 4+
RAID-10:
讀、寫性能提升
可用空間:N*min(S1,S2,…)/2
有容錯能力:每組鏡像最多只能壞一塊;
最少磁盤數:4, 4+
RAID-01: 先做raid0,在做raid1,容錯性沒有raid10好。
RAID-50,先做raid5再做raid0,最小磁盤數和raid5劃分有關。RAID7:商業公司自己開發的,性能不錯價格昂貴
JBOD:Just a Bunch Of Disks
功能:將多塊磁盤的空間合并一個大的連續空間使用,可以存放大型單個文件。可用空
間:sum(S1,S2,…)
常用級別:RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD
選擇Raid級別:RAID 012345 到底哪一種適合你,不只是成本問題,容錯功能和傳輸
性能的考慮以及未來之可擴充性都應該符合應用的需求

5、創建一個大小為10G的RAID1,要求有一個空閑盤,而且CHUNK大小為128k;

]# ls /dev/sdc   ##查看新增磁盤
/dev/sdc
]# fdisk -l /dev/sdc   ##新建三個分區,大小分別為10G,注意格式要改成軟raid格式fd。
]# partx /dev/sdc    ##可以查看出分區情況
# 1:        63- 20980889 ( 20980827 sectors,  10742 MB)
# 2:  20980890- 41961779 ( 20980890 sectors,  10742 MB)
# 3:  41961780- 62942669 ( 20980890 sectors,  10742 MB)
# 4:         0-       -1 (        0 sectors,      0 MB)
]# mdadm -C /dev/md0 -n 2 -l 1 -c 128 -x 1 -a yes /dev/sdc1 /dev/sdc2 /dev/sdc3  ##使用兩塊盤做raid1,一塊空閑盤,chunk大小為128k,自動創建raid目標設備設備文件。
mdadm: /dev/sdc1 appears to be part of a raid array:
       level=raid1 devices=2 ctime=Fri Jan 27 15:41:41 2017
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
mdadm: /dev/sdc2 appears to be part of a raid array:
       level=raid1 devices=2 ctime=Fri Jan 27 15:41:41 2017
mdadm: /dev/sdc3 appears to be part of a raid array:
       level=raid1 devices=2 ctime=Fri Jan 27 15:41:41 2017
Continue creating array? yes
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
]# cat /proc/partitions 
major minor  #blocks  name

   8        0   20971520 sda
   8        1     512000 sda1
   8        2   10240000 sda2
   8        3    1048576 sda3
   8        4          1 sda4
   8        5    1048576 sda5
   8        6    8119296 sda6
   8       16   20971520 sdb
   8       17     208813 sdb1
   8       32   36700160 sdc
   8       33   10490413 sdc1
   8       34   10490445 sdc2
   8       35   10490445 sdc3
   9        0   10482176 md0
]# mdadm -D /dev/md0   ##可以查看出md設備的使用情況
/dev/md0:
        Version : 1.2
  Creation Time : Fri Jan 27 15:48:28 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 : Fri Jan 27 15:49:20 2017
          State : active 
 Active Devices : 2
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 1

           Name : localhost.localdomain:0  (local to host localhost.localdomain)
           UUID : 05a71baf:68ed7707:18ae7601:b29751e5
         Events : 18

    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       8       34        1      active sync   /dev/sdc2

       2       8       35        -      spare   /dev/sdc3

6、創建一個大小為4G的RAID5設備,chunk大小為256k,格式化ext4文件系統,要求可開機自動掛載至/backup目錄,而且不更新訪問時間戳,且支持acl功能;

]# fdisk /dev/sdc  ##對空閑盤進行分區
]# partx /dev/sdc  ##查看分區使用情況
# 1:        63-  8401994 (  8401932 sectors,   4301 MB)
# 2:   8401995- 16803989 (  8401995 sectors,   4301 MB)
# 3:  16803990- 25205984 (  8401995 sectors,   4301 MB)
# 4:         0-       -1 (        0 sectors,      0 MB)
]# mdadm -C /dev/md0 -n 3 -l 5 -c 256 -a yes /dev/sdc1 /dev/sdc2 /dev/sdc3  ##創建raid5陣列
]# mdadm -D /dev/md0          ##查看raid創建情況
/dev/md0:
        Version : 1.2
  Creation Time : Fri Jan 27 16:02:56 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 : Fri Jan 27 16:05:09 2017
          State : clean, degraded, recovering 
 Active Devices : 2
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 256K

 Rebuild Status : 99% complete                       ##顯示raid創建進度

           Name : localhost.localdomain:0  (local to host localhost.localdomain)
           UUID : cb8d986d:1968c003:bd0579de:60ae32fc
         Events : 20

    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      spare rebuilding   /dev/sdc3
]# mke2fs -t ext4 /dev/md0    ##格式化分區
]# tune2fs -o acl /dev/md0     ##開啟acl
]# vim /etc/fstab  ##編輯fstab文件
/dev/md0 /backup ext4 defaults,noatime 0 0  ##加入改行




7、寫一個腳本
   (1) 接受一個以上文件路徑作為參數;
   (2) 顯示每個文件擁有的行數;

   (3) 總結說明本次共為幾個文件統計了其行數;

#!/bin/bash
declare -i num
num=0
if [ $# -lt 1 ];then
        echo -en "請至少輸入一個文件!\n"
        exit 1
else
        for i in $(seq 1 $#);do
                if [ ! -f $1 ];then
                        echo -en "$1 不是文件!\n"
                        shift
                        continue
                fi
                wc -l $1
                let num++
                shift
        done
fi

8、寫一個腳本
   (1) 傳遞兩個以上字符串當作用戶名;
   (2) 創建這些用戶;且密碼同用戶名;

   (3) 總結說明共創建了幾個用戶;

#!/bin/bash
declare -i sum
sum=0
if [ $# -lt 2 ];then
        echo -en "請至少輸入兩個以上字符串!\n"
        exit 1
fi
for i in $(seq 1 $#);do
        if [[ $1 =~ [[:alnum:]] ]];then
                id $1 &> /dev/null && echo -en "該用戶${1}已經存在!\n" && shift && continue
                useradd $1 &> /dev/null && echo $1 |passwd --stdin $1 &> /dev/null && let sum++
                shift
        else
                echo -en "該用戶名不符合規定!\n"
                shift
        fi
done
echo -en "總共創建了${sum}個用戶。\n"

9、寫一個腳本,新建20個用戶,visitor1-visitor20;計算他們的ID之和;

#!/bin/bash
sum=0
userid=0
for ((i=1;i<=20;i++));do
        useradd visitor${i} &> /dev/null
        userid=$(id -u visitor$i)
        let sum+=$userid
done
echo -en "用戶id之和為:${sum}。\n"

原創文章,作者:N25_Nva,如若轉載,請注明出處:http://www.www58058.com/69503

(0)
N25_NvaN25_Nva
上一篇 2017-02-21 15:08
下一篇 2017-02-21 23:51

相關推薦

  • 程序包管理及定時任務

    程序包管理及定時任務

    Linux干貨 2018-01-01
  • linux基礎練習

    馬哥教育23期網絡班+第6周課堂練習 Linux 基礎練習 一、linux基礎練習題 1、復制/etc/rc.d/rc.sysinit 文件至/tmp 目錄,將/tmp/rc.sysinit 文件中的以至少一個空白字符開頭的行的行首加#; 2、復制/boot/grub/grub.conf 至/tmp目錄中 刪除/tmp/grub.conf 文件中的行首的空白…

    Linux干貨 2016-11-01
  • linux開機啟動流程

    linux開機啟動流程:   一、BIOS 加電自檢 當你按電源開關開機時,電腦會首先去啟動BIOS(基本輸入輸出系統),BIOS一般是集成在主板上的. BIOS 的工作 1.檢測連接硬件,比如顯卡,內存,磁盤等等,檢測的目的是以后把這些設備信息提供給操作系統 2.尋找啟動磁盤,每一種BIOS都會有開機啟動菜…

    Linux干貨 2016-09-14
  • 馬哥教育網絡21期+第三周作業博客

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@localhost ~]# who | cut -d' ' -f1 | sort -u 2、取出最后登錄到當前系統的用戶的相關信息。 [ro…

    Linux干貨 2016-08-01
  • SSH——安全的通信

    SSH ·ssh:secure shell, protocol, 22/tcp,  安全的遠程登錄 ·OpenSSH:ssh協議的開源實現 ·dropbear:另一個開源實現 ·SSH協議版本:          v1:基于CRC-32做MAC,不安全;man-in-m…

    Linux干貨 2016-09-25
  • bash

    1.  bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示           狀態返回值:            &nbsp…

    Linux干貨 2016-11-06

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-03-30 14:05

    再接再勵。

欧美性久久久久