馬哥教育21期網絡班—第7周課程+練習—-成長進行時–努力前進

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

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

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

fdisk /dev/sdb   1、磁盤分區
   [root@localhost ~]# fdisk /dev/sdb 
   歡迎使用 fdisk (util-linux 2.23.2)。
   更改將停留在內存中,直到您決定將更改寫入磁盤。
   使用寫入命令前請三思。
   Device does not contain a recognized partition table
   使用磁盤標識符 0x645f3764 創建新的 DOS 磁盤標簽。
   命令(輸入 m 獲取幫助):n  
   Partition type:
   			p   primary (1 primary, 0 extended, 3 free)
   			e   extended
   Select (default p): p
   分區號 (1-4,默認 1):
   起始 扇區 (2048-20971519,默認為 2048):
   將使用默認值 2048
   Last 扇區, +扇區 or +size{K,M,G} (2048-20971519,默認為 20971519):
   將使用默認值 20971519
   分區 1 已設置為 Linux 類型,大小設為 10 GiB
   命令(輸入 m 獲取幫助):w
   The partition table has been altered!
   Calling ioctl() to re-read partition table.
   正在同步磁盤。   2、通知內核重新讀取硬盤分區表
   [root@localhost ~]# partx -a /dev/sdb
   [root@localhost ~]# cat /proc/partitions 
	major minor  #blocks  name
   	8        0  125829120 sda
   	8        1     512000 sda1
   	8        2  125316096 sda2
   	8       16   10485760 sdb
   	8       17   10484736 sdb1
  	11        0    1048575 sr0
 	253        0   52428800 dm-0
 	253        1    2097152 dm-1
 	253        2   70721536 dm-2
 	3、格式化分區
 	[root@localhost ~]# mke2fs -t 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, 5242368 blocks
	104847 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@localhost ~]# tune2fs -o acl /dev/sdb1 
	tune2fs 1.42.9 (28-Dec-2013)
	[root@localhost ~]# echo $?
	0
	4、掛載
	[root@localhost ~]# mkdir -p /data/mydata/
	[root@localhost ~]# mount -o noauto,noatime,acl /dev/sdb1 /data/mydata/

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

1、創建交換分區
	[root@localhost ~]# fdisk /dev/sdc 
	歡迎使用 fdisk (util-linux 2.23.2)。
	更改將停留在內存中,直到您決定將更改寫入磁盤。
	使用寫入命令前請三思。
	Device does not contain a recognized partition table
	使用磁盤標識符 0xa1cdd8bb 創建新的 DOS 磁盤標簽。
	命令(輸入 m 獲取幫助):n
	Partition type:
	   p   primary (0 primary, 0 extended, 4 free)
	   e   extended	Select (default p): p
	分區號 (1-4,默認 1):
	起始 扇區 (2048-2097151,默認為 2048):
	將使用默認值 2048
	Last 扇區, +扇區 or +size{K,M,G} (2048-2097151,默認為 2097151):
	將使用默認值 2097151
	分區 1 已設置為 Linux 類型,大小設為 1023 MiB
	命令(輸入 m 獲取幫助):m
	命令操作
	   a   toggle a bootable flag
	   b   edit bsd disklabel	   c   toggle the dos compatibility flag	   d   delete a partition
	   g   create a new empty GPT partition table
	   G   create an IRIX (SGI) partition table
	   l   list known partition types	   m   print this menu	   n   add a new partition
	   o   create a new empty DOS partition table
	   p   print the partition table
	   q   quit without saving changes
	   s   create a new empty Sun disklabel	   t   change a partition's system id
	   u   change display/entry units
	   v   verify the partition table
	   w   write table to disk and exit
	   x   extra functionality (experts only)
	命令(輸入 m 獲取幫助):t
	已選擇分區 1
	Hex 代碼(輸入 L 列出所有代碼):82
	已將分區“Linux”的類型更改為“Linux swap / Solaris”
	命令(輸入 m 獲取幫助):w
	The partition table has been altered!
	Calling ioctl() to re-read partition table.
	正在同步磁盤。
	2、通知內核重新讀取硬盤分區表
	[root@localhost ~]# partx -a /dev/sdc
	[root@localhost ~]# cat /proc/partitions
	[root@localhost ~]# mkswap /dev/sdc1 
	正在設置交換空間版本 1,大小 = 1047548 KiB
	無標簽,UUID=a6d304b5-9bb5-4a39-adc9-f8bbdfe1e746
	[root@localhost ~]# free -m 
	              total        used        free      shared  buff/cache   available
	Mem:            977         144         654           6         179         668
	Swap:          3070           0        3070

