網絡班N22期第七周博客作業

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

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

    [root@bogon ~]# fdisk /dev/sde
    
    Command (m for help): p
    
    Disk /dev/sde: 21.5 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 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: 0xd606697d
    
       Device Boot      Start         End      Blocks   Id  System
    
    
    Command (m for help): n
    Command action
       e   extended
       p   primary partition (1-4)
    p
    Partition number (1-4): 1
    First cylinder (1-2610, default 1): 
    Using default value 1
    Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +10G
    Command (m for help): w
    
    [root@bogon ~]# mkfs.ext4 -b 2048 -m 2 -L 'MYDATA' /dev/sde1
    mke2fs 1.41.12 (17-May-2010)
    Filesystem label=MYDATA
    OS type: Linux
    Block size=2048 (log=1)
    Fragment size=2048 (log=1)
    Stride=0 blocks, Stripe width=0 blocks
    657408 inodes, 5245206 blocks
    104904 blocks (2.00%) reserved for the super user
    ....

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

    [root@bogon ~]# mkdir /data/mydata
    [root@bogon ~]# mount -o noauto,noatime /dev/sde1 /data/mydata/

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

    [root@bogon ~]# fdisk /dev/sde    

        Command (m for help): n    
        Command action
           e   extended
           p   primary partition (1-4)
        p
        Partition number (1-4): 2
        First cylinder (1307-2610, default 1307): 
        Using default value 1307
        Last cylinder, +cylinders or +size{K,M,G} (1307-2610, default 2610): +1G
        Command (m for help): t
        Partition number (1-4): 2
        Hex code (type L to list codes): 82
        Command (m for help): w
        [root@bogon ~]# mkswap /dev/sde2
        [root@bogon ~]# swapon /dev/sde2

3、寫一個腳本

   (1)、獲取并列出當前系統上的所有磁盤設備;

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

    

    #!/bin/bash
    #
    echo "All Device:"
    fdisk -l | grep -o "^Disk /dev/[sh]d[a-z]"
    echo
    echo "Disk usage:"
    df -h
    
        [root@bogon job]# ./disk.sh 
        All Device:
        Disk /dev/sda
        Disk /dev/sdb
        Disk /dev/sdc
        Disk /dev/sdd
        Disk /dev/sde
        
        Disk usage:
        Filesystem                     Size  Used Avail Use% Mounted on
        /dev/mapper/vg_centos-lv_root   37G  3.3G   32G  10% /
        /dev/sde1                      9.9G   77M  9.6G   1% /data/mydata
        tmpfs                          198M     0  198M   0% /dev/shm
        /dev/sdd1                     1004M   18M  936M   2% /backup

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

    RAID 0:條帶卷,strips; 把文件分成塊分散存放在磁盤上
          讀、寫性能提升
          可用空間:N*min(S1,S2...)
          有冗余能力
          最少盤數:2, 2+
     RAID 1:鏡像卷,morror
          讀性能提升、寫性能略有下降
          可用空間:1*min(S1,S2....)
          有冗余能力
          最少磁盤數:2, 2+
     RAID 5:
          讀、寫性能提升
          可用空間:(N-1)/n*min(S1,S2...)
          有容錯能力:允許壞1塊
          最少磁盤數:3, 3+
     RAID 6:
          讀、寫性能提升
          可用空間:(N-2)*min(S1,S2...)
          有容錯能力:允許壞2塊
          最少磁盤數:4,4+
     混合類型:
      RAID 10:
          讀、寫性能提升
          可用空間:N*min(S1,S2...)/2
          有容錯能力:每組鏡像最多只能壞一塊
          最少磁盤數:4,4+

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

        [root@bogon ~]#mdadm -C /dev/md0 -a yes -n 2 -x 1 -c 128 -l 1 /dev/sdf{1,2,3}

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

    Command (m for help): n
    Command action
       e   extended
       p   primary partition (1-4)
    p
    Partition number (1-4): 1
    Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +4G
    ....
    創建3個4G分區
    [root@bogon ~]# mdadm -C /dev/md1 -n 3 -c 256 -l 5 /dev/sde{1,2,3}
    [root@bogon ~]# mkfs.ext4 /dev/md1
    [root@bogon ~]# echo "/dev/md1  /backup  ext4   noatime,acl  0 0" &>> /etc/fstab

