馬哥教育網絡19期+第7周練習博客

1、創建一個10G分區,并格式為ext4文件系統;
前提磁盤必須有10G的剩余空間
n新建
p選擇類型,主分區
分區編號默認
起始柱面默認
+10G大小指定為10G
w保存退出
(1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;
mke2fs -t ext4 -b 2048 -L= 'MYDATE' -m 2 /dev/sda3
tune2fs -o acl /dev/sda3

(2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳;
mkdir /data/mydate
mount -t ext4 -o noexec,noatime /dev/sda3 /data/mydata/
2、創建一個大小為1G的swap分區,并創建好文件系統,并啟用之;
我新加了個硬盤

 fdisk /dev/sdb

  mkswap /dev/sdb1 
  partx -a /dev/sdb
  mkawon /dev/sdb1

3、寫一個腳本

(1)、獲取并列出當前系統上的所有磁盤設備;
(2)、顯示每個磁盤設備上每個分區相關的空間使用信息;

  #!/bin/bash
 for i in $(grep '.*[^0-9]$' /proc/partitions |grep -v 'major'|tr -s ' ' |cut -d' '  -f5);do
  echo "============$i============"
 fdisk -l /dev/$i
 df -h /dev/$i
  echo 
 done

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

## RAID 0 ##

RAID 0亦稱為帶區集。它將兩個以上的磁盤并聯起來,成為一個大容量的磁盤。在存放數據時,分段后分散存儲在這些磁盤中,因為讀寫時都可以并行處理,所以在所有的級別中,RAID 0的速度是最快的。但是RAID 0既沒有冗余功能,也不具備容錯能力,如果一個磁盤(物理)損壞,所有數據都會丟失,危險程度與JBOD相當。

簡單的說:2個磁盤并聯起來成一個大容量的磁盤,讀寫能力提高,無容錯能力,沒有冗余能力,一旦一塊硬盤出錯就會導致所有數據丟失。

RAID 1

 兩組以上的N個磁盤相互作鏡像,在一些多線程操作系統中能有很好的讀取速度,理論上讀取速度等于硬盤數量的倍數,另外寫入速度有微小的降低。只要一個磁盤正常即可維持運作,可靠性最高。其原理為在主硬盤上存放數據的同時也在鏡像硬盤上寫一樣的數據。當主硬盤(物理)損壞時,鏡像硬盤則代替主硬盤的工作。因為有鏡像硬盤做數據備份,所以RAID 1的數據安全性在所有的RAID級別上來說是最好的。但無論用多少磁盤做RAID 1,僅算一個磁盤的容量,是所有RAID中磁盤利用率最低的一個級別。
 如果用兩個不同大小的磁盤建RAID 1,可用空間為較小的那個磁盤,較大的磁盤多出來的空間也可以分區成一個區來使用,不會造成浪費。

  簡單的說:2個磁盤都做成一模一樣的鏡像,一個改動了另一個也會改動。讀能力上去了,寫能力下降了。有冗余能力,主硬盤壞了,副硬盤會頂上。無論用多少磁盤做RAID 1,僅算一個磁盤的容量,是所有RAID中磁盤利用率最低的一個級別。

RAID 2

這是RAID 0的改良版,以漢明碼(Hamming Code)的方式將數據進行編碼后分區為獨立的比特,并將數據分別寫入硬盤中。因為在數據中加入了錯誤修正碼(ECC,Error Correction Code),所以數據整體的容量會比原始數據大一些,RAID2最少要三臺磁盤驅動器方能運作。

簡單的說:跟RAID 0 一樣,只不過是改良版。

RAID 3

采用Bit-interleaving(數據交錯存儲)技術,它需要通過編碼再將數據比特分割后分別存在硬盤中,而將同比特檢查后單獨存在一個硬盤中,但由于數據內的比特分散在不同的硬盤上,因此就算要讀取一小段數據資料都可能需要所有的硬盤進行工作,所以這種規格比較適于讀取大量數據時使用。

簡單的說:采用數據交錯存儲技術,通過編碼將數據比特分割分別存儲。同比特檢查放在一個硬盤,不同比特放在不同的硬盤。適用讀取大量數據時使用。

RAID 4

它與RAID 3不同的是它在分區時是以區塊為單位分別存在硬盤中,但每次的數據訪問都必須從同比特檢查的那個硬盤中取出對應的同比特數據進行核對,由于過于頻繁的使用,所以對硬盤的損耗可能會提高。(塊交織技術,Block interleaving)

簡單的說: 1101 0110 校驗碼1011 通過對比生成校驗碼,也可通過校驗碼來還原。(1+0,1+1,0+1,0+1)=1011   不常用

RAID 5

 RAID Level 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高,存儲成本相對較便宜。

簡單的說:就是采用輪流做校驗機制,并且奇偶校驗信息和相對應的數據分別存儲于不同的磁盤上。讀寫能力上升了,有容錯能力,最少磁盤數為3.

RAID 6

與RAID 5相比,RAID 6增加第二個獨立的奇偶校驗信息塊。兩個獨立的奇偶系統使用不同的算法,數據的可靠性非常高,任意兩塊磁盤同時失效時不會影響數據完整性。RAID 6需要分配給奇偶校驗信息更大的磁盤空間和額外的校驗計算,相對于RAID 5有更大的IO操作量和計算量,其“寫性能”強烈取決于具體的實現方案,因此RAID6通常不會通過軟件方式來實現,而更可能通過硬件/固件方式實現。

同一數組中最多容許兩個磁盤損壞。更換新磁盤后,數據將會重新算出并寫入新的磁盤中。依照設計理論,RAID 6必須具備四個以上的磁盤才能生效。

可使用的容量為硬盤總數減去2的差,乘以最小容量,公式為:


同理,數據保護區域容量則為最小容量乘以2。

RAID 6在硬件磁盤陣列卡的功能中,也是最常見的磁盤陣列檔次。

JBOD

JBOD( Just a Bunch Of Disks)在分類上,JBOD并不是RAID的檔次。由于并沒有規范,市場上有兩類主流的做法

使用單獨的鏈接端口如SATA、USB或1394同時控制多個各別獨立的硬盤,使用這種模式通常是較高級的設備,還具備有RAID的功能,不需要依靠JBOD達到合并邏輯扇區的目的。
只是將多個硬盤空間合并成一個大的邏輯硬盤,沒有錯誤備援機制。
數據的存放機制是由第一顆硬盤開始依序往后存放,即操作系統看到的是一個大硬盤(由許多小硬盤組成的)。但如果硬盤損毀,則該顆硬盤上的所有數據將無法救回。若第一顆硬盤損壞,通常無法作救援(因為大部分文件系統將磁盤分區表(partition table)存在磁盤前端,即第一顆),失去磁盤分區表即失去一切數據,若遭遇磁盤陣列數據或硬盤出錯的狀況,危險程度較RAID 0更劇。它的好處是不會像RAID,每次訪問都要讀寫全部硬盤。

RAID 7

RAID 7并非公開的RAID標準,而是Storage Computer Corporation的專利硬件產品名稱,RAID 7是以RAID 3及RAID 4為基礎所發展,但是經過強化以解決原來的一些限制。另外,在實現中使用大量的高速緩存以及用以實現異步數組管理的專用即時處理器,使得RAID 7可以同時處理大量的IO要求,所以性能甚至超越了許多其他RAID標準的實做產品。但也因為如此,在價格方面非常的高昂。[3]
簡單的說:這是一款專利硬件,很貴,一般很少用

RAID 10/01

 RAID 10是先鏡射再分區數據,再將所有硬盤分為兩組,視為是RAID 0的最低組合,然后將這兩組各自視為RAID 1運作。

 RAID 01則是跟RAID 10的程序相反,是先分區再將數據鏡射到兩組硬盤。它將所有的硬盤分為兩組,變成RAID 1的最低組合,而將兩組硬盤各自視為RAID 0運作。

當RAID 10有一個硬盤受損,其余硬盤會繼續運作。RAID 01只要有一個硬盤受損,同組RAID 0的所有硬盤都會停止運作,只剩下其他組的硬盤運作,可靠性較低。如果以六個硬盤建RAID 01,鏡射再用三個建RAID 0,那么壞一個硬盤便會有三個硬盤脫機。因此,RAID 10遠較RAID 01常用,零售主板絕大部分支持RAID 0/1/5/10,但不支持RAID 01。

RAID 50

RAID 50
RAID 5與RAID 0的組合,先作RAID 5,再作RAID 0,也就是對多組RAID 5彼此構成Stripe訪問。由于RAID 50是以RAID 5為基礎,而RAID 5至少需要3顆硬盤,因此要以多組RAID 5構成RAID 50,至少需要6顆硬盤。以RAID 50最小的6顆硬盤配置為例,先把6顆硬盤分為2組,每組3顆構成RAID 5,如此就得到兩組RAID 5,然后再把兩組RAID 5構成RAID 0。

RAID 50在底層的任一組或多組RAID 5中出現1顆硬盤損壞時,仍能維持運作,不過如果任一組RAID 5中出現2顆或2顆以上硬盤損毀,整組RAID 50就會失效。

RAID 50由于在上層把多組RAID 5構成Stripe,性能比起單純的RAID 5高,容量利用率比RAID5要低。比如同樣使用9顆硬盤,由各3顆RAID 5再組成RAID 0的RAID 50,每組RAID 5浪費一顆硬盤,利用率為(1-3/9),RAID 5則為(1-1/9)。

RAID 53

 它擁有一個鏡射條帶數組,硬盤里其中一個條帶就是一個是由3組以上的RAID 5組成RAID 3硬盤陣列。

RAID 60

RAID 6與RAID 0的組合:先作RAID 6,再作RAID 0。換句話說,就是對兩組以上的RAID 6作Stripe訪問。RAID 6至少需具備4顆硬盤,所以RAID 60的最小需求是8顆硬盤。

由于底層是以RAID 6組成,所以RAID 60可以容許任一組RAID 6中損毀最多2顆硬盤,而系統仍能維持運作;不過只要底層任一組RAID 6中損毀3顆硬盤,整組RAID 60就會失效,當然這種情況的概率相當低。

比起單純的RAID 6,RAID 60的上層通過結合多組RAID 6構成Stripe訪問,因此性能較高。不過使用門檻高,而且容量利用率低是較大的問題。

5、創建一個大小為10G的RAID1,要求有一個空閑盤,而且CHUNK大小為128k;

   先創建3個5G的分區用fdisk
    partx -a /dev/sdb
  mdadm -C /dev/md1 -n 3 -l 1 -c 128 -a yes -x 1 /dev/sdb{1,2,3}

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

    先創建3個分區總和為4G
     partx -a /dev/sdb
   mdadm -C /dev/md1 -n 3 -l 5 -c 256 -a yes /dev/sdb{1,2,3}
   mke2fs -t ext4 /dev/md1
   mount -a /backup -t ext4 -o exec,noatime,acl /dev/md1 /backup

7、寫一個腳本
(1) 接受一個以上文件路徑作為參數;
(2) 顯示每個文件擁有的行數;
(3) 總結說明本次共為幾個文件統計了其行數;

  #!/bin/bash
  #
 echo "Files: $@"
 for file in $@
  do
 lines=$(wc -l $file | cut -d' ' -f1)
 sum+=$lines

 echo "$file has $lines line(s)."
 done
 echo "Total files: $sum "

8、寫一個腳本
(1) 傳遞兩個以上字符串當作用戶名;
(2) 創建這些用戶;且密碼同用戶名;
(3) 總結說明共創建了幾個用戶;

#!/bin/sbin
 echo "users:$@"
 for user in $@
 do
 useradd $user
 echo "$user" | passwd --stdin "$user"
 let sum=$sum+1
 done
 echo "total found user: $sum "

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

#!/bin/sbin
 for i in $(seq 1 20)
 do
 useradd vistor$i
 userid='grep "visitor$i" /etc/passwd | cut -d: -f3
  sumid=$[ $sumid + $user ]
 done
 echo "ID sum:$sumid"

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

for i in /etc/rc.d/rc.sysinit /etc/rc.d/init.d/functions /etc/fstab 
  do
 echo "$i # start is   "grep -E "^#" $i |wc -l" lines"
 echo "$i space start is "grep -E "^$"  $i |wc -l "lines"
 done

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

grep '/bin/bash$' /etc/passwd | cut -d: -f1,3
uid="grep "/bin/bash$" /etc/passwd | cut -d: -f3"
for i in $uid
do
let sumid+=$i
done
echo "uid sum:$sumid"

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

13、創建一個由至少兩個物理卷組成的大小為20G的卷組;要求,PE大小為8M;而在卷組中創建一個大小為5G的邏輯卷mylv1,格式化為ext4文件系統,開機自動掛載至/users目錄,支持acl;
先創建兩塊硬盤 /dev/sdb /dev/sdc
fdisk /dev/sda 創建兩個 /dev/sda{11,12}分區
partx -a /dev/sda 讓內核讀取
pvcreate /dev/sda{11,12} 創建物理卷
vgcreate -s 8M testvg /dev/sda{11,12}
lvcreate -L 5G -n testlv testvg 創建邏輯卷
mke2fs -t ext4 /dev/testvg/mylv1
mount -a /user -o acl /dev/testvg/mylv1 /user

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

     mkdir -p /users/magedu
     useradd -d /users/magedu magedu

     su - magedu
     cp /tmp/* /users/magedu

15、擴展mylv1至9G,確保擴展完成后原有數據完全可用;
之前已經有5G
lvextend -L +4G /dev/testvg/mylv1
df -h #發現硬盤并沒有增大
resize2fs -p /dev/testvg/testlv

16、縮減mylv1至7G,確??s減完成后原有數據完全可用;

 umount /dev/testvg/mylv1
 resize2fs /dev/testvg/testlv 2G 
 lvreduce -L 2G /dev/testvg/mylv1
 mount /dev/testvg/testlv /users

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

   lvcreate -L 30M -n backup -s -p r /dev/testvg/testlv

有些是以前做過的 改了一下。畢竟沒那沒多時間  看一下在回憶一下就一天過去了

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

(0)
N19_kingN19_king
上一篇 2016-06-22
下一篇 2016-06-23

相關推薦

  • 第二周練習作業

    第二周作業 1、2、4、5 題博客中已經總結 3、請使用命令行展開功能來完成以下練習: (1)、創建/tmp目錄下的:ac, ad, bc, bd (2)、創建/tmp/mylinux目錄下的: mylinux/     ├── bin     ├── boo…

    Linux干貨 2016-11-06
  • N25第七周博客作業

    第七周博客作業 1、 創建一個10G分區,并格式為ext4文件系統; fdisk/dev/sdb à nàpàlast扇區:+10Gàwàpartx -a /dev/sdb   (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; mke2fs  -t ext4 -b 2…

    Linux干貨 2017-02-20
  • rpm軟件包管理

    一:二進制應用程序組成部分 二進制文件(which command)、庫文件(ldd `which command`)、配置文件(.conf)、幫助文件(.README)等 二:rpm包文件的組成 rpm文件、rpm元數據(如名稱、依賴性關系等)、安裝或卸載時運行的腳本 三:rpm包數據庫: 1.組成部分(通過 ls /var/lib/rpm 來查…

    2017-08-13
  • 用戶,組和權限管理 基礎命令整理

    安全3A任何一個安全策略都應該有Authentication(認證)、Authentication(授權)、Accouting|Audition(審計)這三個措施。 用戶(User)Linux用戶是安全3A中的Authentication(認證)措施。用戶在登錄時,系統會檢查用戶輸入的用戶名和密碼。如果用戶輸入的用戶名和密碼匹配,會根據用戶信息給用戶分配一個…

    Linux干貨 2017-03-16
  • N25-第二周作業

    1、  Linux上的文件管理類命令都有那些,其常用的使用方法及其相關示例演示。 常用的管理類命令有:rm、mv、cp 1)         rm:remove rm [ OPTION ] FILE 常用選項:     &nbsp…

    Linux干貨 2016-12-13

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-06-23 13:41

    寫的很好,排版很好,但是腳本很大一部分有些問題,在仔細測試一下

欧美性久久久久