第七周-磁盤管理、RAID及Shell腳本練習

一、創建一個10G分區,并格式為ext4文件系統;

(1)、 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;

(2)、掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳;

[root@N1 ~]# mkfs.ext4 -b 2048 -m 2 -L MYDATA /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系統標簽=MYDATA
OS type: Linux
塊大小=2048 (log=1)
分塊大小=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 5242880 blocks
104857 blocks (2.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=273678336
320 block groups
16384 blocks per group, 16384 fragments per group
2048 inodes per group
Superblock backups stored on blocks: 
    16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104, 
    2048000, 3981312

Allocating group tables: 完成
正在寫入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成   
[root@N1 ~]# tune2fs -o acl /dev/sdb1
tune2fs 1.42.9 (28-Dec-2013)
[root@N1 ~]# mount -o noexec,noatime /dev/sdb1 /data/mydata
[root@N1 ~]# mount | grep /dev/sdb1
/dev/sdb1 on /data/mydata type ext4 (rw,noexec,noatime,seclabel,data=ordered)

二、創建一個大小為1G的swap分區,并創建好文件系統,并啟用之;

[root@N1 ~]# mkswap /dev/sdb5
正在設置交換空間版本 1,大小 = 1048572 KiB
無標簽,UUID=917fcaf4-68b7-415f-b48d-308eff4d7b9f
[root@N1 ~]# swapon /dev/sdb5

三、寫一個腳本

(1)、獲取并列出當前系統上的所有磁盤設備;

(2)、顯示每個磁盤設備上每個分區相關的空間使用信息;

#!/bin/bash
disk=`fdisk -l | grep -o "/dev/sd[a-z][1-9]\+"`
echo -e "All disk:\n$disk\n"
for i in $disk
 do
  df -h $i
done

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

RAID級別介紹; 一般常用的RAID階層,分別是RAID 0、RAID1、RAID 2、RAID 3、RAID 4以及RAID 5,再加上二合一型 RAID 0+1﹝或稱RAID 10﹞。我們先把這些RAID級別的優、缺點做個比較:

RAID級別 相對優點 相對缺點
RAID 0 存取速度最快 沒有容錯
RAID 1 完全容錯 成本高
RAID 2 帶漢明碼校驗 數據冗余多,速度慢
RAID 3 寫入性能最好 沒有多任務功能
RAID 4 具備多任務及容錯功能 磁盤驅動器造成性能瓶頸
RAID 5 具備多任務及容錯功能 寫入時有overhead
RAID 01/RAID 10 速度快、完全容錯 成本高
  • RAID 0 的特點;

    • 也稱為條帶模式(striped),即把連續的數據分散到多個磁盤上存取。當系統有數據請求就可以被多個磁盤并行的執行,每個磁盤執行屬于它自己的那部分數據請求。這種數據上的并行操作可以充分利用總線的帶寬,顯著提高磁盤整體存取性能。因為讀取和寫入是在設備上并行完成的,讀取和寫入性能將會增加,這通常是運行 RAID 0 的主要原因。但RAID 0沒有數據冗余,如果驅動器出現故障,那么將無法恢復任何數據。 

  • RAID 1 的特點;

    • RAID 1 又稱為鏡像(Mirroring),一個具有全冗余的模式。RAID 1可以用于兩個或2xN個磁盤,并使用0塊或更多的備用磁盤,每次寫數據時會同時寫入鏡像盤。這種陣列可靠性很高,但其有效容量減小到總容量的一半,同時這些磁盤的大小應該相等,否則總容量只具有最小磁盤的大小。 

  • RAID 5 的特點;

    • 在希望結合大量物理磁盤并且仍然保留一些冗余時,RAID 5 可能是最有用的 RAID 模式。RAID 5可以用在三塊或更多的磁盤上,并使用0塊或更多的備用磁盤。就像 RAID 4一樣,得到的 RAID5 設備的大小是(N-1)*S。

    • RAID 5其中一塊磁盤出現故障,那么由于有校驗信息,所以所有數據仍然可以保持不變。如果可以使用備用磁盤,那么在設備出現故障之后,將立即開始同步數據。如果兩塊磁盤同時出現故障,那么所有數據都會丟失。RAID5 可以經受一塊磁盤故障,但不能經受兩塊或多塊磁盤故障。

    • RAID 5也是采取獨立存取模式,但是其Parity Data 則是分散寫入到各個成員磁盤驅動器,因此,除了具備Overlapped I/O 多任務性能之外,同時也脫離如RAID 4單一專屬Parity Disk的寫入瓶頸。但是,RAI?D 5在座資料寫入時,仍然稍微受到”讀、改、寫過程”的拖累。 

  • RAID 01/RAID 10特點

    • 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。

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

[root@N1 ~]# mdadm -C /dev/md0 -a yes -n 2 -x 1 -c 128 -l 1 /dev/sdb{1,2,3}
mdadm: /dev/sdb1 appears to contain an ext2fs file system
       size=10485760K  mtime=Sun Aug 13 15:53:36 2017
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
mdadm: /dev/sdb3 appears to be part of a raid array:
       level=raid0 devices=0 ctime=Thu Jan  1 08:00:00 1970
mdadm: partition table exists on /dev/sdb3 but will be lost or
       meaningless after creating array
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

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

[root@N1 ~]# mdadm -C /dev/md0 -a yes -n 3  -c 256 -l 5 /dev/sdb{1,2,3}
mdadm: /dev/sdb1 appears to contain an ext2fs file system
       size=10485760K  mtime=Sun Aug 13 15:53:36 2017
mdadm: /dev/sdb1 appears to be part of a raid array:
       level=raid5 devices=3 ctime=Sun Aug 13 17:37:58 2017
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@N1 ~]# mkfs.ext4 /dev/md0 
mke2fs 1.42.9 (28-Dec-2013)
文件系統標簽=
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=64 blocks, Stripe width=128 blocks
262144 inodes, 1047552 blocks
52377 blocks (5.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=1073741824
32 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: 完成
正在寫入inode表: 完成
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 
[root@N1 ~]# mkdir /backup
[root@N1 ~]# blkid /dev/md0
/dev/md0: UUID="16e3c761-3b8a-40d0-9bb2-c8f5af081504" TYPE="ext4" 
[root@N1 ~]# vim /etc/fstab
# /etc/fstab
# Created by anaconda on Fri Jul 14 17:51:07 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/centos-root /   xfs defaults0 0
UUID=ee8161b1-a9d1-4c9f-a2f5-3ba9200eab5f /boot   xfs defaults0 0
/dev/mapper/centos-swap swapswapdefaults0 0
UUID=16e3c761-3b8a-40d0-9bb2-c8f5af081504 /backup  ext4 defaults,acl,noatime 0 0

七、寫一個腳本

(1) 接受一個以上文件路徑作為參數;

(2) 顯示每個文件擁有的行數;

(3) 總結說明本次共為幾個文件統計了其行數;

#!/bin/bash

for i in $@; 
 do
  echo "lines :`wc -l $i`"
done
echo "Count for $# files"

八、寫一個腳本

(1) 傳遞兩個以上字符串當作用戶名;

(2) 創建這些用戶;且密碼同用戶名;

(3) 總結說明共創建了幾個用戶;

#!/bin/bash
if [ $# -lt 2 ];then
echo "Error,Please input more."
fi

for i in $@;
 do
  useradd $i
  echo $i | passwd --stdin $i
done
echo "Create $# users."

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

#!/bin/bash
sum=0
for i in `seq 1 20`;
 do
  useradd visitor$i
  uid=`id -u visitor$i`
  let sum=$uid+$sum
done
echo "Sum of UID:$sum"

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

(0)
N27_whatN27_what
上一篇 2017-08-13
下一篇 2017-08-13

相關推薦

  • Linux運維之路-Linux基礎學習三

    先學會用戶組和文件的屬性,才知道怎么去管理

    Linux干貨 2017-11-26
  • Tomcat 性能優化-1

    <Connector  port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75&…

    Linux干貨 2016-09-19
  • 安裝Redmine

    Redmine是一個開源的、基于Web的項目管理和缺陷跟蹤工具。它用日歷和甘特圖輔助項目及進度可視化顯示。同時它又支持多項目管理。Redmine是一個自由開放源碼軟件解決方案,它提供集成的項目管理功能,問題跟蹤,并為多個版本控制選項的支持。雖說像IBM Rational Team Concert的商業項目調查工具已經很強大了,但想堅持一個自由和開放源碼的解決…

    Linux干貨 2016-12-01
  • 基于NFS服務的mariadb數據庫實現

    實驗要求:     (1) nfs server導出/data/目錄;     (2) nfs client掛載/data/至本地的/mydata目錄;本地的mysqld或mariadb服務的數據目錄設置為/mydata, 要求服務能正常啟動,且可正常 存儲數據;   (3)用另一臺主機,…

    2017-06-11
  • N22-℡浮生.若夢 ╮第四周作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 ~]# cp -r /etc/skel/ /home/tuser1 ~]# chmod -R 700 /home/tuser1 ~]#&nbsp…

    Linux干貨 2016-09-19
  • 初至馬哥教育

    linux面授班30期

    2018-03-26
欧美性久久久久