7、寫一個腳本

   (1) 接受一個以上文件路徑作為參數;

   (2) 顯示每個文件擁有的行數;

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

    #!/bin/bash
    #
    if [ $# -eq 0 ];then
        echo "At least a file path"
        exit 8
    fi    
    for i in $*;do
       if [ -e $i ];then
          echo "$i total lines : $(cat $i | wc -l)"
          echo "File total:$#"
       else
          echo "No such file"
       fi
    done
    [root@bogon job]# bash line.sh 
    At least a file path
    [root@bogon job]# bash line.sh /etc/passw
    No such file
    [root@bogon job]# bash line.sh /etc/passwd
    /etc/passwd total lines : 72
    File total:1
    [root@bogon job]# bash line.sh /etc/passwd /etc/fstab 
    /etc/passwd total lines : 72
    File total:2
    /etc/fstab total lines : 16
    File total:2

8、寫一個腳本

   (1) 傳遞兩個以上字符串當作用戶名;

   (2) 創建這些用戶;且密碼同用戶名;

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

    #!/bin/bash
    #
    if [ $# -lt 2 ];then
          echo "At least two users!"
          exit 8
    fi
    
    for i in $*;do
       if id $i &>> /dev/null;then
         echo "$i exist"
         continue
       else
         useradd $i
         echo $i | passwd --stdin $i &>> /dev/null
    fi
    done
    echo "Already create $# users!"
    [root@bogon job]# bash adduser.sh m n
    m exist
    n exist
    [root@bogon job]# bash adduser.sh m
    At least two users!
     [root@bogon job]# bash adduser.sh user100 user101
    Already create 2 users!

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

        #!/bin/bash
    #
    declare -i sum=0
    U=visitor
    for i in {1..20};do
        useradd $U$i
        uid=`id -u $U$i`
        let sum+=$uid
    done
    echo "User ID sum:$sum"
    [root@bogon job]# bash -x 20user.sh 
    + declare -i sum=0
    + U=visitor
    + for i in '{1..20}'
    + useradd visitor1
    ++ id -u visitor1
    + uid=5580
    + let sum+=5580
    + for i in '{1..20}'
    + useradd visitor2
    ++ id -u visitor2
    + uid=5581
    + let sum+=5581
    + for i in '{1..20}'
    + useradd visitor3
    ....
    User ID sum:111790

10、寫一腳本,分別統計/etc/rc.d/rc.sysinit、/etc/rc.d/init.d/functions和/etc/fstab文件中以#號開頭的行數之和,以及總的空白行數;

        #!/bin/bash
    #
    declare -i linesum=0
    declare -i spaceline=0
    for i in /etc/rc.d/rc.sysinit /etc/rc.d/init.d/functions /etc/fstab;do
            line=`cat $i | grep "^#" | wc -l`
            let linesum+=$line
    done
    echo "# Line sum is :$linesum"
    for i in /etc/rc.d/rc.sysinit /etc/rc.d/init.d/functions /etc/fstab;do
            space=`cat $i | grep "^$" | wc -l`
            let spaceline+=$space
    done
    echo "Space line sum is : $spaceline"    
    [root@bogon job]# bash etc.sh 
    # Line sum is :90
    Space line sum is : 169

11、寫一個腳本,顯示當前系統上所有默認shell為bash的用戶的用戶名、UID以及此類所有用戶的UID之和;

        #!/bin/bash
        #
        name=`cat /etc/passwd | grep "/bin/bash" | cut -d: -f1`
        echo -e "The default shell is bash user:\n$name"
        
        namesum=`cat /etc/passwd | grep "/bin/bash" | cut -d: -f1 | wc -l`
        echo "The default shell is bash user sum:$namesum"
        
        declare -i uidsum=0
        uid=`cat /etc/passwd | grep "/bin/bash" | cut -d: -f3`
        for i in $uid;do
            let uidsum+=$i
        done
        echo -e "The default shell is bash UID:\n$uid"
        echo "The default shell is bash UID sum:$uidsum"
        
        [root@bogon job]# bash usershell.sh 
    The default shell is bash user:
    root
    student
    12
    user12
    user11
    user13
    user15
    hello3
    hello2
    user7
    user8
    ....
    visitor18
    visitor19
    visitor20
    The default shell is bash user sum:70
    The default shell is bash UID:
    0
    500
    5002
    5003
    5004
    5005
    ....
    5598
    5599
    The default shell is bash UID sum:358806

12、寫一個腳本,顯示當前系統上所有,擁有附加組的用戶的用戶名;并說明共有多少個此類用戶;

        #!/bin/bash
        #
        declare -i gpnum=0
        echo "The have apendgroup user name is:"
        for i in `cat /etc/passwd | cut -d: -f1`;do
                num=`id -G $i | wc -w`
                   if [ $num -gt 1 ];then
                        echo "$i"
                        let gpnum+=1
                   fi
        done
        echo "The have apendgroup user sum is :$gpnum"
        [root@bogon job]# bash apendgroup.sh 
        The have apendgroup user name is:
        bin
        daemon
        adm
        postfix
        kourong
        slackware
        openstack
        The have apendgroup user sum is :7

13、創建一個由至少兩個物理卷組成的大小為20G的卷組;要求,PE大小為8M;而在卷組中創建一個大小為5G的邏輯卷mylv1,格式化為ext4文件系統,開機自動掛載至/users目錄,支持acl;

    [root@bogon ~]# pvcreate /dev/sde1
      Physical volume "/dev/sde1" successfully created
    [root@bogon ~]# pvcreate /dev/sde2
      Physical volume "/dev/sde2" successfully created
    [root@bogon ~]# vgcreate -s 8m MyVG /dev/sde{1,2}
      Volume group "MyVG" successfully created
    [root@bogon ~]# vgdisplay 
      --- Volume group ---
      VG Name               MyVG
      System ID             
      Format                lvm2
      Metadata Areas        2
      Metadata Sequence No  1
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                0
      Open LV               0
      Max PV                0
      Cur PV                2
      Act PV                2
      VG Size               19.98 GiB
      PE Size               8.00 MiB
      Total PE              2558
      Alloc PE / Size       0 / 0   
      Free  PE / Size       2558 / 19.98 GiB
      VG UUID               uZSpxW-fB22-y4vR-0c61-nrel-ofGu-b7MBMt
     [root@bogon ~]# lvcreate -L 5G -n mylv1 MyVG
        Logical volume "mylv1" created
     [root@bogon ~]# lvs
      LV      VG        Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert
      mylv1   MyVG      -wi-a-----  5.00g                                             
      lv_root vg_centos -wi-ao---- 37.57g                                             
      lv_swap vg_centos -wi-a-----  1.94g                                                 [root@bogon ~]# mkfs.ext4 /dev/MyVG/mylv1
     [root@bogon ~]# echo "/dev/MyVG/mylv1 /users  ext4  defaults,acl  0 0" >> /etc/fstab

      

14、新建用戶magedu;其家目錄為/users/magedu,而后su切換至此用戶,復制多個文件至家目錄;

    [root@bogon ~]# mkdir /users
    [root@bogon ~]# useradd -d /users/magedu magedu
    [root@bogon ~]# su - magedu
    [magedu@bogon ~]$ cp /etc/passwd .
    [magedu@bogon ~]$ cp /etc/fstab .
    [magedu@bogon ~]$ cp /etc/issue .
    [magedu@bogon ~]$ ls
    fstab  issue  passwd

15、擴展mylv1至9G,確保擴展完成后原有數據完全可用;

    [root@bogon ~]# lvextend -L 9G -n /dev/MyVG/mylv1
    [root@bogon ~]# df -h
    Filesystem                     Size  Used Avail Use% Mounted on
    /dev/mapper/vg_centos-lv_root   37G  3.3G   32G  10% /
    /dev/sde1                       37G  3.3G   32G  10% /data/mydata
    tmpfs                          198M     0  198M   0% /dev/shm
    /dev/sdd1                       37G  3.3G   32G  10% /backup
    /dev/mapper/MyVG-mylv1         5.0G  138M  4.6G   3% /users
    [root@bogon ~]# resize2fs /dev/MyVG/mylv1 
    [root@bogon ~]# df -h
    Filesystem                     Size  Used Avail Use% Mounted on
    /dev/mapper/vg_centos-lv_root   37G  3.3G   32G  10% /
    /dev/sde1                       37G  3.3G   32G  10% /data/mydata
    tmpfs                          198M     0  198M   0% /dev/shm
    /dev/sdd1                       37G  3.3G   32G  10% /backup
    /dev/mapper/MyVG-mylv1         8.9G  140M  8.3G   2% /users

16、縮減mylv1至7G,確??s減完成后原有數據完全可用;

        [root@bogon ~]# cp /etc/passwd /users/
    [root@bogon ~]# ls /users/
    lost+found  passwd
    [root@bogon ~]# umount /users/
    [root@bogon ~]# e2fsck -f /dev/MyVG/mylv1
    [root@bogon ~]# resize2fs /dev/MyVG/mylv1 7G
    [root@bogon ~]# lvreduce -L 7G /dev/MyVG/mylv1
    [root@bogon ~]# mount /dev/MyVG/mylv1 /users/
    [root@bogon ~]# ls /users/
    lost+found  passwd

17、對mylv1創建快照,并通過備份數據;要求保留原有的屬主屬組等信息;

        [root@bogon ~]# lvcreate -L 5G -p r -s -n mylv1_snapshot /dev/MyVG/mylv1     
          Logical volume "mylv1_snapshot" created

原創文章,作者:凸b男波萬,如若轉載,請注明出處:http://www.www58058.com/51218

(0)
凸b男波萬凸b男波萬
上一篇 2016-10-17 08:36
下一篇 2016-10-17 08:36

相關推薦

  • 用PHP編寫Hadoop的MapReduce程序

    Hadoop流 雖然Hadoop是用java寫的,但是Hadoop提供了Hadoop流,Hadoop流提供一個API, 允許用戶使用任何語言編寫map函數和reduce函數.Hadoop流動關鍵是,它使用UNIX標準流作為程序與Hadoop之間的接口。因此,任何程序只要可以從標準輸入流中讀取數據,并且可以把數據寫入標準輸出流中,那么就可以通過Hadoop流使…

    Linux干貨 2015-04-13
  • Acheng學習宣言

    我是Acheng,我參加了馬哥Linux運維網絡班,從2016年9月開始我將跟隨馬哥學習Linux技術。我的學習宣言是:再努力也不為過!朝著活學活用,做到做精的方向努力吧! 

    Linux干貨 2016-10-25
  • 由摩根定律引發的思考

    在Linux中,我們常常需要對一些條件進行判斷,而對于多個條件的組合判斷是基于摩根定律而進行的。所以理解摩根定律對于我們學習條件判斷是很有必要的,下面我們就先介紹摩根定律進而引出其在一些具體場景上的應用。   一、摩根定律 在Linux中的條件判斷中,摩根定律可以以下式來表示: !( A || B )=!A && !B !( A &…

    Linux干貨 2016-08-16
  • LNMP WordPress 配置文件修改參考 安裝LNMP + 搭建WordPress個人博客的補充

    對小黑的  http://www.www58058.com/17222 的一些補充,因為他嘿嘿嘿我嘿嘿嘿嘿….. 實際使用中必須對一下文件作出修改 建議值為以下建議值 要不然實際使用過程中問題很大 nginx.conf    優化和上傳的限制 worker_processes  8; &…

    Linux干貨 2016-06-01
  • 簡述linux文件系統的層次結構

       盡管LINUX有諸多的發行版,但是所有的版本都遵從同樣的文件目錄層次結構,即FHS(Filesystem Hierarchy Standard)。有了這個統一的標準,我們在使用不同版本的LINUX時就不會由于版本的不同而找不到相關系統文件的位置,了解FHS有助于我們更好的掌握LINUX的基礎構架和文件系統管理。   &nb…

    Linux干貨 2015-12-19
  • LINUX-用戶和組管理

    LINUX用戶和組管理 linux用戶分類:Username/UID      管理員:root,UID 0號,擁有最高權限;負責系統的啟功、停止,安裝新軟件,               增加、刪除用戶,保證系統正常運轉;     &nb…

    2017-05-30

評論列表(2條)

  • 馬哥教育
    馬哥教育 2016-10-25 13:35

    第一個問題解答的并不嚴謹,其它不錯,加油

    • 凸b男波萬
      凸b男波萬 2016-10-25 13:40

      @馬哥教育嗯,我再看看第一個問題,上次博客作業計劃任務那個問題我后面知道了!不知道怎么回復您

欧美性久久久久