N25期第七周作業

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

     

    1. 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl
    2. 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳
fdisk /dev/sdb  # size 10G type 83
mke2fs -t ext4 -b 2048 -m 2 -L MYDATA /dev/sdb1   
tune2fs -o acl /dev/sdb1
mount -L MYDATA /data/mydata -o noexec,noatime
  1. 創建一個大小為1G的swap分區,并創建好文件系統,并啟用之
fdisk /dev/sdb # size 1G type 82
mkswap /dev/sdb1
swapon /dev/sdb1
  1. 寫一個腳本

     

    1. 獲取并列出當前系統上的所有磁盤設備
    2. 顯示每個磁盤設備上每個分區相關的空間使用信息
fdisk -l |grep "^Disk /dev[sh]d*" 
df -h
  1. 總結RAID的各個級別及其組合方式和性能的不同

RAID:Redundant Arrays of Inexpensive Disks

RAID級別:RAID0,RAID1,RAID5,RAID10,RAID01,RAID6,RAID50,RAID60
RAID-0
  • 條帶卷
  • 至少需要兩塊磁盤并行處理,將數據分兩部分讀寫
  • 讀寫性能提高,raid中性能最高
  • 無容錯性
  • 可用空間:N*min(s1,s2,…)
RAID-1
  • 鏡像卷
  • 至少需要兩塊磁盤,兩塊磁盤存儲相同數據,用于備份
  • 讀寫性能相當于一塊獨立磁盤,無提升
  • 容錯性高,raid中容錯性最高
  • 可用空間1*min(s1,s2,…)
RAID-4
  • 至少三塊磁盤
  • 兩塊磁盤做數據存儲,第三塊用作獨立存儲數據校驗碼
  • 讀寫性能提高
  • 有容錯性為一塊磁盤
RAID-5
  • 至少三塊磁盤
  • 三塊磁盤存儲數據及校驗碼,校驗碼分別存儲在三個磁盤上
  • 讀寫性能提高
  • 有容錯性為一塊磁盤
  • 可用空間:(N-1)*min(s1,s2,…)
RAID-6
  • 至少四塊磁盤
  • 增加第二個獨立的奇偶校驗信息塊,分別以不同算法計算
  • 有容錯性為兩塊磁盤
  • 可用空間:(N-2)*min(s1,s2,…)
RAID-10
  • 至少四塊磁盤
  • 兩兩磁盤分別做raid1,再將兩raid1陣列做raid0
  • 讀寫性能提高
  • 有容錯性為兩塊,不同raid1中最多損失一塊
  • 可用空間:N*min(s1,s2,…)/2
RAID-50
  • 至少六塊磁盤
  • 三三磁盤分別做raid5,再將兩raid5陣列做raid0
  • 讀寫能力提高
  • 有容錯性為兩塊磁盤,不同raid5中做多損失一塊磁盤
RAID-60
  • 至少八塊磁盤
  • 四四磁盤分別做raid6,再將兩raid6陣列做raid0
  • 讀寫能力提高
  • 有容錯性為四塊磁盤,不同raid6中最多損壞兩塊磁盤
  1. 創建一個大小為10G的RAID1,要求有一個空閑盤,而且CHUNK大小為128k
fdisk /dev/sdb    # 分區大小10G,類型fd
fdisk /dev/sdc    # 分區大小10G,類型fd
fdisk /dev/sdd    # 分區大小10G,類型fd
mdadm -C /dev/md1 -n 3 -x 1 -c 128 -l 1 /dev/sdb5 /dev/sdc5 /dev/sdd5
mdadm -D /dev/md1
  1. 創建一個大小為4G的RAID5設備,chunk大小為256k,格式化ext4文件系統,要求可開機自動掛載至/backup目錄,而且不更新訪問時間戳,且支持acl功能
