1、创建一个10G分区,并格式为ext4文件系统;
(1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;
[root@localhost tmp]# cat /proc/partitions major minor #blocks name 8 16 52428800 sdb 8 17 10490413 sdb1 8 0 125829120 sda 8 1 512000 sda1 8 2 125316096 sda2 253 0 52428800 dm-0 253 1 2031616 dm-1 253 2 70852608 dm-2 [root@localhost tmp]# mke2fs -t ext4 -b 2048 -m 2 -L MYDATA /dev/sdb1 [root@localhost tmp]# tue2fs -o acl /dev/sdb1
(2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳;
[root@localhost tmp]# mount -o noexec,noatime /dev/sdb1 /data/mydata [root@localhost tmp]# cat /proc/mounts | tail -1 /dev/sdb1 /data/mydata ext4 rw,seclabel,noexec,noatime,errors=continue,acl,barrier=1,data=ordered 0 0
2、创建一个大小为1G的swap分区,并创建好文件系统,并启用之;
[root@localhost tmp]# cat /proc/partitions major minor #blocks name 8 16 52428800 sdb 8 17 10490413 sdb1 8 18 1060290 sdb2 8 0 125829120 sda 8 1 512000 sda1 8 2 125316096 sda2 253 0 52428800 dm-0 253 1 2031616 dm-1 253 2 70852608 dm-2 [root@localhost tmp]# mkswap /dev/sdb2 Setting up swapspace version 1, size = 1060284 KiB no label, UUID=91650adf-be7e-405c-ad08-23ba722a9cdc [root@localhost tmp]# swapon /dev/sdb2 [root@localhost tmp]# swapon -s Filename Type Size Used Priority /dev/dm-1 partition 2031612 0 -1 /dev/sdb2 partition 1060284 0 -2
3、写一个脚本
(1)、获取并列出当前系统上的所有磁盘设备; (2)、显示每个磁盘设备上每个分区相关的空间使用信息;
#!/bin/bash # echo "All disk info:" fdisk -l /dev/[sh]d[a-z] echo -e "\nEvery disk section space info:" df -h
4、总结RAID的各个级别及其组合方式和性能的不同;
(1)RAID 0
它將兩個以上的磁碟並聯起來,成為一個大容量的磁碟。在存放資料時,分段後分散儲存在這些磁碟中,因為讀寫時都可以並列處理,所以在所有的級別中,RAID 0的速度是最快的。但是RAID 0既沒有冗餘功能,也不具備容錯能力,如果一個磁碟(物理)損壞,所有資料都會遺失
(2)RAID 1
兩組以上的N個磁碟相互作鏡像,在一些多執行緒作業系統中能有很好的讀取速度,理論上讀取速度等於硬碟數量的倍數,另外寫入速度有微小的降低。只要一個磁碟正常即可維持運作,可靠性最高。其原理為在主硬碟上存放資料的同時也在鏡像硬碟上寫一樣的資料。當主硬碟(物理)損壞時,鏡像硬碟則代替主硬碟的工作。因為有鏡像硬碟做資料備份,所以RAID 1的資料安全性在所有的RAID級別上來說是最好的。但無論用多少磁碟做RAID 1,僅算一個磁碟的容量,是所有RAID中磁碟利用率最低的一個級別。
(3)RAID 5
是一種儲存效能、資料安全和儲存成本兼顧的儲存解決方案。它使用的是Disk Striping(硬碟分割)技術。RAID 5至少需要三塊硬碟,RAID 5不是對儲存的資料進行備份,而是把資料和相對應的奇偶校驗資訊儲存到組成RAID5的各個磁碟上,並且奇偶校驗資訊和相對應的資料分別儲存於不同的磁碟上。當RAID5的一個磁碟資料發生損壞後,可以利用剩下的資料和相應的奇偶校驗資訊去取消復原被損壞的資料。RAID 5可以理解為是RAID 0和RAID 1的折衷方案。RAID 5可以為系統提供資料安全保障,但保障程度要比鏡像低而磁碟空間利用率要比鏡像高。RAID 5具有和RAID 0相近似的資料讀取速度,只是因為多了一個奇偶校驗資訊,寫入資料的速度相對單獨寫入一塊硬碟的速度略慢,若使用「回寫快取」可以讓效能改善不少。同時由於多個資料對應一個奇偶校驗資訊,RAID 5的磁碟空間利用率要比RAID 1高,儲存成本相對較便宜。
(4)RAID 6
與RAID 5相比,RAID 6增加第二個獨立的奇偶校驗資訊塊。兩個獨立的奇偶系統使用不同的演算法,資料的可靠性非常高,任意兩塊磁碟同時失效時不會影響資料完整性。RAID 6需要分配給奇偶校驗資訊更大的磁碟空間和額外的校驗計算,相對於RAID 5有更大的IO操作量和計算量
(5)RAID 10/01
RAID 10是先鏡射再分割資料,再將所有硬碟分為兩組,視為是RAID 0的最低組合,然後將這兩組各自視為RAID 1運作。 RAID 01則是跟RAID 10的程式相反,是先分割再將資料鏡射到兩組硬碟。它將所有的硬碟分為兩組,變成RAID 1的最低組合,而將兩組硬碟各自視為RAID 0運作。 當RAID 10有一個硬碟受損,其餘硬碟會繼續運作。RAID 01只要有一個硬碟受損,同組RAID 0的所有硬碟都會停止運作,只剩下其他組的硬碟運作,可靠性較低。
(6)RAID 50
RAID 5與RAID 0的組合,先作RAID 5,再作RAID 0,也就是對多組RAID 5彼此構成Stripe存取。
5、创建一个大小为10G的RAID1,要求有一个空闲盘,而且CHUNK大小为128k;
首先创建3个10G的分区 [root@localhost ~]# mdadm -C /dev/md0 -n 2 -l 1 -c 128 -a yes -x 1 /dev/sdb{5,6,7} 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@localhost ~]# mdadm -D /dev/md0----查看RAID信息 /dev/md0: Version : 1.2 Creation Time : Thu Mar 2 05:53:06 2017 Raid Level : raid1 Array Size : 10482176 (10.00 GiB 10.73 GB) Used Dev Size : 10482176 (10.00 GiB 10.73 GB) Raid Devices : 2 Total Devices : 3 Persistence : Superblock is persistent Update Time : Thu Mar 2 05:56:13 2017 State : clean Active Devices : 2 Working Devices : 3 Failed Devices : 0 Spare Devices : 1 Name : localhost.localdomain:0 (local to host localhost.localdomain) UUID : c42d1d57:b82097a3:26791324:f5a196c2 Events : 17 Number Major Minor RaidDevice State 0 8 21 0 active sync /dev/sdb5 1 8 22 1 active sync /dev/sdb6 2 8 23 - spare /dev/sdb7
6、创建一个大小为4G的RAID5设备,chunk大小为256k,格式化ext4文件系统,要求可开机自动挂载至/backup目录,而且不更新访问时间戳,且支持acl功能;
首先创建3个4G分区 [root@localhost ~]# mdadm -C /dev/md1 -n 3 -l 5 -c 256 -a yes /dev/sdc{1,2,3} mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md1 started. [root@localhost ~]# mdadm -D /dev/md1 /dev/md1: Version : 1.2 Creation Time : Thu Mar 2 06:36:17 2017 Raid Level : raid5 Array Size : 8393728 (8.00 GiB 8.60 GB) Used Dev Size : 4196864 (4.00 GiB 4.30 GB) Raid Devices : 3 Total Devices : 3 Persistence : Superblock is persistent Update Time : Thu Mar 2 06:37:04 2017 State : clean Active Devices : 3 Working Devices : 3 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 256K Name : localhost.localdomain:1 (local to host localhost.localdomain) UUID : 624b89fc:12e746b4:8647a43e:a191ba69 Events : 18 Number Major Minor RaidDevice State 0 8 33 0 active sync /dev/sdc1 1 8 34 1 active sync /dev/sdc2 3 8 35 2 active sync /dev/sdc3 [root@localhost ~]# mke2fs -t ext4 /dev/md1 [root@localhost ~]# vim /etc/fstab [root@localhost ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Mon Feb 27 19:57:39 2017 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/VolGroup-lv_root / ext4 defaults 1 1 UUID=876d1797-6fc6-48e9-854d-e8d93fe7d615 /boot ext4 defaults 1 2 /dev/mapper/VolGroup-lv_home /home ext4 defaults 1 2 /dev/mapper/VolGroup-lv_swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/md1 /backup ext4 defaults,noatime,acl 0 0
7、写一个脚本
(1) 接受一个以上文件路径作为参数; (2) 显示每个文件拥有的行数; (3) 总结说明本次共为几个文件统计了其行数;
#!/bin/bash # declare -i sum=0 read -p "Please input one or more than one file path:" filename #Confirm if it's not empty if [[ -z "$filename" ]];then echo "Please ensure one or more than one file path" exit 2 fi #Confirm if it's a normal file.If yes, count line and number of files for i in $filename;do if ! [ -f $i ];then echo "Pleaae ensure input valid file path" else line=$(wc -l $i | cut -d' ' -f1) echo "$i total line $line" let sum++ fi done echo "Total $sum file"
8、写一个脚本
(1) 传递两个以上字符串当作用户名; (2) 创建这些用户;且密码同用户名; (3) 总结说明共创建了几个用户;
#!/bin/bash # declare -i sum=0 for i in $*;do if [ $# -lt 2 ];then echo "Please ensure two or more than two username" exit 1 elif id $i &> /dev/null;then echo "The user already exist" exit 2 else useradd $i echo "$i" | passwd --stdin $i let sum++ fi done echo "Total add user $sum"
9、写一个脚本,新建20个用户,visitor1-visitor20;计算他们的ID之和;
#!/bin/bash # declare -i idsum=0 for i in $(seq 1 20);do useradd visitor$i id=$(id -u visitor$i) idsum=$[$idsum+$id] done echo "vistor1-vistor20 idsum:$idsum"
原创文章,作者:N25_Pierce,如若转载,请注明出处:http://www.178linux.com/70645
评论列表(1条)
赞,raid这块建议用图示来说明会更好一点~~继续加油~