3、寫一個腳本

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

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

   #!/bin/bash
 #
 i=1
 fdisk -l /dev/hd[a-z] | grep "Disk /"
 for DevName in $(ls /dev/[s,h]d[a-z][1-9]);do
     if [ $i -eq 1 ] ;then
         df -h $Dev | awk -v FS="    " '{print $1,$2,$3,$4,$5,$6}'
         let i++
     else
         df -h $DevName | grep -v "File" | awk -v ="    " -v name=$Dev '{print name,$2,$3,$4,$5,$6}'
     fi
 done

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

RAID 介紹.png

raid-0:帶區卷
		讀、寫性能提升;
		可用空間:N*min(S1,S2,...)最小值
		無容錯能力
		最少磁盤數:2, 2+
RAID-1:鏡像卷
		讀性能提升、寫性能略有下降;
		可用空間:1*min(S1,S2,...)
		有冗余能力
		最少磁盤數:2, 2+
RAID-5:
		讀、寫性能提升
		可用空間:(N-1)*min(S1,S2,...)
		有容錯能力:1塊磁盤
		最少磁盤數:3, 3+
RAID-6:
		讀、寫性能提升
		可用空間:(N-2)*min(S1,S2,...)
		有容錯能力:2塊磁盤
		最少磁盤數:4, 4+
RAID-10:
		讀、寫性能提升
		可用空間:N*min(S1,S2,...)/2
		有容錯能力:每組鏡像最多只能壞一塊;
		最少磁盤數:4, 4+
JBOD:Just a Bunch Of Disks
		功能:將多塊磁盤的空間合并一個大的連續空間使用;
		可用空間:sum(S1,S2,...)

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

fdisk  /dev/sdb 分區
mdadm -C /dev/md0 -n 2 -l 1 -c 128 -x 1 /dev/sdb{1,2,3} 
[root@localhost ~]#  mdadm -D /dev/md0/dev/md0:
        Version : 1.2
  Creation Time : Mon Aug 15 21:41:49 2016
     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 : Mon Aug 15 21:42:42 2016
          State : clean 
 Active Devices : 2Working Devices : 3
 Failed Devices : 0
  Spare Devices : 1

           Name : localhost.localdomain:0  (local to host localhost.localdomain)
           UUID : ef3583dc:ef361cd0:12593e47:8bad609a
         Events : 17

    Number   Major   Minor   RaidDevice State       0       8       17        0      active sync   /dev/sdb1       1       8       18        1      active sync   /dev/sdb2       2       8       19        -      spare   /dev/sdb3

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

disk  /dev/sdb 分區
mdadm -C /dev/md0 -n 3 -l 5 -c 256 /dev/sdb{1,2,3} 
mkfs.ext4 /dev/md0
echo "/dev/md0    /backup   ext4  defaults,acl,nodiratime  0 0"  >> /etc/fstab
  • 7、寫一個腳本

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

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

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

