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.創建一個大小為1G的swap分區,并創建好文件系統,并啟用之;
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% | 至少2 | 50% | 讀性能有提升,具有冗余 | 寫性能下降,磁盤利用率低 |
RAID 4 | 有一個磁盤存放前兩個磁盤校驗碼,異或 | 讀、寫提升 | 有 | (n-1)/n | 至少3 | 1 | 讀寫性能提升 | 瓶頸在校驗盤上 |
RAID 5 | 校驗盤三個盤輪流換 | 讀、寫提升 | 有 | (n-1)/n | 至少3 | 1 | 讀寫性能提升 | 僅允許壞一塊盤 |
RAID 6 | 用兩塊盤做校驗盤 | 讀、寫提升 | 有 | (n-2)/n | 至少4 | 2 | 讀寫性能提升 | 磁盤利用率降低,寫入速度沒有raid5快 |
RAID 10 | 先兩兩做成RAID1,再把每組做成RAID0 | 讀、寫提升 | 有 | 50% | 至少4 | 50% | 讀寫性能提升 | 磁盤利用率低 |
RAID01 | 先兩兩一組做成RAID0,再把每組做成RAID1 | 讀寫提升 | 有 | 50% | 至少4 | 50% | 讀寫性能提升 | 磁盤利用率低,容錯沒有raid10好 |
?
5.創建一個大小為10G的RAID1,要求有一個空閑盤,而且CHUNK大小為128k;
1.創建2個raid類型的分區,/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.創建一個大小為4G的RAID5設備,chunk大小為256k,格式化ext4文件系統,要求可開機自動掛載至/backup目錄,而且不更新訪問時間戳,且支持acl功能;
1.創建3個raid類型的分區,/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.寫一個腳本,顯示當前系統上所有默認shell為bash的用戶的用戶名、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.擴展mylv1至9G,確保擴展完成后原有數據完全可用;
lvextend -L +4G /dev/vg0/mylv1
resize2fs /dev/vg0/mylv1
df -h
16.縮減mylv1至7G,確??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