N26-第七周博客作業

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

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

         A、創建一個10G的磁盤空間

[root@VM_221_40_centos ~]#
fdisk /dev/vdb

Welcome to fdisk (util-linux 2.23.2).

 

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.

 

 

Command (m for help): p                                                               #查看當前分區情況

 

Disk /dev/vdb: 32.2 GB, 32212254720 bytes, 62914560 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0xaec1a5ab

 

   Device Boot      Start         End      Blocks   Id  System

 

Command (m for help): n                                                                 #新建一個分區

Partition type:

   p   primary (0 primary, 0 extended, 4 free)

   e   extended

Select (default p): p                                                                            #選擇分區類型為主分區

Partition number (1-4, default 1): 1                                               #分區編號為1

First sector (2048-62914559, default 2048):                           #輸入磁盤空間開始的塊的序號。不輸入任何數字為默認值2048。

Using default value 2048                                                                  #提示信息:使用默認值2048

Last sector, +sectors or +size{K,M,G} (2048-62914559, default
62914559): +10G                  #
輸入磁盤空間大?。?/span>10G

Partition 1 of type Linux and of size 10 GiB is set                      #反饋信息:類型為linux、空間為10G的分區1已經設定

 

Command (m for help): p                                                                 #查看當前分區信息

 

Disk /dev/vdb: 32.2 GB, 32212254720 bytes, 62914560 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0xaec1a5ab

 

   Device Boot      Start         End      Blocks   Id  System

/dev/vdb1            2048    20973567    10485760   83  Linux

#創建的分區的信息。設備路徑:/dev/vdb1、開始柱面:2048、結束柱面:20973567、總共有10485760個塊、分區ID83、分區類型:linux

Command (m for help): w                                                                #輸入w 保存操作并退出

The partition table has been altered!                                           #提示分區表已經改變

 

Calling ioctl() to re-read partition table.

Syncing disks.

[root@VM_221_40_centos ~]#

B、創建文件系統

[root@VM_221_40_centos ~]# mke2fs -t ext4 -b 2048 -L MYDATA -m 2 -O
has_journal /dev/vdb1

mke2fs 1.42.9 (28-Dec-2013)

Filesystem label=MYDATA                                                                         #標簽

OS type: Linux                                                                                               #文件系統類型

Block size=2048 (log=1)                                                                             #塊大小2048

Fragment size=2048 (log=1)

Stride=0 blocks, Stripe width=0 blocks

655360 inodes, 5242880 blocks                                                               #文件系統的inodeblock數量

104857 blocks (2.00%) reserved for the super user                           #預留空間百分比

First data block=0

Maximum filesystem blocks=273678336

320 block groups                                                                                          #塊組數量

16384 blocks per group, 16384 fragments per group                        #每組16384個塊

2048 inodes per group                                                                               #每個塊組中有2048inode

Superblock backups stored on blocks:                                                  #超級塊備份在哪些塊中

         16384, 49152, 81920,
114688, 147456, 409600, 442368, 802816, 1327104,

         2048000, 3981312

 

Allocating group tables: done                           

Writing inode tables: done                           

Creating journal (32768 blocks): done

Writing superblocks and filesystem accounting information: done  

 

[root@VM_221_40_centos ~]#

 

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

[root@VM_221_40_centos
~]# mkdir /data/mydata

[root@VM_221_40_centos
~]# mount -o noexec,noatime /dev/vdb1 /data/mydata

也可在/etc/fstab文件中新增一行

/dev/vdb1                /data/mydata                            ext4          defaults,noexec,noatime       0 0

         寫入保存退出后,運行mount
–a
,再運行mount命令查看己掛載的項

 

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

[root@VM_221_40_centos ~]# fdisk /dev/vdb

Welcome to fdisk (util-linux 2.23.2).

 

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.

 

 

Command (m for help): p

 

Disk /dev/vdb: 32.2 GB, 32212254720 bytes, 62914560 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0xaec1a5ab

 

   Device Boot      Start         End      Blocks   Id  System

