第七周作業

 

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

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

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

1.創建分區/dev/sdb1,容量為10G

fdisk /dev/sdb

n

1

+10G

2.查看創建的分區

fdisk ?-l /dev/sdb

3.格式化

mke2fs -t ext4 -b 2048 -m 2 -L MYDATA /dev/sdb1

4.修改分區屬性

tune2fs -o acl /dev/sdb1

5.查看分區屬性

dumpe2fs -h /dev/sdb1

6.掛載

mount -o noexec,nodiratime ?/dev/sdb1 /data/mydata

7.設置開機自動掛載

vim /etc/fstab

/dev/sdb1 /data/mydata ext4 defaults 0 0

2.創建一個大小為1Gswap分區,并創建好文件系統,并啟用之;

1.查看當前swap分區大小

free -m

2.創建swap類型的分區/dev/sdb1

fdisk /dev/sdb

n

1

t

82

3.轉換為交換分區

mkswap /dev/sdb1

4.啟動交換分區

swapon /dev/sdb1

5.再次查看交換分區

free -m

?

3.寫一個腳本

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

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

#!/bin/bash

lsblk

num=`fdisk -l | grep “^/dev/[sh]d.*” | wc -l | cut -d” ” -f1`

for i in `seq $num`;do

????????dev=$(fdisk -l | grep “^/dev/[sh]d.*” | head -$i | tail -1 | cut -d” ” -f1 )

????????df -h $dev

done

?

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

RAID

LEVEL

簡介性能提升冗余能力空間利用率磁盤數量(塊)允許磁盤故障數優點缺點
RAID 0數據均分到多個盤讀、寫提升100%至少2不允許讀寫性能、利用率高缺乏冗余能力
RAID 1第二塊盤是第一塊盤映射讀性能提升,寫性能降低50%至少250%讀性能有提升,具有冗余寫性能下降,磁盤利用率低
RAID 4有一個磁盤存放前兩個磁盤校驗碼,異或讀、寫提升(n-1)/n至少31讀寫性能提升瓶頸在校驗盤上
RAID 5校驗盤三個盤輪流換讀、寫提升(n-1)/n至少31讀寫性能提升僅允許壞一塊盤
RAID 6用兩塊盤做校驗盤讀、寫提升(n-2)/n至少42讀寫性能提升磁盤利用率降低,寫入速度沒有raid5
RAID 10先兩兩做成RAID1,再把每組做成RAID0讀、寫提升50%至少450%讀寫性能提升磁盤利用率低
RAID01先兩兩一組做成RAID0,再把每組做成RAID1讀寫提升50%至少450%讀寫性能提升磁盤利用率低,容錯沒有raid10

?

5.創建一個大小為10GRAID1,要求有一個空閑盤,而且CHUNK大小為128k;

1.創建2raid類型的分區,/dev/sdc1,/dev/sdd1,/dev/sde1,創建raid1

mdadm -C -l 1 -c 128 -n 2 -x 1 /dev/sdc1 /dev/sdd1 /dev/sde1

mdadm -C /dev/md0 -l 1 -c 128 -n 2 -x 1 /dev/sdc1 /dev/sdd1 /dev/sde1

2.查看raid信息

mdadm -D /dev/md0

?

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

1.創建3raid類型的分區,/dev/sdd1,/dev/sdd2,/dev/sde1,創建raid5

mdadm -C /dev/md0 -l 5 -c 256 -n 3 /dev/sdd1 /dev/sdd2 /dev/sde1

2.格式化為ext4

mke2fs -t ext4 /dev/md0

3.設置開機自動掛載

vim /etc/fstab

/dev/md0 ?/backup ?ext4 ?defaults,nodiratime,acl ?0 0

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

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

