磁盘管理

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

(1)虚拟机添加21G硬盘

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 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

(2)[root@study ~]# fdisk /dev/sdb

(3)n添加分区,p添加主分区,默认起始柱面1,+10G。按w保存分区信息

  Device Boot      Start         End      Blocks   Id  System
  /dev/sdb1        20971520    41943039    10485760   83  Linux

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

[root@study ~]# mkfs.ext4 -b 2048 -m 2 -L MYDATA /dev/sdb1
[root@study ~]# tune2fs -o acl /dev/sdb1

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

[root@study ~]# mkdir -p /data/mydata
[root@study ~]# mount -o noexec,noatime /dev/sdb1 /data/mydata/
[root@study ~]# df -lh
/dev/sdb1                9.8G   13M  9.6G   1% /data/mydata

一般来说,挂载完分区后,要把分区信息写到/etc/fstab里面,实现开机自动挂载。

[root@study ~]# vi /etc/fstab
/dev/sdb1 /data/mydata                    ext4    defaults        0 0

2、创建一个大小为1G的swap分区,并创建好文件系统然后启用

(1)先创建一个1G大小的分区,选择分区id为82

(2)格式化分区

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

(3)启用分区

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

3、写一个脚本:获取当前系统上的所有磁盘设备;并显示每个磁盘设备上每个分区的空间使用信息

[root@study sh]# vi diskinfo.sh

#!/bin/sh
fdisk -l /dev/s[dh][a-z]|grep -o "Disk /dev/s[dh][a-z]"
echo "############ partion's usage #####################"
df -lh

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

 RAID-0:
    读出性能提升
    可用空间:N*min(S1,S2,...)
    无容错能力
    最小磁盘数:2

RAID-1:(同一个数据存两份)
    读性能提升,写性能略有下降
    可用空间:1*min(S1,S2,...)
    有冗余能力
    最少磁盘数:2

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

混合类型:
RAID-10:先组建RAID-0再将RAID-0组建为RAID-1
    读、写性能提升
    可用空间:N*min(S1,S2,...)/2
    有容错能力:每组镜像最多只能块一块
    最少磁盘数:4

RAID-01:先组建RAID-1再将RAID-1组建为RAID-0

5.创建一个大小为15G的卷组;要求,PE大小为8M;而在卷组中创建一个大小为5G的逻辑卷mylv1,格式化为ext4文件系统,开机自动挂载至/users目录,支持acl

[root@study ~]# vgcreate -s 8 myvg /dev/sdb1
[root@study ~]# lvcreate -L 5G -n mylvm myvg
 Logical volume "mylvm" created.
[root@study ~]# mkfs.ext4 /dev/myvg/mylvm 
[root@study ~]# tune2fs -o acl /dev/myvg/mylvm
[root@study ~]# mount /dev/myvg/mylvm users/
[root@study ~]# vi /etc/fstab 
/dev/myvg/mylvm /users                    ext4    defaults        0

6.新建用户magedu,其家目录为/home/magedu,而后su切换至此用户,复制多个文件至家目录。

[root@study ~]#  useradd -d /users/magedu magedu
[root@study home]# su - magedu
[magedu@study ~]$ cp /etc/init.d/* ./

7.扩展mylvm至9G,确保扩展完成后原有数据完全可用

[root@study sh]# lvextend -L +4G /dev/myvg/mylvm 
Size of logical volume myvg/mylvm changed from 5.00 GiB (640 extents) to 9.00 GiB (1152 extents).
Logical volume mylvm successfully resized.

刷新lvm size [root@study sh]# resize2fs /dev/myvg/mylvm resize2fs 1.42.9 (28-Dec-2013) Filesystem at /dev/myvg/mylvm is mounted on /root/users; on-line resizing required olddescblocks = 1, newdescblocks = 2 The filesystem on /dev/myvg/mylvm is now 2359296 blocks long.

8.缩减mylvm至7G,确保缩减完成后原有数据完全可用

[root@study ~]# umount users/
[root@study ~]# e2fsck -f /dev/mapper/myvg-mylvm
[root@study ~]# resize2fs /dev/mapper/myvg-mylvm 7G
[root@study ~]# lvreduce -L 7G /dev/mapper/myvg-mylvm
[root@study ~]# mount /dev/mapper/myvg-mylvm users/
[root@study ~]# df -lh|grep mylvm
/dev/mapper/myvg-mylvm   6.8G   37M  6.4G   1% /root/users

9.对mylv1创建快照,并通过备份数据;要求保留原有的属主属组等信息。对LV创建快照,使用lvcreate指令结合-s选项实现

 [root@study ~]# lvcreate -s -L 30M -n snaplv -p r /dev/mapper/myvg-mylvm
  Rounding up size to full physical extent 32.00 MiB
  Logical volume "snaplv" created.
[root@study ~]# mount /dev/mapper/myvg-snaplv /mnt
mount: /dev/mapper/myvg-snaplv is write-protected, mounting read-only

原创文章,作者:N24_小康,如若转载,请注明出处:http://www.178linux.com/64027

(0)
N24_小康N24_小康
上一篇 2016-12-18 15:39
下一篇 2016-12-18 16:02

相关推荐

  • Storm集群安装详解

    storm有两种操作模式: 本地模式和远程模式。 本地模式:你可以在你的本地机器上开发测试你的topology, 一切都在你的本地机器上模拟出来;  远端模式:你提交的topology会在一个集群的机器上执行。 本文以Twitter Storm官方Wiki为基础,详细描述如何快速搭建一个Storm集群,其中,项目实践中遇到的问题及经验总结,在相应章…

    Linux干货 2015-04-04
  • 基于Corosync + Pacemaker+DRBD实现MySQL高可用集群

    前言 在众多的高可用集群解决方案中,除了Heartbeat之外,Corosync也能提供类似于Heartbeat一样的功能,而且目前RedHat官方提供的高可用集群解决方案的程序包都以Corosync为主,所以今后Corosync会逐渐取代Heartbeat。本文带来的是基于Corosync + Pacemaker+DRBD的MySQL高可用集群解决方案。 …

    Linux干货 2015-06-12
  • 基本脚本编译

                                  …

    2017-08-05
  • 日志管理

    rsyslogd的相关介绍,journalctl的相关介绍和日志的转储

    2018-02-05
  • Linux基础学习总结(二)

    经过前两周的学习,我们大家对于Linux系统和操作已经有了一定的认识。基于Linux平台进行开发,确实要更方便和高效,我经过自己的学习消化,现在将自己的理解的几点总结下来: Linux哲学思想的几句话,简洁的阐明了linux系统的特点。其中一切都是一个文件这句话特别精辟,在实际学习和操作linux系统之后,更是深刻体会到了这句话的内涵,感受颇深。它具体指明了…

    Linux干货 2018-03-16
  • Linux任务计划,周期性任务执行详解

    Linux任务计划,周期性任务执行 概述 本章将为大家介绍一些任务计划和周期性任务计划执行相关内容任务计划的分类主要有由两种    未来的某时间点执行一次某任务:at,batch    周期性运行某任务:crontab具体分为三个方面来说明:    1、at计划任务    2、c…

    Linux干货 2016-09-27

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-23 12:41

    赞~总结的不错,能很好的理解raid的工作模式和使用场景即可~继续加油~