/dev/vdb1            2048    20973567    10485760   83  Linux

 

Command (m for help): n

Partition type:

   p   primary (1 primary, 0 extended, 3 free)

   e   extended

Select (default p): p

Partition number (2-4, default 2): 2

First sector (20973568-62914559, default 20973568):

Using default value 20973568

Last sector, +sectors or +size{K,M,G} (20973568-62914559, default
62914559): +1G           #
設置分區大小為1G

Partition 2 of type Linux and of size 1 GiB is set

 

Command (m for help): t                                                                  #修改分區類型

 

Partition number (1,2, default 2): 2

Hex code (type L to list all codes): 82                                                     #輸入分區類型

Changed type of partition ‘Old Minix’ to ‘Linux swap / Solaris’

 

Command (m for help): p                                                                           #查看當前分區狀態

 

Disk /dev/vdb: 32.2 GB, 32212254720 bytes, 62914560 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0xaec1a5ab

 

   Device Boot      Start         End      Blocks   Id  System

/dev/vdb1            2048    20973567    10485760   83  Linux

/dev/vdb2        20973568    23070719     1048576   82  Linux swap / Solaris

 

Command (m for help): w                                                                          #保存退出

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

 

WARNING: Re-reading the partition table failed with error 16: Device
or resource busy.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

Syncing disks.

[root@VM_221_40_centos ~]#

 

[root@VM_221_40_centos ~]# partx -a /dev/vdb                             #讀取分區

partx: /dev/vdb: error adding partitions 1-2

[root@VM_221_40_centos ~]# fdisk -l /dev/vdb                                #查看/dev/vdb分區信息

 

Disk /dev/vdb: 32.2 GB, 32212254720 bytes, 62914560 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0xaec1a5ab

 

   Device Boot      Start         End      Blocks   Id  System

/dev/vdb1            2048    20973567    10485760   83  Linux

/dev/vdb2        20973568    23070719     1048576   82  Linux swap / Solaris            #swap分區己創建完成

[root@VM_221_40_centos ~]#

 

[root@VM_221_40_centos ~]# mkswap /dev/vdb2                          #創建交換分區文件系統

Setting up swapspace version 1, size = 1048572 KiB

no label, UUID=f731fb7d-f408-4088-9fca-ca2b4c39abc4

[root@VM_221_40_centos ~]#

 

[root@VM_221_40_centos ~]# free                                                      #free命令查看當前可用內存

              total        used        free      shared  buff/cache   available

Mem:        1016904      106860      135484       12544      774560      719572

Swap:             0           0           0

[root@VM_221_40_centos ~]# swapon
/dev/vdb2                           #
掛載swap分區

[root@VM_221_40_centos ~]# free                                                      #再次用free命令查看,可以看到已經掛載成功

              total        used        free      shared  buff/cache   available

Mem:        1016904      107348      135004       12544      774552      719096

Swap:       1048572           0     1048572

[root@VM_221_40_centos ~]#

三、寫一個腳本

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

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

腳本如下:

 

#!/bin/bash

#

#

a=`ls /dev/ | grep “[hsv]d[a-z]”`

echo -e “All of you disk devices is \n$a”

 

filesystem=`df -lh | grep “Filesystem”`

b=`df -lh | grep “^\/dev”`

echo -e “The Disk partition information\n$filesystem\n$b”

 

輸出結果:

 

[root@VM_221_40_centos tmp]# ./diskdisplay.sh

All of you disk devices is

vda

vda1

vdb

vdb1

vdb2

The Disk partition information

Filesystem      Size  Used Avail Use% Mounted on

/dev/vda1        20G  1.8G   17G  10% /

/dev/vdb1       9.8G   13M  9.6G   1% /data/mydata

 

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

         RAID的實現方式:

1.         硬件方式:

a)         外接式磁盤陣列:通過PCIPCI-E擴展卡提供適配能力

b)         內接式磁盤陣列:通過主板上集成的RAID控制器

2.         軟件方式:

a)         通過軟件創建(生產環境中不推薦使用)