#!/bin/bash
if?[?$#?-eq?0?];then
echo?“must?at?least?one?file”
exit?2
fi
?
for?i?in?$*;do
wc?-l?$i
done
?
echo?“$#files?total”

?

?

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

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

#!/bin/bash
if?[?$#?-lt?2?];then
echo?“?at?least?two?strings”
exit?2
fi
?
for?i?in?$*;do
if?id?$i?&>?/dev/null?;then
echo?“$i?already?exist”
else
useradd?$i
echo?“$i”?|?passwd?--stdin?$i?&>?/dev/null
echo?“useradd?$i?and?change?passwd?successfully”
fi
done
?
echo?“users?add?total?:?$#”

?

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

#!/bin/bash
for?i?in?`seq?20`;do
useradd?visitor$i
let?sum+=`id?-u?visitor$i`
done
?
echo?“id?sum?=?$sum”

?

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

#!/bin/bash
?
lnum1_1=`grep?“^#”?/etc/rc.d/rc.sysinit?|?wc?-l?|?cut?-d”?”?-f1`
lnum1_2=`grep?“^[[:space:]]*$”?/etc/rc.d/rc.sysinit?|?wc?-l?|?cut?-d”?”?-f1`
sum1=$[?$lnum1_1+$lnum1_2?]
echo?“rc.sysinit?#?lines:?$lnum1_1?;?space?lines:?$lnum1_2?;?total?lines:?$sum1”
?
lnum2_1=`grep?“^#”?/etc/rc.d/init.d/functions?|?wc?-l?|?cut?-d”?”?-f1`
lnum3_2=`grep?“^[[:space:]]*$”?/etc/rc.d/init.d/functions?|?wc?-l?|?cut?-d”?”?-f1`
sum2=$[?$lnum2_1+$lnum2_2?]
echo?“functions?#?lines:?$lnum2_1?;?space?lines:?$lnum2_2?;?total?lines:?$sum2”
?
lnum3_1=`grep?“^#”?/etc/fstab?|?wc?-l?|?cut?-d”?”?-f1`
lnum3_2=`grep?“^[[:space:]]*$”?/etc/fstab?|?wc?-l?|?cut?-d”?”?-f1`
sum3=$[?$lnum3_1+$lnum3_2?]
echo?“fstab?#?lines:?$lnum3_1?;?space?lines:?$lnum3_2?;?total?lines:?$sum3”

?

?

?

?

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

#!/bin/bash
grep?“bash$”?/etc/passwd?|?cut?-d:?-f1,3
for?i?in?grep?“bash$”?/etc/passwd?|?cut?-d:?-f3;do
let?sum+=?$i
done
echo?“UID?SUM?=?$sum”

?

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

#!/bin/bash
declare?-i?sum=0
for?i?in?`cat?/etc/passwd?|?cut?-d:?-f1`?;do
num=`id?-G?$i?|?wc?-w`
if?[?$num?-gt?1?]?;?then
echo?$i
let?sum+=1
fi
done
echo?“sum?=?$sum”

?

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

1.創建分區/dev/sdb1,/dev/sdb2

fdisk ?/dev/sdb

2.創建pv

pvcreate /dev/sdb{1,2}

3.創建卷組vg0,pe大小為8m

vgcreate -s 8 vg0 /dev/sdb1 /dev/sdb2

4.查看vg信息

vgdisplay

5.創建lv邏輯卷mylv1,大小為5G

lvcreate -L 5G -n mylv1 /dev/vg0

lvdisplay

6.格式化為ext4

mke2fs -t ext4 /dev/vg0/mylv1

7.配置開機自動掛載

vim /etc/fstab

/dev/vg0/mylv1 /users /ext4 defaults,acl 0 0

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

useradd -d /users/magedu magedu

su – magedu

cp -rf /etc /users/magedu

15.擴展mylv19G,確保擴展完成后原有數據完全可用;

lvextend -L +4G /dev/vg0/mylv1

resize2fs /dev/vg0/mylv1

df -h

16.縮減mylv17G,確??s減完成后原有數據完全可用;

1.卸載

umount /dev/vg0/mylv1

2.檢查

e2fsck -f /dev/vg0/mylv1

3.重設大小

resize2fs /dev/vg0/mylv1 7G

4.減小邏輯卷大小

lvreduce -L 7G /dev/vg0/mylv1

5.重新掛載,并查看大小

mount -a

df -h

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

1.創建快照

lvcreate -L 1G -p r -s -n sn_mylv1 /dev/vg0/mylv1

2.將快照掛載至/mnt/back

mount /dev/vg0/sn_mylv1 /mnt/back

3.將快照的文件復制至/backup2

mkdir /mnt/back2

cp -a /back /back2

4.查看權限,沒有改變

ll /back /back2

 

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

(0)
haoqiqiuzhihaoqiqiuzhi
上一篇 2018-05-02
下一篇 2018-05-02

相關推薦

欧美性久久久久