N25-第七周

1、創建一個10G分區,并格式為ext4文件系統;

(1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;

    [root@localhost ~]# fdisk -l

        Disk /dev/sda: 42.9 GB, 42949672960 bytes
        255 heads, 63 sectors/track, 5221 cylinders
        Units = cylinders of 16065 * 512 = 8225280 bytes
        Sector size (logical/physical): 512 bytes / 512 bytes
        I/O size (minimum/optimal): 512 bytes / 512 bytes
        Disk identifier: 0x000424e9

           Device Boot      Start         End      Blocks   Id  System
        /dev/sda1   *           1          26      204800   83  Linux
        Partition 1 does not end on cylinder boundary.
        /dev/sda2              26        4961    39640064   83  Linux
        /dev/sda3            4961        5222     2097152   82  Linux swap / Solaris

        Disk /dev/sdb (Sun disk label): 255 heads, 63 sectors, 2610 cylinders
        Units = cylinders of 16065 * 512 bytes

           Device Flag    Start       End    Blocks   Id  System
        [root@localhost ~]# fdisk /dev/sdb

        Command (m for help): n
        Partition number (1-8): 1
        First cylinder (0-2610): 0
        Last cylinder or +size or +sizeM or +sizeK (0-2610, default 2610): +10000M     

        Command (m for help): w
        The partition table has been altered!

        Calling ioctl() to re-read partition table.
        Syncing disks.
        [root@localhost ~]# mke2fs -t ext4 -b 2048 -m 2 -L MYDATA /dev/sda5

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

    [root@localhost ~]# mkdir -p /data/mydata
        [root@localhost ~]# mount -o  noexec,noatime /dev/sdb1 /data/mydata

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

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

   8        0   41943040 sda
   8        1     512000 sda1
   8        2   41430016 sda2
   8       16   20971520 sdb
   8       17    1060258 sdb1
 253        0   37330944 dm-0
 253        1    4096000 dm-1
[root@test /]# swapon /dev/sdb1
[root@test /]# swapon -s
Filename                Type        Size    Used    Priority
/dev/dm-1                               partition    4095996    0    -1
/dev/sdb1                               partition    1060252    0    -2

3、寫一個腳本
(1)、獲取并列出當前系統上的所有磁盤設備;
(2)、顯示每個磁盤設備上每個分區相關的空間使用信息;

#!/bin/bash
#顯示當前系統信息

 echo 磁盤設備:
 fdisk -l | grep “^Disk /dev/sd[a-z]” | awk -F [:” “] ‘{print $2}’

echo 磁盤分區使用狀況:
df

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

    RAID(Redundant Array of Independent Disk 獨立冗余磁盤陣列)技術是加州大學伯克利分校1987年提出,最初是為了組合小的廉價磁盤來代替大的昂貴磁盤,
   同時希望磁盤失效時不會使對數據的訪問受損 失而開發出一定水平的數據保護技術。RAID就是一種由多塊廉價磁盤構成的冗余陣列,在操作系統下是作為一個
   獨立的大型存儲設備出現。RAID可以充分發 揮出多塊硬盤的優勢,可以提升硬盤速度,增大容量,提供容錯功能夠確保數據安全性,易于管理的優點,在任何
   一塊硬盤出現問題的情況下都可以繼續工作,不會受到損壞硬盤的影響.    

    RAID-0:swap temp適用.
        讀寫提升
        可用:N*min(s1,s2)

    RAID-1:
        讀性能提升,寫性能略有下降;
        可用空間:1*min(s1,s2…)


    RAID-5:
        讀寫性能提升
        可用空間 (n-1)*min(s1,s2…)
        有容錯能力 1塊磁盤
        最少磁盤數 3 ,3+

    RAID-6:
        讀寫性能提升
        可用空間 (n-2)*min(s1,s2…)
        有容錯能力 2塊磁盤
        最少磁盤數 4 ,4+

    混合類型:            
    raid10
        先做鏡像(1),再做條帶(0)
        讀寫性能提升
        可用空間 (n)*min(s1,s2…)/2
        有容錯能力 每組鏡像最多一個
        最少磁盤數 4 ,4+
    raid01
        先做條帶(0),再做鏡像(1)
        讀寫性能提升
        可用空間 (n)*min(s1,s2…)/2
        有容錯能力 每組鏡像最多一個
        最少磁盤數 4 ,4+
    RAID01和RAID10非常相似,二者在讀寫性能上沒有什么差別。但是在安全性上RAID10要好于RAID01.

    RAID 50
        RAID50是RAID5與RAID0的結合。此配置在RAID5的子磁盤組的每個磁盤上進行包括奇偶信息在內的數據的剝離。
        每個RAID5子磁盤組要求三個硬盤。RAID50具備更高的容錯能力,因為它允許某個組內有一個磁盤出現故障,而不會造成數據丟失。
        而且因為奇偶位分部于RAID5子磁盤組上,故重建速度有很大提高。優勢:更高的容錯能力,具備更快數據讀取速率的潛力。
        需要注意的是:磁盤故障會影響吞吐量。故障后重建信息的時間比鏡像配置情況下要長。

    JBOD:Just a bunch of disks
        功能:將多塊磁盤的空間合成一個大的連續空間使用
        可用空間 sum(s1,s2…)

    常用級別 raid0 raid1 raid5 raid10 raid50 Jbod

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

   [root@test ~]# fdisk /dev/sdb
    [root@test ~]# fdisk /dev/sdc
    [root@test ~]# fdisk /dev/sdd
    創建10G分區,分別為sdb1,sdc1,sdd1更改分區類型為Linux raid autodetect
    [root@test ~]# mdadm -C /dev/md0 -n 2 -x 1 -l 1 -a yes -c 128K /dev/sd{b,c,d}1
    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@test ~]# cat /proc/mdstat
    Personalities : [raid1]
    md0 : active raid1 sdd1[2](S) sdc1[1] sdb1[0]
          10474176 blocks super 1.2 [2/2] [UU]

    unused devices: <none>

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

   [root@test ~]# fdisk /dev/sdb
    [root@test ~]# fdisk /dev/sdc
    [root@test ~]# fdisk /dev/sdd
    創建2G分區,分別為sdb1,sdc1,sdd1更改分區類型為Linux raid autodetect
    [root@test ~]# fdisk -l |grep sd
    Disk /dev/sda: 42.9 GB, 42949672960 bytes
    /dev/sda1   *           1          64      512000   83  Linux
    /dev/sda2              64        5222    41430016   8e  Linux LVM
    Disk /dev/sdb: 10.7 GB, 10737418240 bytes
    /dev/sdb1               1         262     2104483+  fd  Linux raid autodetect
    Disk /dev/sdc: 10.7 GB, 10737418240 bytes
    /dev/sdc1               1         262     2104483+  fd  Linux raid autodetect
    Disk /dev/sdd: 10.7 GB, 10737418240 bytes
    /dev/sdd1               1         262     2104483+  fd  Linux raid autodetect
    [root@test ~]# mdadm -C /dev/md1 -a yes -l 5 -c 256 -n 3 /dev/sd{b,c,d}1
    mdadm: /dev/sdb1 appears to be part of a raid array:
           level=raid1 devices=2 ctime=Thu Mar  9 08:58:23 2017
    mdadm: /dev/sdc1 appears to be part of a raid array:
           level=raid1 devices=2 ctime=Thu Mar  9 08:58:23 2017
    mdadm: /dev/sdd1 appears to be part of a raid array:
           level=raid1 devices=2 ctime=Thu Mar  9 08:58:23 2017
    Continue creating array? y
    mdadm: Defaulting to version 1.2 metadata
    mdadm: array /dev/md1 started.
    [root@test ~]# cat /proc/mdstat
    Personalities : [raid1] [raid6] [raid5] [raid4]
    md1 : active raid5 sdd1[3] sdc1[1] sdb1[0]
          4204544 blocks super 1.2 level 5, 256k chunk, algorithm 2 [3/3] [UUU]

    unused devices: <none>
    [root@test /]# mke2fs -t ext /dev/md1
    [root@test /]# vim /etc/fstab
    添加
    /dev/md1                /backup                  ext4 defaults,acl,noatime 0 0
    [root@test /]# mount -a
    [root@test /]# cd /backup
    [root@test backup]# ls
    lost+found