RAID的級別

1)         RAID 0

這種模式如通過相同型號、相同容量的磁盤來實現效果極佳。

工作方式:

先把硬盤分切出等量的區塊,當文件要寫入磁盤中時,把數據依據磁盤區塊大小切割好,再依序交錯存入磁盤。如一個數據文件有100MB,每個磁盤會各存入50MB。

工作方式如下圖:

N26-第七周博客作業

RAID 0的特點:

l  讀寫能力提升

l  可用空間為最小硬盤容量乘以硬盤塊數。

l  無容錯能力,若其中一塊硬盤有故障,會導致數據缺失。

l  最少硬盤塊數:2

2)         RAID 1

工作方式:

先把硬盤分切出等量的區塊,當文件要寫入磁盤中時,把數據依據磁盤區塊大小切割好,再存入各磁盤各一份。

如保存一份文件時,兩個磁盤都會保存一份完整的文件。

N26-第七周博客作業

RAID 1 鏡像卷(mirror)特點:

l  讀性能提升,寫性能略有下降

l  可用空間:最小磁盤空間*1

l  有容錯能力

l  最少磁盤個數:2

3)         RAID 4

RAID 4工作方式:

兩塊硬盤做數據盤,另外一塊硬盤專門來做校驗盤。

數據保存時,按異或運算保存數據。

即當硬盤1保存的數據為1011,硬盤2保存的數據為1100,硬盤3中的數據以10111100作異或運算即為0111。

N26-第七周博客作業

RAID 4特點:

l  至少需要三塊硬盤

l  2塊硬盤做數據盤,1塊硬盤做校驗盤(文件讀寫時都需訪問該硬盤,工作壓力大)。

l  有容錯能力,允許壞一塊硬盤。當壞一塊硬盤的時候,為降級工作模式??勺x寫,但不推薦。

l  可用空間:(N-1*最小硬盤空間

 

4)         RAID 5

RAID5工作方式:

RAID4,不過為三塊硬盤輪流做校驗盤。

特點:

l  至少需要三塊硬盤

l  三塊硬盤輪流做校驗盤。

l  有容錯能力,允許壞一塊硬盤。當壞一塊硬盤的時候,為降級工作模式。可讀寫,但不推薦。

l  可用空間:(N-1*最小硬盤空間

工作方式見下圖:

N26-第七周博客作業 

5)         RAID 6

實現方式:至少由四塊硬盤構成。兩塊硬盤數據,另外兩塊硬盤輪流做校驗盤。

特點:

l  最少需4塊硬盤

l  讀寫能力提升

l  有容錯能力,可壞2塊硬盤而不影響數據。

l  可用空間(N-2*最小磁盤空間大小

工作方式見下圖:

N26-第七周博客作業

6)         RAID10

構成方式:

假設有四塊硬盤,分別為1,23,4。硬盤1,2構成一組RAID 1,硬盤3,4構成一組RAID 1。這兩組RAID 1再組成一組RAID 0。

N26-第七周博客作業

RAID 10特點:

l  讀寫能力提升

l  有容錯能力。每組RAID
1
允許壞一塊硬盤而不影響數據完整性。

l  可用空間為N*較小硬盤空間大小*50%

l  至少需要用4塊硬盤

7)         RAID 01

假設有四塊硬盤,分別為1,2,34。硬盤12構成一組RAID 0,硬盤3,4構成一組RAID 0。這兩組RAID 0再組成一組RAID 1。

結構圖如下:

N26-第七周博客作業

RAID 01特點:

l  讀寫能力提升

l  有容錯能力??梢砸唤MRAID0同時壞而不影響數據完整性。

l  可用空間為N*較小硬盤空間大小*50%

l  至少需要用4塊硬盤

 

 

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

         1、創建三個磁盤,狀態如下

                   磁盤 /dev/sdb21.5 GB,
21474836480
字節,41943040 個扇區

Units = 扇區 of 1 * 512 = 512 bytes

扇區大小(邏輯/物理)512 字節 / 512 字節