mdadm -C /dev/md1 -c 256 -n 3 -l 5 /dev/sdb5 /dev/sdc5 /dev/sdd5 
mkfs -t ext4 /dev/md1
mkdir /backup
vim /etc/fstab
更新為    /backup    /dev/md1    ext4    noatime,acl   0  0
  1. 寫一個腳本

     

    1. 接受一個以上文件路徑作為參數
    2. 顯示每個文件擁有的行數
    3. 總結說明本次共為幾個文件統計了其行數
#!/bin/bash
sum=0
if [ $# -le 0 ];then
    echo "please input a directory"
else
    for i in "$@";do
        if [ -e $i ];then
            line=`wc -l $i|cut -d' ' -f1`
            echo "$i has $line lines"
            sum=$(($sum+1))
        else
            echo "no such $i file"
        fi
    done
    echo "The total count file is $sum"
fi
  1. 寫一個腳本

     

    1. 傳遞兩個以上字符串當作用戶名
    2. 創建這些用戶;且密碼同用戶名
    3. 總結說明共創建了幾個用戶
#!/bin/bash
sum=0
for i in $*;do
    useradd $i
    echo $i|passwd --stdin $i
    sum=$(($sum+1))
done
echo "total created users is $sum"
  1. 寫一個腳本,新建20個用戶,visitor1-visitor20;計算他們的ID之和
#!/bin/bash
sum=0
for i in `seq 1 20`;do
    useradd visitor${i}
    id_number=`id -u visitor${i}`
    sum=$(($sum+$id_number))
done
echo $sum
  1. 寫一腳本,分別統計/etc/rc.d/rc.sysinit、/etc/rc.d/init.d/functions和/etc/fstab文件中以#號開頭的行數之和,以及總的空白行數
#!/bin/bash
line_total=0
blank_total=0
for file in `echo /etc/{fstab,rc.d/rc.sysinit,rc.d/init.d/functions}`;do
    line_count=$(grep "^#" $file|wc -l) 
    blank_count=$(grep "^$" $file|wc -l)
    line_total=$[line_total+line_count]
    blank_total=$[blank_total+blank_count]
echo "total # lines is ${line_total},total blank lines is ${blank_total}"
  1. 寫一個腳本,顯示當前系統上所有默認shell為bash的用戶的用戶名、UID以及此類所有用戶的UID之和
#!/bin/bash
sum=0
for name in `grep "bash$" /etc/passwd |cut -d: -f1`;do
    UiD=`id -u ${name}`
    echo "username is ${name},userid is ${UiD}"
    sum=$((${sum}+$UiD))
done
echo "total user id sum is ${sum}"
  1. 寫一個腳本,顯示當前系統上所有,擁有附加組的用戶的用戶名;并說明共有多少個此類用戶
#!/bin/bash
declare -i sum=0
userlist=`cat /etc/passwd |cut -d: -f1`
for username in ${userlist};do
    id ${username} |cut -d' ' -f3 |grep "," &> /dev/null
    if [ $? -eq 0 ]
    then
        echo "${username}"
        sum=$[sum+1]
    fi
done
    echo "tocal own addition group users is ${sum}"
  1. 創建一個由至少兩個物理卷組成的大小為20G的卷組;要求,PE大小為8M;而在卷組中創建一個大小為5G的邏輯卷mylv1,格式化為ext4文件系統,開機自動掛載至/users目錄,支持acl
fdisk /dev/sdb  //sdb5 分區大小10G,類型8e
fdisk /dev/sdc  //sdc5 分區大小10G,類型8e
pvcreate /dev/sdb5 /dev/sdc5
vgcreate -s 8M myvg1 /dev/sdb5 /dev/sdc5
lvcreate -L 5G  -n mylv1 myvg1
mkfs -t ext4 /dev/myvg1/mylv1
mkdir /users
vim /etc/fstab
/users  /dev/myvg1/mylv1  ext4  defaults,acl  0  0
mount -a
  1. 新建用戶magedu;其家目錄為/users/magedu,而后su切換至此用戶,復制多個文件至家目錄
useradd -d /users/magedu magedu
su - magedu
cp /etc/issue /etc/fstab  ~
  1. 擴展mylv1至9G,確保擴展完成后原有數據完全可用
lvextend -L 9G /dev/myvg1/mylv1
resize2fs /dev/myvg1/mylv1 9G
  1. 縮減mylv1至7G,確保縮減完成后原有數據完全可用
umount /dev/myvg1/mylv1
e2fsck -f /dev/myvg1/mylv1
resize2fs /dev/myvg1/mylv1  7G 
lvreduce  -L  7G  /dev/myvg1/mylv1
mount /dev/myvg1/mylv1 /users
  1. 對mylv1創建快照,并通過備份數據;要求保留原有的屬主屬組等信息
lvcreate -L 500M -p r -n mylv1-snapshot -s /dev/myvg1/mylv1
mkdir /mnt/mylv_ss
mount /dev/myvg1/mylv1-snapshot /mnt/mylv_ss
cp -a "/mnt/mylv_ss/*" /tmp
umount /mnt/mylv_ss 
lvremove /dev/myvg1/mylv1-snapshot

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

(0)
N25_AllenN25_Allen
上一篇 2017-02-28
下一篇 2017-03-01

相關推薦

  • Bashe Shell之數組及bash配置文件解析

    數組   數據結構,數據序列,保存了連續的多個數據,可以使用索引獲取相關元素,相當于多個變量的集合   §數組名和索引 索引:編號從0開始,屬于數值索引   注意:所以可支持使用自定義的格式,而不僅是數值格式,即關聯索引,bash4.0版本之后開始支持,bash的數組支持稀疏格式(索引不連續)   §聲明數組 &nbs…

    Linux干貨 2016-08-24
  • 1. 什么是Linux

        如果以前從沒有接觸過linux, 你可能會對為什么會存在這么多不同的linux發行版有些困惑. 在看linux軟件包時, 你肯定聽過發行版, LiveCD和GNU之類的等等術語, 也肯定摸不著頭腦. 第一次接觸linux,想理解會有些困難.  我們就先了解下linux系統內部結構的一些信息. &nbs…

    Linux干貨 2016-10-26
  • 最簡單也最難:運維監控的最后1公里

    談運維我們不得不提監控,監控是運維的起點,也是難點。隨著IT架構逐漸復雜化,從前端到IT底層,中間涉及瀏覽器、網絡、服務器、操作系統、中間件、應用、數據庫等,每個環節廠商不盡相同。當出現異常需要定位哪個環節出了問題的時候,排查就耗時耗力,若使用優云監控產品,以上難題不再是問題。優云全棧運維監控覆蓋了所有環節的監控,真正做到監控無盲區,運維無隱患。 運維最后一…

    系統運維 2017-01-09
  • 馬哥教育網絡班21期-第五周課程練習

    第五周作業 1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; [root@zz ~]# egrep "^[[:space:]]+" /boot/grub/grub.conf 2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有…

    Linux干貨 2016-07-29
  • 編譯安裝MariaDB源碼包

        因為MySQL的發展趨勢不甚樂觀,MariaDB已替代MySQL被CentOS 7做為默認組件,如果想在CentOS 6中使用最新的MariaDB,則需要我們手動安裝,其安裝方式有三種:     1、RPM包安裝     2、二進制…

    Linux干貨 2015-06-08
  • Linux系統基礎(二)

    一、Linux文件管理命令及其常用方法 1、cd(切換目錄)這個命令應該是Linux中用的最頻繁的一個命令之一了,因為我們經常需要進行目錄的切換。在詳解這個命令之前,首先得補充一個重要的知識,就是我們常用的一些比較特殊的目錄: .        代表當前目錄 .. &n…

    Linux干貨 2016-09-24

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-04-10 16:12

    總結的很好,腳本部分可以給出運行結果,加油~~~

欧美性久久久久