#!/bin/bash 
	# 
	if [ $# -eq 0 ];then
	   echo “請輸入文件名:”			
	   exit  0
	fi
		for i in $*	do
	        echo "$i have $(wc -l $i | cut -d' ' -f1) lines"
		done
	echo  "本次共為$#個文件統計了其行數!"
  • 8、寫一個腳本

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

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

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

#!/bin/bash #if [ $# -lt 2 ];thenecho "請輸入兩個以上的參數:"exit 0fi
	for i in $*;do
	if id "$i" &>/dev/null;then
		echo “當前用戶已存在”		
		exit 1
		else
 		useradd  "$i"
	fiif [ $? -eq 0 ];then
	echo "$i" | passwd --stdin "$i" &> /dev/null	echo "用戶創建成功:"
	exit 2
	fi
	done
	echo "Total Add $# users !"

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

#!/bin/bash 
# 
declare -i tid
for i in {1..10};do
if id user$i &>/dev/null;then
echo "user$i exists."
else
useradd user$i
let tid+=$(id -u user$i)
fi
if [ $? -eq 0 ];then
echo "user$i" | passwd --stadin user$i &> /dev/null
echo "Add user$i finished."
fi
done
echo "Total id is $tid !"

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

#!/bin/bash 
# 
declare -i li 
declare -i line 
	for i in {/etc/rc.d/rc.sysinit,/etc/rc.d/init.d/functions,/etc/fstab};do
		let li+=$(grep ^# $i | wc -l | cut -d' ' -f1)
		let line+=$(grep ^[[:space:]]*$ $i | wc -l | cut -d' ' -f1)
	done
echo "文件中以#號開頭的行數之和:$li"
echo "總的空白行數:$line"

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

#!/bin/bash 
#
declare -i uid 
for i in $(grep bash$ /etc/passwd | cut -d: -f1);do
 echo "$i,`id -u $i`"
        let uid+=`id -u $i`
done
echo "Total uid is $uid !"

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

#!/bin/bash
#
declare -i NUM
for i in `grep '[^:]$' /etc/group | cut -d':' -f1`; do
    echo $i
    let "NUM++"
done
echo "Number of user: $NUM"

13、創建一個由至少兩個物理卷組成的大小為20G的卷組;要求,PE大小為8M;而在卷組中創建一個大小為5G的邏輯卷mylv1,格式化為ext4文件系統,開機自動掛載至/users目錄,支持acl;

pvcreate /dev/sdb{5,6,7,8} ;
vgcreate -s 8m myvg01 /dev/sdb{5,6,7,8}; 
lvcreate -L 5G -n mylv01 myvg01;
mke2fs -t ext4 /dev/myvg01/mylv01
mount -o acl /dev/myvg01/mylv01 /user; 
echo "/dev/myvg01    /user  ext4  defaults,acl  0 0"  >> /etc/fstab

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

if id magedu &>/dev/null;then
echo "user$i exists."
else
useradd -d /users/magedu magedu
fi
if [ $? -eq 0 ];then
echo "magedu" | passwd --stadin magedu &> /dev/null
echo "Add user$i finished."
fi
su - magedu
cp /etc/passwd /etc/fstab /users/magedu

15、擴展mylv1至9G,確保擴展完成后原有數據完全可用;

lvextend -L +4G /dev/myvg01/mylv01
resize2fs /dev/myvg01/mylv01

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

umount /dev/myvg01/mylv01; e2fsck /dev/myvg01/mylv01
resize2fs /dev/myvg01/mylv01;lvreduce -L -2G /dev/myvg01/mylv01

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

lvcreate -L 100m -p r -s -n snapmylv01 /dev/myvg01/mylv01

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

(0)
N21_ DominicN21_ Dominic
上一篇 2016-08-19
下一篇 2016-08-19

相關推薦

  • zabbix之報警功能的實現

    一、注冊微信公眾號 首先申請微信公眾平臺https://mp.weixin.qq.com/一個人最多申請5個公眾號,所以還是可以的 申請完之后就可以根據騰訊的提示使用微信公眾號了,然后用你自己的微信掃描關注微信號。 就可以看到用戶數了,接下來的就要使用的用戶的微信ID號了。點擊用戶查看用戶的微信ID號。在瀏覽器查看用戶的微信ID號。就是那個紅色的ID了。 h…

    2014-11-12
  • Linux基礎知識(二)

    一、Linux文件管理類命令的使用方法及其相關示例演示? 1、文件管理 (1)mkdir (2)rmdir (3)cp (4)mv (5)rm (6)touch 2、文件查看 (1)ls (2)tree (3)cat&tac (4)head (5)tail (6)more&less (7)stat 二、Bash特性詳解 1、命令行展開 (1)…

    Linux干貨 2016-09-27
  • 學習一個星期的沿途體會

    人生處處都是坑,只看跳的深不深。下面就來介紹介紹我跳的坑吧!當然我可沒打算在此長眠 既然選擇了Liunx,那對它的歷史就得了解清楚。就如同我們結婚,既然選擇了對方,那就要了解他的過去,包容他的未來。           Linux操作系統是一個叫Linus Torvalds的大學生在1991年開發而來。當然,…

    2017-07-16
  • 關于 磁盤、文件系統管理

                   磁盤、文件系統管理               1  設備識別2  設備分區3 …

    系統運維 2016-08-30
  • 學習積累01#計算機組成#Linux版本#基本命令

    第一周的積累 問題1:描述計算機的組成及其功能 CPU:中央處理器,主要功能是進行運算和邏輯運算,內部大致可分為控制單元、邏輯算術單元、存儲單元; 主板:核心部件,是電腦的“脈絡”,CPU\內存\控制核心電路均安裝在主板上,各種外部設備也通過主板上的插槽相互連接; 硬盤:常見的外存儲器,容量大,保存時間長、安全性高。接口主要分為IDE、SATA、SCSI。 …

    Linux干貨 2016-10-25
  • bind簡單配置之子域、主從、視圖

    [bind簡單配置之子域、主從、視圖] 標簽:bind簡單配置、子域、主從、視圖 [邏輯拓撲結構圖] ns.mylinux.com主機上面有兩種網卡用來模擬兩個不通的網段。 [子域配置]         域名內部還可以繼續劃分子域,進行分片管理。下面是正向子域授權的配置: &nb…

    Linux干貨 2015-10-22

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-22 14:45

    寫的很好,排版也很棒,加油,創建swap的時候是不是少了一步,第8題不對

欧美性久久久久