I/O 大小(最小/最佳)512 字節 / 512 字節

磁盤標簽類型:dos

磁盤標識符:0x6100c71b

 

   設備 Boot      Start         End      Blocks   Id  System

/dev/sdb1            2048    41943039    20970496   fd  Linux raid autodetect

 

磁盤 /dev/sdc21.5 GB,
21474836480
字節,41943040 個扇區

Units = 扇區 of 1 * 512 = 512 bytes

扇區大小(邏輯/物理)512 字節 / 512 字節

I/O 大小(最小/最佳)512 字節 / 512 字節

磁盤標簽類型:dos

磁盤標識符:0xa5e6f16a

 

   設備 Boot      Start         End      Blocks   Id  System

/dev/sdc1            2048    41943039    20970496   fd  Linux raid autodetect

 

磁盤 /dev/sdd21.5 GB,
21474836480
字節,41943040 個扇區

Units = 扇區 of 1 * 512 = 512 bytes

扇區大小(邏輯/物理)512 字節 / 512 字節

I/O 大小(最小/最佳)512 字節 / 512 字節

磁盤標簽類型:dos

磁盤標識符:0xdbe93c5b

 

   設備 Boot      Start         End      Blocks   Id  System

/dev/sdd1            2048    41943039    20970496   fd  Linux raid autodetect

         2、[root@promote ~]# mdadm -C /dev/md0 -a yes -n 2 -l 1 -x 1 -c 128
/dev/sd{b,c,d} 

                   #創建塊大小為128k,有兩塊磁盤,冗余一塊磁盤的raid1

mdadm: /dev/sdb appears to be part of a raid array:

       level=raid5 devices=4
ctime=Sun Jul  9 04:47:10 2017

mdadm: partition table exists on /dev/sdb but will be lost or

       meaningless after
creating array

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/sdc appears to be part of a raid array:

       level=raid5 devices=4
ctime=Sun Jul  9 04:47:10 2017

mdadm: partition table exists on /dev/sdc but will be lost or

       meaningless after
creating array

mdadm: /dev/sdd appears to be part of a raid array:

       level=raid5 devices=4
ctime=Sun Jul  9 04:47:10 2017

mdadm: partition table exists on /dev/sdd 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.

[root@promote ~]# cat /proc/mdstat                                          #查看狀態

Personalities : [raid6] [raid5] [raid4] [raid1]

md0 : active raid1 sdd[2](S) sdc[1] sdb[0]

      20955136 blocks super
1.2 [2/2] [UU]

      [===========>………]  resync
= 58.2% (12203264/20955136) finish=0.7min speed=200040K/sec

 

unused devices: <none>

[root@promote ~]#

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

 

         1、先創建三個空白磁盤空間,大小都為2G,分區類型改為raid可用的Linux raid autodetect

2、[root@promote ~]# mdadm -C /dev/md0 -a yes -n 3 -l 5 -c 256
/dev/sdb{1,2,3}                #
創建RAID5設備

mdadm: /dev/sdb1 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/sdb1 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.

[root@promote ~]# mdadm -D
/dev/md0                              #
查看設備信息

/dev/md0:

        Version : 1.2

  Creation Time : Mon Jul 10
00:13:18 2017

     Raid Level : raid5

     Array Size : 4190208
(4.00 GiB 4.29 GB)

  Used Dev Size : 2095104
(2046.34 MiB 2145.39 MB)

   Raid Devices : 3

  Total Devices : 3

    Persistence : Superblock
is persistent

 

    Update Time : Mon Jul 10
00:13:28 2017

          State : clean

 Active Devices : 3

Working Devices : 3

 Failed Devices : 0

  Spare Devices : 0

 

         Layout :
left-symmetric

     Chunk Size : 256K

 

           Name :
promote.cache-dns.local:0  (local to host
promote.cache-dns.local)

           UUID :