7、寫一個腳本
(1) 接受一個以上文件路徑作為參數;
(2) 顯示每個文件擁有的行數;
(3) 總結說明本次共為幾個文件統計了其行數;

   #!/bin/bash

    echo “File:$@”
        for file in $@;do
        lines=$(wc -l $file | cut -d’ ‘ -f1)
        echo “$file has $lines line(s).”
    done
    echo “Total files:$#”

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

#!/bin/bash

    for user in $@;do
        if id $user &> /dev/null;then
        echo “$user exists”
        else
        useradd $user
        if [ $? -eq 0 ];then
        echo $user | passwd –stdin $user &> /dev/null
            echo “Add $user finished”
              fi
             fi
     done

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

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

    for i in {1..20};do

        if ! id visitor$i &> /dev/null;then
            useradd visitor$i
        fi
        ID=$(id -u visitor$i)
        sum=$[$sum+$ID]
            done
    echo $sum

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

(0)
lyj821202lyj821202
上一篇 2017-05-20 22:01
下一篇 2017-05-21 11:46

相關推薦

  • Linux基本命令

    前言 今天學習了Linux下的一些基本命令,在此歸納總結一下這些命令的基本用法。 Linux命令幫助的獲取     在拿到一個命令后不知道其用法,我們可以通過命令幫助來查看它的用法,但linux下內部命令和外部命令獲取幫助的方法是有差別的。     內部命令:help command &n…

    Linux干貨 2016-10-14
  • 第三周課堂練習

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@myserver ~]# whoami  root  [root@myserver ~]# who | cut -d' ' -…

    Linux干貨 2016-09-19
  • 推薦-btrfs文件系統介紹及操作

    btrfs文件系統支持寫時復制功能,對備份很有幫助。在單個硬盤時,btrfs是沒有意義的。     核心特性:         多物理卷支持:btrfs可由多個底層物理卷組成;支持RAID,以聯機“添加”、“移除”,“修改”;       …

    Linux干貨 2016-06-01
  • 有關腳本的一些使用及其注意事項

    1,shell 腳本 格式要求:首行shebang機制                  #!/bin/bash       &n…

    2017-08-05
  • vim基本總結

    ASCII可以將計算機存儲的0或1轉成我們認識的文字。在Linux中,絕大部分的配置文件都是以ASCII的純文本形態存在。通過文本編輯器,可以實現對這些文本文件的更改。常風的文本編輯器有emacs, pico,nano,joe與vi(vim是vi的升級版)等。那么為會么要學vi呢? l 因為vi是內置編輯器,系統安裝好就有了 l 很多軟件…

    2017-08-05
  • 馬哥教育網絡班21期-第三周課程練習

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 who|cut -d" " -f1|uniq -c|awk '{print $2}' 2、取出最后登錄到當前系統的用戶的相關信息。 last |awk 'NR==1{print $0}' last |sed -n &…

    Linux干貨 2016-07-29

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-06-20 11:27

    如果腳本在多加一些判斷條件的話會更好

欧美性久久久久