1.创建一个10G分区,并格式为ext4文件系统;

(1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA,默认挂载属性包含acl;

(2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳;

fdisk -l 查看当前磁盘分区情况

[root@localhost~]# fdisk -l

 

Disk /dev/sda: 21.5GB, 21474836480 bytes

255 heads, 63sectors/track, 2610 cylinders

Units = cylinders of16065 * 512 = 8225280 bytes

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

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

Disk identifier:0x000e609a

 

   Device Boot      Start         End      Blocks  Id  System

/dev/sda1   *          1          26      204800  83  Linux

Partition 1 does notend on cylinder boundary.

/dev/sda2              26        1332   10485760   83  Linux

/dev/sda3            1332        2351    8192000   83  Linux

/dev/sda4            2351        2611    2087936    5  Extended

/dev/sda5            2352        2479    1024000   82  Linux swap / Solaris

 

Disk /dev/sdb: 10.8GB, 10844372992 bytes

255 heads, 63sectors/track, 1318 cylinders

Units = cylinders of16065 * 512 = 8225280 bytes

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

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

Disk identifier:0x0000000

在新增的硬盘上新建分区一个10G主分区:

[root@localhost~]# fdisk /dev/sdb

Device containsneither a valid DOS partition table, nor Sun, SGI or OSF disklabel

Building a new DOSdisklabel with disk identifier 0x6c5ee8d0.

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

After that, ofcourse, the previous content won't be recoverable.

 

Warning: invalidflag 0x0000 of partition table 4 will be corrected by w(rite)

 

WARNING:DOS-compatible mode is deprecated. It's strongly recommended to

         switch off the mode (command 'c') andchange display units to

         sectors (command 'u').

 

Command (m forhelp): n

Command action

   e  extended

   p  primary partition (1-4)

p

Partition number(1-4): 1

First cylinder(1-1318, default 1): 1

Last cylinder,+cylinders or +size{K,M,G} (1-1318, default 1318): +10G

 

Command (m forhelp): w

The partition tablehas been altered!

 

Calling ioctl() tore-read partition table.

Syncing disks.

[root@localhost ~]#

查看创建是否成功:cat  /proc/partitions

(1):要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl

[root@localhost~]# mke2fs -t ext4 -b 2048 -m 2 -L 'MYDATA' /dev/sdb1

mke2fs 1.41.12(17-May-2010)

文件系统标签=MYDATA

操作系统:Linux

块大小=2048(log=1)

分块大小=2048(log=1)

Stride=0 blocks,Stripe width=0 blocks

657408 inodes,5245206 blocks

104904 blocks(2.00%) reserved for the super user

第一个数据块=0

Maximum filesystemblocks=543162368

321 block groups

16384 blocks pergroup, 16384 fragments per group

2048 inodes pergroup

Superblock backupsstored on blocks:

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

    2048000, 3981312

 

正在写入inode表: 完成                           

Creating journal(32768 blocks): 完成

Writing superblocksand filesystem accounting information: 完成

查看默认挂载属性:

[root@localhost~]# tune2fs -l /dev/sdb1

tune2fs 1.41.12(17-May-2010)

Filesystem volumename:   MYDATA

Last mountedon:          <not available>

FilesystemUUID:         53f64cbc-fa58-495c-9bcd-89b12745bedb

Filesystem magicnumber:  0xEF53

Filesystem revision#:    1 (dynamic)

Filesystemfeatures:      has_journal ext_attrresize_inode dir_index filetype needs_recov

ery extent flex_bgsparse_super huge_file uninit_bg dir_nlink extra_isizeFilesystem flags:         signed_directory_hash

Defaultmount options:    acl

Filesystemstate:         clean

Errors behavior:          Continue

Filesystem OStype:       Linux

Inode count:              657408

Block count:              5245206

Reserved blockcount:     104904

Free blocks:              5123382

Free inodes:              657397

First block:              0

Block size:               2048

Fragment size:            2048

Reserved GDTblocks:      512

Blocks pergroup:         16384

Fragments pergroup:      16384

Inodes pergroup:         2048

Inode blocks pergroup:   256

Flex block groupsize:    16

Filesystem created:       Wed Apr 5 18:10:34 2017

Last mounttime:          Wed Apr  5 18:25:27 2017

Last writetime:          Wed Apr  5 18:50:49 2017

Mount count:              1

Maximum mountcount:      27

Last checked:             Wed Apr  5 18:10:34 2017

Check interval:           15552000 (6 months)

Next checkafter:         Mon Oct  2 18:10:34 2017

Lifetimewrites:          226 MB

Reserved blocksuid:      0 (user root)

Reserved blocksgid:      0 (group root)

First inode:              11

Inode size:          256

Required extraisize:     28

Desired extraisize:      28

Journal inode:            8

Default directoryhash:   half_md4

Directory HashSeed:     49adf471-138d-47cb-af38-3f1c1107891e

Journal backup:           inode blocks

[root@localhost ~]#

 

(2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳;

[root@localhost~]# mkdir -p /data/mydata

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

 

2、创建一个大小为1G的swap分区,并创建好文件系统,并启用之;(没有那么大空间,创建30M的swap分区)

[root@localhost~]# fdisk /dev/sdb

 

WARNING: DOS-compatiblemode is deprecated. It's strongly recommended to

         switch off the mode (command 'c') andchange display units to

         sectors (command 'u').

 

Command (m forhelp): n

Command action

   e  extended

   p  primary partition (1-4)

p

Partition number(1-4): 2

First cylinder(1307-1318, default 1307):

Using default value1307

Last cylinder,+cylinders or +size{K,M,G} (1307-1318, default 1318): +30M

 

Command (m forhelp): t

Partition number(1-4): 2

Hex code (type L tolist codes): 82

Changed system typeof partition 2 to 82 (Linux swap / Solaris)

 

创建文件系统,并启用。

               

    交换分区的启用和禁用:

        创建交换分区的命令:mkswap

        mkswap [OPTIONS]  device

                -L LABEL:指明卷标

                -f:强制

        启用:swapon

            swapon  [OPTION] [DEVICE]

                -a:定义在/etc/fstab文件中的所有swap设备;

               

        禁用:swapoff

            swapoffDEVICE

[root@localhost~]# mkswap /dev/sdb2

Setting up swapspaceversion 1, size = 40156 KiB

no label,UUID=295c704e-0ed0-4613-b4bd-0db002a6012c

[root@localhost~]# swapon  /dev/sdb2

 

3、写一个脚本

(1)、获取并列出当前系统上的所有磁盘设备;

(2)、显示每个磁盘设备上每个分区相关的空间使用信息;

[root@localhosttmp]# cat disk_test.sh

#!/bin/bash

#

echo"All disks"

fdisk -l |egrep "^Disk[[:space:]]/dev"

echo"disk partition"

df -h|egrep "/dev/sd[a-z]"

[root@localhosttmp]#

 

4、总结RAID的各个级别及其组合方式和性能的不同;

常见的几种:

RAID 0:硬盘轮流读写,读写性能提升,空间每块硬盘直接叠加,无容错能力,最少需要2块盘组合。增加需要2的倍数

 

RAID 1 : 硬盘写时每块硬盘各保存一份,读取性能提升,写性能下降,空间减半,有容错能力,一块坏,不影响另一块使用,最少2块盘,增加需要2的倍数

 

RAID 5: 分布式奇偶校验独立磁盘结构,数据交叉存储,读写性能提升,空间磁盘数量N-1,有容错能力,只能坏1块盘,最少需要3块磁盘组合

 

RAID-6:读、写性能提升,可用空间:(N-2)*min(S1,S2,...),有容错能力:2块磁盘,最少磁盘数:4, 4+

 

RAID-10:读、写性能提升,可用空间:N*min(S1,S2,...)/2,有容错能力:每组镜像最多只能坏一块;最少磁盘数:4, 4+

 

5、创建一个大小为10G的RAID1,要求有一个空闲盘,而且CHUNK大小为128k。

    mdadm:模式化的工具

        命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices>

            支持的RAID级别:LINEAR, RAID0, RAID1,RAID4, RAID5, RAID6, RAID10;

 

        模式:

            创建:-C

            装配: -A

            监控: -F

            管理:-f, -r, -a

 

        <raiddevice>: /dev/md#

        <component-devices>: 任意块设备

 

 

        -C: 创建模式

            -n #: 使用#个块设备来创建此RAID;

            -l #:指明要创建的RAID的级别;

            -a {yes|no}:自动创建目标RAID设备的设备文件;

            -c CHUNK_SIZE: 指明块大小;

            -x #: 指明空闲盘的个数;

            -D:显示raid的详细信息;

            mdadm -D /dev/md#

 

        管理模式:

            -f: 标记指定磁盘为损坏;

            -a: 添加磁盘

            -r: 移除磁盘

 

        观察md的状态:

            cat /proc/mdstat

 

        停止md设备:

            mdadm -S /dev/md#

 

    watch命令:

        -n #: 刷新间隔,单位是秒;

 

        watch -n# 'COMMAND'

 

 

条件有限,使用3个磁盘100M来创建。

[root@localhost~]# fdisk /dev/sdc

Device containsneither a valid DOS partition table, nor Sun, SGI or OSF disklabel

Building a new DOSdisklabel with disk identifier 0xaccd8a6e.

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

After that, ofcourse, the previous content won't be recoverable.

 

Warning: invalidflag 0x0000 of partition table 4 will be corrected by w(rite)

 

WARNING:DOS-compatible mode is deprecated. It's strongly recommended to

         switch off the mode (command 'c') andchange display units to

         sectors (command 'u').

 

Command (m forhelp): n

Command action

   e  extended

   p  primary partition (1-4)

p

Partition number(1-4): 1

First cylinder(1-512, default 1):

Using default value1

Last cylinder,+cylinders or +size{K,M,G} (1-512, default 512): +100M

 

Command (m forhelp): t

Selected partition 1

Hex code (type L tolist codes): fd

Changed system typeof partition 1 to fd (Linux raid autodetect)

 

Command (m forhelp): w

The partition tablehas been altered!

 

Calling ioctl() tore-read partition table.

Syncing disks.

[root@localhost ~]#

其余两个磁盘同样方法创建,得到

[root@localhost~]# fdisk -l |egrep "^/dev/sd[c-e]"

/dev/sdc1               1         101      103408  fd  Linux raid autodetect

/dev/sdd1               1         101      103408  fd  Linux raid autodetect

/dev/sde1               1         101      103408  fd  Linux raid autodetect

 

[root@localhost~]# mdadm -C /dev/md0 -a yes -n 2 -l 1 -c 128 -x 1 /dev/sd[c-e]1

mdadm: Note: thisarray has metadata at the start and

    may not be suitable as a boot device.  If you plan to

    store '/boot' on this device please ensurethat

    your boot-loader understands md/v1.xmetadata, or use

    --metadata=0.90

Continue creatingarray? y

mdadm: Defaulting toversion 1.2 metadata

mdadm: array/dev/md0 started.

[root@localhost~]# mdadm -D /dev/md0

/dev/md0:

        Version : 1.2

  Creation Time : Wed Apr  5 21:31:19 2017

     Raid Level : raid1

     Array Size : 103296 (100.89 MiB 105.78 MB)

  Used Dev Size : 103296 (100.89 MiB 105.78 MB)

   Raid Devices : 2

  Total Devices : 3

   Persistence : Superblock is persistent

 

    Update Time : Wed Apr  5 21:31:21 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 :798d316e:c1da5c3e:a9587515:8ea7373b

         Events : 17

 

    Number  Major   Minor   RaidDevice State

       0      8       33        0     active sync   /dev/sdc1

       1      8       49        1     active sync   /dev/sdd1

 

       2      8       65        -     spare   /dev/sde1

6、创建一个大小为4G的RAID5设备,chunk大小为256k,格式化ext4文件系统,要求可开机自动挂载至/backup目录,

而且不更新访问时间戳,且支持acl功能;

在5基础上创建,

[root@localhost~]# mdadm -C /dev/md1 -l 5 -n 3 -c 256 -a yes /dev/sd[c-e]1

mdadm: /dev/sdc1appears to be part of a raid array:

    level=raid1 devices=2 ctime=Wed Apr  5 21:31:19 2017

mdadm: /dev/sdd1appears to be part of a raid array:

    level=raid1 devices=2 ctime=Wed Apr  5 21:31:19 2017

mdadm: /dev/sde1appears to be part of a raid array:

    level=raid1 devices=2 ctime=Wed Apr  5 21:31:19 2017

Continue creatingarray? y

mdadm: Defaulting toversion 1.2 metadata

mdadm: array/dev/md1 started.

[root@localhost~]# mdadm -D /dev/md1

/dev/md1:

        Version : 1.2

  Creation Time : Wed Apr  5 21:43:11 2017

     Raid Level : raid5

     Array Size : 206336 (201.53 MiB 211.29 MB)

  Used Dev Size : 103168 (100.77 MiB 105.64 MB)

   Raid Devices : 3

  Total Devices : 3

    Persistence : Superblock is persistent

 

    Update Time : Wed Apr  5 21:43:13 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 :23e12709:4b969199:fd6aef00:77795114

         Events : 18

 

    Number  Major   Minor   RaidDevice State

       0      8       33        0     active sync   /dev/sdc1

       1      8       49        1     active sync   /dev/sdd1

       3      8       65        2     active sync   /dev/sde1

格式化为ext4文件系统

root@localhost~]#  mke2fs -t ext4 /dev/md1

mke2fs 1.41.12(17-May-2010)

文件系统标签=

操作系统:Linux

块大小=1024(log=0)

分块大小=1024(log=0)

Stride=256 blocks,Stripe width=512 blocks

51584 inodes, 206336blocks

10316 blocks (5.00%)reserved for the super user

第一个数据块=1

Maximum filesystemblocks=67371008

26 block groups

8192 blocks pergroup, 8192 fragments per group

1984 inodes pergroup

Superblock backupsstored on blocks:

    8193, 24577, 40961, 57345, 73729, 204801

 

正在写入inode表: 完成                           

Creating journal(4096 blocks): 完成

Writing superblocksand filesystem accounting information: 完成

 

This filesystem willbe automatically checked every 38 mounts or

180 days, whichevercomes first.  Use tune2fs -c or -i tooverride.

 

要求可开机自动挂载至/backup目录,而且不更新访问时间戳,且支持acl功能;

编辑  /etc/fstab 文件,添加一行信息。

/dev/md1/backup ext4 noatime,acl 0 0