a862f385:88ce921d:85b08e3e:3116ff37

         Events : 18

 

    Number   Major   Minor   RaidDevice State

       0       8       17        0      active sync   /dev/sdb1

       1       8       18        1      active sync   /dev/sdb2

       3       8       19        2      active sync   /dev/sdb3

3、[root@promote ~]# 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: 完成

4、創建文件夾

[root@promote ~]# mkdir /backup

5、編輯/etc/fstab文件,新增一行,內容如下:

         /dev/md0                /backup                 ext4    defaults,acl,noatime    0 0

6、運行mount -a 掛載fstab文件中的所有掛載項,然后查找是否掛載成功。

[root@promote ~]# mount -a

[root@promote ~]# mount | grep md0

/dev/md0 on /backup type ext4
(rw,noatime,seclabel,stripe=128,data=ordered)

 

七、寫一個腳本

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

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

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

#!/bin/bash

#

echo “the pwd is $@”

for i in $@;do

        lines=`wc -l $i | cut
-d ‘ ‘ -f1 `

        echo “the lines
of $i is $lines”

done

        echo “the total
files is $#”

八、寫一個腳本

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

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

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

                   #!/bin/bash

#

if [ $# -lt 1 ];then

        echo “need more
than 2 strings”

        exit 2

fi

for username in $@;do

        if id $username
&>/dev/null;then

                echo
“$username is exists”

        else

                useradd
$username

                echo
“$username” | passwd –stdin $username

fi

done

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

#!/bin/bash

#

sum=0

for user in visitor{1..20};do

        useradd $user

        idnum=`id -u $user`

        let sum=$sum+$idnum

done

echo “uidsum is $sum”

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

(0)
lixinkuanlixinkuan
上一篇 2017-07-09
下一篇 2017-07-09

相關推薦

  • MySQL入門命令知識

    簡單介紹下吧,MySQL應用的場景大多數互聯網公司第一次賣身是賣個了sun好像是10億,第二次是連同sun自己,以74億美元被賣給了Orecle~后面MySQL原作者站出來說,MySQL會存在閉源風險,整了個MariaDB~我也是醉了,也不考慮下我們的痛苦!下面簡要介紹下MySQL的入門知識。    一、MySQL有三種定義語言 &nbs…

    2016-12-05
  • Openssl加密解密原理+CA自建實現

     Openssl加密解密原理+CA自建實現     前言 互聯網的驚人發展使企業和消費者都感到非常興奮,它正改變著我們的生活和工作方式。但是,互聯網的安全程度如何——尤其是在通過它發送機密信息時的安全性——已經成為人們關心的主要問題。隨著時代的發展,加密原理也不斷地在更新換代. 數據的加密目前已廣泛地運用于戰爭,商業活…

    Linux干貨 2015-05-25
  • Linux系統之用戶和組

    Linux系統之用戶和組 1、什么是用戶 用戶:資源獲取標識符,資源分配,安全權限模型的核心要素之一 2、沒有用戶,操作系統可否正常執行? 答案是肯定的 在Linux系統上,用戶管理是基于用戶名和密碼的方式進行資源的分配, Username/UID分為以下類別:     管理員:root, 0  &…

    Linux干貨 2016-08-04
  • ls的常用用法

    第一個命令

    2018-03-26
  • 基于keepalived實現高可用nginx服務

    基于keepalived實現高可用nginx服務 環境及配置前提說明 主機1,ip:192.168.25.140 運行web服務 主機2,ip:192.168.25.141 運行web服務 主機3,ip:192.168.25.138 運行nginx服務和keepalived服務 主機4,ip:192.168.25.139 運行nginx服務和keepaliv…

    Linux干貨 2016-11-07
  • 2016/10/14作業

    操作類: 1、設置自己的終端提示符,要求終端登陸時:     a> 需要帶顏色      b> 需要顯示當前執行到了第幾條命令      c> 顯示當前登錄終端,主機名和當前時間 首先我們要了解一個環境…

    Linux干貨 2016-10-19

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-07-13 17:14

    可以看出有在很認真的整理,這些將來都是自己的理論積累,加油。

欧美性久久久久