linux学习作业-第七周
本周作業(yè)內(nèi)容:
1、創(chuàng)建一個(gè)10G分區(qū),并格式為ext4文件系統(tǒng);
首先需要在虛擬機(jī)添加一塊硬盤,硬盤大小超過10G,例如/dev/sdb。
使用fdisk創(chuàng)建
fdisk?/dev/sdb??#進(jìn)入fdisk工具 n#選擇創(chuàng)建新分區(qū) p#創(chuàng)建邏輯分區(qū)(p為邏輯、e為擴(kuò)展) 1#選擇邏輯(1-4)分區(qū) enter#開始柱面(回車會(huì)默認(rèn)為起始柱面) +10G#選擇10G容量(可選參數(shù)有kmg) w#保存并退出fdisk完成后,需要更新一下分區(qū)表
可用partx -a
或者partprobe ?#(該命令更新僅生效一次,若使用fdisk創(chuàng)建后,需要重啟)不推薦
使用mkfs.ext4格式化
直接mkfs.ext4 /dev/sdb1(sdb1因?yàn)閯倓偨⒌氖欠謪^(qū)一,所以變成sdb1)
使用blkid: 查看指定塊設(shè)備的信息,主要有文件系統(tǒng)類型、UUID、卷標(biāo)。
? ?(1) 要求其block大小為2048, 預(yù)留空間百分比為2, 卷標(biāo)為MYDATA, 默認(rèn)掛載屬性包含acl;
mke2fs? tune2fs?-l mke2fs?-t?ext4?-b?2048?-m?2?-L?MYDATA?/dev/sdb1 mkfs.ext4?-b?2048?-m?2?-L?MYDATA?/dev/sdb1 mkdir?/tmp/mydate mount?-o?acl?/dev/sdb1?/tmp/mydate??#掛載磁盤,帶acl選項(xiàng) df?-h#查詢狀態(tài)? ?(2) 掛載至/data/mydata目錄,要求掛載時(shí)禁止程序自動(dòng)運(yùn)行,且不更新文件的訪問時(shí)間戳;
mkdir /date/mydate #掛載前必須先創(chuàng)建文件夾
mount -o noatime noexec /dev/sdb1 /date/mydate
2、創(chuàng)建一個(gè)大小為1G的swap分區(qū),并創(chuàng)建好文件系統(tǒng),并啟用之;
先使用fdisk
fdisk?/dev/sdb??#進(jìn)入fdisk工具 n#選擇創(chuàng)建新分區(qū) p#創(chuàng)建邏輯分區(qū)(p為邏輯、e為擴(kuò)展) 2#選擇邏輯(1-4)分區(qū) enter#開始柱面(回車會(huì)默認(rèn)為起始柱面) +1G#選擇1G容量(可選參數(shù)有kmg) l#查詢分區(qū)類型,找到swap(82) t#選擇類型 82#Linux?swap?/?Solaris w#保存并退出 mkswap?/dev/sdb2?#使用專用swap格式化工具格式化該分區(qū) swapon?/dev/sdb2?#使用該交換分區(qū)3、寫一個(gè)腳本
? ?(1)、獲取并列出當(dāng)前系統(tǒng)上的所有磁盤設(shè)備;
? ?(2)、顯示每個(gè)磁盤設(shè)備上每個(gè)分區(qū)相關(guān)的空間使用信息;
4、總結(jié)RAID的各個(gè)級別及其組合方式和性能的不同;
RAID有幾個(gè)共同點(diǎn),
1、容量相加的時(shí)候,取所有磁盤容量最小值*磁盤數(shù)(除RAID外)
例如
2、RAID至少要有2塊硬盤,或者3塊才能建立,這個(gè)很容易理解。
RAID0:可以理解為磁盤容量相加,如20G,30G的硬盤,建立后則成為50G。最少2塊磁盤
寫入則是分塊寫入,如有2個(gè)磁盤的話,數(shù)據(jù)內(nèi)容為1..100,磁盤1寫入是為1.3.5..99,磁盤2寫入為2.4.6..100
RAID0連續(xù)地分割數(shù)據(jù)并并行地讀/寫于多個(gè)磁盤上。因此具有很高的數(shù)據(jù)傳輸率,缺點(diǎn)為無冗余
RAID1:鏡像磁盤,最少2塊磁盤,數(shù)據(jù)寫入A磁盤,B磁盤自動(dòng)重復(fù)A磁盤動(dòng)作,所以寫需要寫2份。
組成需要至少2快磁盤,但數(shù)據(jù)安全性非常高,一對一的冗余能力
性能方面,讀中等,寫入較慢
RAID5:數(shù)據(jù)分3部分寫入,至少需要3塊硬盤,可以使用數(shù)學(xué)模式來說明RAID5
總數(shù)為1+1+1=3,若有一塊磁盤壞了,則數(shù)據(jù)自行會(huì)推導(dǎo)1+?+1=3,所以RAID是帶冗余的。
但是raid5的實(shí)際容量則只有3塊硬盤的2塊,讀性能高,寫性能較低
RAID10:RAID0與RAID1的結(jié)合體,至少要4塊硬盤,容量則為2塊硬盤的容量。
讀取的時(shí)候,使用的是RAID0,能保證讀取速度,寫則用RAID,保證資料安全性
即有速度且保證數(shù)據(jù)安全性,但價(jià)格也是算昂貴的。
5、創(chuàng)建一個(gè)大小為10G的RAID1,要求有一個(gè)空閑盤,而且CHUNK大小為128k;
首先使用fdisk建立2個(gè)磁盤
#2個(gè)磁盤容量分別需要10G以上
fdisk?/dev/sdb??#進(jìn)入fdisk工具 n#選擇創(chuàng)建新分區(qū) p#創(chuàng)建邏輯分區(qū)(p為邏輯、e為擴(kuò)展) 1#選擇邏輯(1-4)分區(qū) enter#開始柱面(回車會(huì)默認(rèn)為起始柱面) +10G#選擇10G容量(可選參數(shù)有kmg) n#選擇創(chuàng)建新分區(qū) p#創(chuàng)建邏輯分區(qū)(p為邏輯、e為擴(kuò)展) 2#選擇邏輯(1-4)分區(qū) enter#開始柱面(回車會(huì)默認(rèn)為起始柱面) +10G#選擇10G容量(可選參數(shù)有kmg) w#保存并退出 partx?-a?/dev/sdb???#更新sdb分區(qū)表 mdadm?-C?/dev/md0?-l?1?-c?128?-n?2?/dev/sdb1?/dev/sdb2?或者 mdadm?-C?/dev/md0?-l?1?--chunk?128?-n?2?/dev/sdb1?/dev/sdb2?#創(chuàng)建級別為1chunk為128,的磁盤md0 mkfs.ext4?/dev/md0?#建立成功后格式化 mkdir?/tmp/md0??#創(chuàng)建文件夾 mount?/dev/md0?/tmp/md0?#掛機(jī)文件系統(tǒng) df?-h?#查看文件系統(tǒng)6、創(chuàng)建一個(gè)大小為4G的RAID5設(shè)備,chunk大小為256k,格式化ext4文件系統(tǒng),要求可開機(jī)自動(dòng)掛載至/backup目錄,而且不更新訪
問時(shí)間戳,且支持acl功能;
n#選擇創(chuàng)建新分區(qū) p#創(chuàng)建邏輯分區(qū)(p為邏輯、e為擴(kuò)展) 1#選擇邏輯(1-4)分區(qū) enter#開始柱面(回車會(huì)默認(rèn)為起始柱面) +4G#選擇4G容量(可選參數(shù)有kmg) n#選擇創(chuàng)建新分區(qū) p#創(chuàng)建邏輯分區(qū)(p為邏輯、e為擴(kuò)展) 2#選擇邏輯(1-4)分區(qū) enter#開始柱面(回車會(huì)默認(rèn)為起始柱面) +4G#選擇4G容量(可選參數(shù)有kmg) n#選擇創(chuàng)建新分區(qū) p#創(chuàng)建邏輯分區(qū)(p為邏輯、e為擴(kuò)展) 3#選擇邏輯(1-4)分區(qū) enter#開始柱面(回車會(huì)默認(rèn)為起始柱面) +4G#選擇4G容量(可選參數(shù)有kmg) w#保存并退出partx -a /dev/sdb ? #更新sdb分區(qū)表
mdadm -C /dev/md0 -l 5 -c 256 -n 3 /dev/sdb1 /dev/sdb2 /dev/sdb3 #創(chuàng)建級別為5chunk為256,的磁盤md0
mkfs.ext4 /dev/md0 #建立成功后格式化
mkdir /bachup #創(chuàng)建文件夾
mount -o acl,noatime /dev/md0 /backup #掛機(jī)文件系統(tǒng)不更新時(shí)間戳,并擁有ACL功能
blkid /dev/md0 查看UUID,并拷貝
vim /etc/fstab
UUID=6c477943-0bc5-4632-9f9a-504c311f8222 /backup ? ? ext4 ? ?defaults ? ?0 0#插入md0的UUID,讓它開機(jī)啟動(dòng)
df -h #查看文件系統(tǒng)
7、寫一個(gè)腳本
? ?(1) 接受一個(gè)以上文件路徑作為參數(shù);
? ?(2) 顯示每個(gè)文件擁有的行數(shù);
? ?(3) 總結(jié)說明本次共為幾個(gè)文件統(tǒng)計(jì)了其行數(shù);
8、寫一個(gè)腳本
? ?(1) 傳遞兩個(gè)以上字符串當(dāng)作用戶名;
? ?(2) 創(chuàng)建這些用戶;且密碼同用戶名;
? ?(3) 總結(jié)說明共創(chuàng)建了幾個(gè)用戶;
#!/bin/bash read?-p?"?Pleas?input?a?user?name,must?two?bit?and?more?:"?usern i=$(echo?"$usern"|wc?-L) if?[?$i?-gt?2?];thenuseradd?$usernecho?"$usern"?|passwd?--stdin?$usernumuch=$(grep?"$usern"?/etc/passwd?|wc?-l)echo?"Have?$umuch?creat." elseecho?"input?error" fi?
9、寫一個(gè)腳本,新建20個(gè)用戶,visitor1-visitor20;計(jì)算他們的ID之和;
#!/bin/bash visi=visitor for?((?i=0;i<20;i+1)) dolet?i++useradd?$visi$i done? echo?-e?"This?is?you?create?a?new?user:\n" grep?visi?/etc/passwd?|cut?-d?":"?-f?1 for?i?in?$(grep?visi?/etc/passwd?|cut?-d?":"?-f?3)?;dosum=$((sum+i)) done echo?"uidsum?=?$sum"10、寫一腳本,分別統(tǒng)計(jì)/etc/rc.d/rc.sysinit、/etc/rc.d/init.d/functions和/etc/fstab文件中以#號開頭的行數(shù)之和,以及總的空白行數(shù);
#!/bin/bash echo?-e?"\n/etc/rc.d/rc.sysinit?space?line?is?$(grep?'^#'?/etc/rc.d/rc.sysinit|wc?-l)" echo?-e?"/etc/rc.d/rc.sysinit?space?line?is?$(grep??'^$'?/etc/rc.d/rc.sysinit?|wc?-l)\n" line1=$(grep?'^#'?/etc/rc.d/rc.sysinit|wc?-l) line2=$(grep??'^$'?/etc/rc.d/rc.sysinit?|wc?-l) ((linesum=line1+line2)) echo?-e?"The?rc.sysinit?^#&^\$?sum?is:$linesum\n"11、寫一個(gè)腳本,顯示當(dāng)前系統(tǒng)上所有默認(rèn)shell為bash的用戶的用戶名、UID以及此類所有用戶的UID之和;
#!/bin/bash grep?'bash$'?/etc/passwd?|awk?-F:?'{print?$1,$3}'?#搜索/etc/passwd以bash結(jié)尾行,以:打印段落1,3的信息 grep?'bash$'?/etc/passwd?|awk?-F:?'{sum+=$3;print?$3}'|awk?'{sum+=$1}END{print?sum}'12、寫一個(gè)腳本,顯示當(dāng)前系統(tǒng)上所有,擁有附加組的用戶的用戶名;并說明共有多少個(gè)此類用戶;
awk?'END{print?NR}'?/file顯示文件行數(shù) awk?'END{print?FILENAME,NR}'?/etc/passwd??#顯示文件行數(shù) awk?-F:?'{print?$1,$4}'?/etc/group|grep??'[[:space:]]+*[a-z]'#顯示空格后有字符的行 #!/bin/bash i=$(awk?-F:?'{print?$1,$4}'?/etc/group|grep??'[[:space:]]+*[a-z]') echo?"?$i"|awk?'{printf?"Username?:%-10s?The?other?group?is?:%-30s\n",$1,$2}' iu=$(echo?"?$i"|awk?'END{print?NR}'?) echo?"Have?$iu?user?"13、創(chuàng)建一個(gè)由至少兩個(gè)物理卷組成的大小為20G的卷組;要求,PE大小為8M;而在卷組中創(chuàng)建一個(gè)大小為5G的邏輯卷mylv1,格式化為ext4文件系統(tǒng),開機(jī)自動(dòng)掛載至/users目錄,支持acl;
Disk?/dev/sdb:?21.5?GB,?21474836480?bytes /dev/sdb1???????????????1????????1306????10490413+??8e??Linux?LVM /dev/sdb2????????????1307????????2610????10474380???8e??Linux?LVM Disk?/dev/sdc:?21.5?GB,?21474836480?bytes /dev/sdc1???????????????1??????????14??????112423+??8e??Linux?LVM /dev/sdc2??????????????15?????????668?????5253255???8e??Linux?LVM創(chuàng)建模式與上面類似,有個(gè)地方需要更改的是類型,在fdisk里按t:8e 改為Linux LVM類型
這里分別創(chuàng)建了4個(gè)分區(qū),容量分別為100M、5G、10G、10G
創(chuàng)建物理卷(PV):
pvcreate?-v?/dev/sda1?/dev/sdb2?/dev/sdc1?/dev/sdc2 pvscan?簡略查詢?pvdisplay?詳細(xì)查詢 vgcreate?-v?-s?8M?vg01?/dev/sdb1?/dev/sdb2?/dev/sdc1?/dev/sdc2?#-s設(shè)置PE大小,默認(rèn)為4M vgdisplay?查看VG信息 lvcreate?-L?5G?-n?mylv1?vg01??#創(chuàng)建大小為5G名字為mylv1的lv卷 mkfs.ext4?/dev/vg01/mylv1?#ext4格式化該卷 mkdir?/users?#創(chuàng)建users mount?-o?acl?/dev/vg01/mylv1?/users/#掛載之 uuidgen?/dev/vg01/mylv1?查詢UUID vim?/etc/fstab??在fstab插入下行 UUID=c37bfb49-bcc6-47f9-8ca1-9047d6c53c5e?/users??????????????????ext4????defaults14、新建用戶magedu;其家目錄為/users/magedu,而后su切換至此用戶,復(fù)制多個(gè)文件至家目錄;
useradd?-D?/users/magedu?magedu su?-?magedu cp?-a?/ect/*?.?#拷貝文件至當(dāng)前目錄15、擴(kuò)展mylv1至9G,確保擴(kuò)展完成后原有數(shù)據(jù)完全可用;
vextend?-L?+4G?/dev/vg01/mylv116、縮減mylv1至7G,確保縮減完成后原有數(shù)據(jù)完全可用;
lvreduce?-L?-2G?/dev/vg01/mylv117、對mylv1創(chuàng)建快照,并通過備份數(shù)據(jù);要求保留原有的屬主屬組等信息;
lvcreate -L?大小 -p?r?只讀權(quán)限 -s?快照 -n?快照卷名字? lvcreate?-L?2G?-p?r?-s?-n?mylv.bak?/dev/vg01/mylv1創(chuàng)建后需要掛載,快照文件在于lv文件目錄
轉(zhuǎn)載于:https://blog.51cto.com/rexchow/1854920
總結(jié)
以上是生活随笔為你收集整理的linux学习作业-第七周的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 带你走进rsync的世界
- 下一篇: linux cache and buff