1、創建一個10G分區,并格式為ext4文件系統;
(1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;
[root@localhost ~]# fdisk -l Disk /dev/sda: 42.9 GB, 42949672960 bytes 255 heads, 63 sectors/track, 5221 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: 0x000424e9 Device Boot Start End Blocks Id System /dev/sda1 * 1 26 204800 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 26 4961 39640064 83 Linux /dev/sda3 4961 5222 2097152 82 Linux swap / Solaris Disk /dev/sdb (Sun disk label): 255 heads, 63 sectors, 2610 cylinders Units = cylinders of 16065 * 512 bytes Device Flag Start End Blocks Id System [root@localhost ~]# fdisk /dev/sdb Command (m for help): n Partition number (1-8): 1 First cylinder (0-2610): 0 Last cylinder or +size or +sizeM or +sizeK (0-2610, default 2610): +10000M Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@localhost ~]# mke2fs -t ext4 -b 2048 -m 2 -L MYDATA /dev/sda5
(2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳;
[root@localhost ~]# mkdir -p /data/mydata [root@localhost ~]# mount -o noexec,noatime /dev/sdb1 /data/mydata
2、創建一個大小為1G的swap分區,并創建好文件系統,并啟用之;
[root@test /]# cat /proc/partitions major minor #blocks name 8 0 41943040 sda 8 1 512000 sda1 8 2 41430016 sda2 8 16 20971520 sdb 8 17 1060258 sdb1 253 0 37330944 dm-0 253 1 4096000 dm-1 [root@test /]# swapon /dev/sdb1 [root@test /]# swapon -s Filename Type Size Used Priority /dev/dm-1 partition 4095996 0 -1 /dev/sdb1 partition 1060252 0 -2
3、寫一個腳本
(1)、獲取并列出當前系統上的所有磁盤設備;
(2)、顯示每個磁盤設備上每個分區相關的空間使用信息;
#!/bin/bash #顯示當前系統信息 echo 磁盤設備: fdisk -l | grep “^Disk /dev/sd[a-z]” | awk -F [:” “] ‘{print $2}’ echo 磁盤分區使用狀況: df
4、總結RAID的各個級別及其組合方式和性能的不同;
RAID(Redundant Array of Independent Disk 獨立冗余磁盤陣列)技術是加州大學伯克利分校1987年提出,最初是為了組合小的廉價磁盤來代替大的昂貴磁盤, 同時希望磁盤失效時不會使對數據的訪問受損 失而開發出一定水平的數據保護技術。RAID就是一種由多塊廉價磁盤構成的冗余陣列,在操作系統下是作為一個 獨立的大型存儲設備出現。RAID可以充分發 揮出多塊硬盤的優勢,可以提升硬盤速度,增大容量,提供容錯功能夠確保數據安全性,易于管理的優點,在任何 一塊硬盤出現問題的情況下都可以繼續工作,不會受到損壞硬盤的影響. RAID-0:swap temp適用. 讀寫提升 可用:N*min(s1,s2) RAID-1: 讀性能提升,寫性能略有下降; 可用空間:1*min(s1,s2…) RAID-5: 讀寫性能提升 可用空間 (n-1)*min(s1,s2…) 有容錯能力 1塊磁盤 最少磁盤數 3 ,3+ RAID-6: 讀寫性能提升 可用空間 (n-2)*min(s1,s2…) 有容錯能力 2塊磁盤 最少磁盤數 4 ,4+ 混合類型: raid10 先做鏡像(1),再做條帶(0) 讀寫性能提升 可用空間 (n)*min(s1,s2…)/2 有容錯能力 每組鏡像最多一個 最少磁盤數 4 ,4+ raid01 先做條帶(0),再做鏡像(1) 讀寫性能提升 可用空間 (n)*min(s1,s2…)/2 有容錯能力 每組鏡像最多一個 最少磁盤數 4 ,4+ RAID01和RAID10非常相似,二者在讀寫性能上沒有什么差別。但是在安全性上RAID10要好于RAID01. RAID 50 RAID50是RAID5與RAID0的結合。此配置在RAID5的子磁盤組的每個磁盤上進行包括奇偶信息在內的數據的剝離。 每個RAID5子磁盤組要求三個硬盤。RAID50具備更高的容錯能力,因為它允許某個組內有一個磁盤出現故障,而不會造成數據丟失。 而且因為奇偶位分部于RAID5子磁盤組上,故重建速度有很大提高。優勢:更高的容錯能力,具備更快數據讀取速率的潛力。 需要注意的是:磁盤故障會影響吞吐量。故障后重建信息的時間比鏡像配置情況下要長。 JBOD:Just a bunch of disks 功能:將多塊磁盤的空間合成一個大的連續空間使用 可用空間 sum(s1,s2…) 常用級別 raid0 raid1 raid5 raid10 raid50 Jbod
5、創建一個大小為10G的RAID1,要求有一個空閑盤,而且CHUNK大小為128k;
[root@test ~]# fdisk /dev/sdb [root@test ~]# fdisk /dev/sdc [root@test ~]# fdisk /dev/sdd 創建10G分區,分別為sdb1,sdc1,sdd1更改分區類型為Linux raid autodetect [root@test ~]# mdadm -C /dev/md0 -n 2 -x 1 -l 1 -a yes -c 128K /dev/sd{b,c,d}1 mdadm: Note: this array has metadata at the start and may not be suitable as a boot device. If you plan to store ‘/boot’ on this device please ensure that your boot-loader understands md/v1.x metadata, or use –metadata=0.90 Continue creating array? y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started. [root@test ~]# cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdd1[2](S) sdc1[1] sdb1[0] 10474176 blocks super 1.2 [2/2] [UU] unused devices: <none>
6、創建一個大小為4G的RAID5設備,chunk大小為256k,格式化ext4文件系統,要求可開機自動掛載至/backup目錄,而且不更新訪問時間戳,且支持acl功能;
[root@test ~]# fdisk /dev/sdb [root@test ~]# fdisk /dev/sdc [root@test ~]# fdisk /dev/sdd 創建2G分區,分別為sdb1,sdc1,sdd1更改分區類型為Linux raid autodetect [root@test ~]# fdisk -l |grep sd Disk /dev/sda: 42.9 GB, 42949672960 bytes /dev/sda1 * 1 64 512000 83 Linux /dev/sda2 64 5222 41430016 8e Linux LVM Disk /dev/sdb: 10.7 GB, 10737418240 bytes /dev/sdb1 1 262 2104483+ fd Linux raid autodetect Disk /dev/sdc: 10.7 GB, 10737418240 bytes /dev/sdc1 1 262 2104483+ fd Linux raid autodetect Disk /dev/sdd: 10.7 GB, 10737418240 bytes /dev/sdd1 1 262 2104483+ fd Linux raid autodetect [root@test ~]# mdadm -C /dev/md1 -a yes -l 5 -c 256 -n 3 /dev/sd{b,c,d}1 mdadm: /dev/sdb1 appears to be part of a raid array: level=raid1 devices=2 ctime=Thu Mar 9 08:58:23 2017 mdadm: /dev/sdc1 appears to be part of a raid array: level=raid1 devices=2 ctime=Thu Mar 9 08:58:23 2017 mdadm: /dev/sdd1 appears to be part of a raid array: level=raid1 devices=2 ctime=Thu Mar 9 08:58:23 2017 Continue creating array? y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md1 started. [root@test ~]# cat /proc/mdstat Personalities : [raid1] [raid6] [raid5] [raid4] md1 : active raid5 sdd1[3] sdc1[1] sdb1[0] 4204544 blocks super 1.2 level 5, 256k chunk, algorithm 2 [3/3] [UUU] unused devices: <none> [root@test /]# mke2fs -t ext /dev/md1 [root@test /]# vim /etc/fstab 添加 /dev/md1 /backup ext4 defaults,acl,noatime 0 0 [root@test /]# mount -a [root@test /]# cd /backup [root@test backup]# ls lost+found
7、寫一個腳本
(1) 接受一個以上文件路徑作為參數;
(2) 顯示每個文件擁有的行數;
(3) 總結說明本次共為幾個文件統計了其行數;
#!/bin/bash echo “File:$@” for file in $@;do lines=$(wc -l $file | cut -d’ ‘ -f1) echo “$file has $lines line(s).” done echo “Total files:$#”
8、寫一個腳本
(1) 傳遞兩個以上字符串當作用戶名;
(2) 創建這些用戶;且密碼同用戶名;
(3) 總結說明共創建了幾個用戶;
#!/bin/bash for user in $@;do if id $user &> /dev/null;then echo “$user exists” else useradd $user if [ $? -eq 0 ];then echo $user | passwd –stdin $user &> /dev/null echo “Add $user finished” fi fi done
9、寫一個腳本,新建20個用戶,visitor1-visitor20;計算他們的ID之和
#!/bin/bash declare -i sum=0 for i in {1..20};do if ! id visitor$i &> /dev/null;then useradd visitor$i fi ID=$(id -u visitor$i) sum=$[$sum+$ID] done echo $sum
原創文章,作者:lyj821202,如若轉載,請注明出處:http://www.www58058.com/69873
如果腳本在多加一些判斷條件的話會更好