高级文件系统管理之mdadm与lvm的创建

配置配额系统

磁盘配额就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间,比如一些网盘就是基于这个功能来做的,分配给用户固定的空间,花钱买,可以将空间设置的更大。

功能作用

磁盘配额可以限制指定账户能够使用的磁盘空间,这样可以避免因某个用户的过度的使用磁盘空间造成其它用户无法运行或工作甚至影响系统运行。这个功能不止是linux有,windows系统当中也有磁盘配额。

综述

它是在内核中运行的,以文件系统为单位启用,对不同组合用户的策略不同,根据块或者节点进行限制

执行软限制(soft limit)

硬限制(hard limit)

初始化

分区挂载选项:usrquota、grpquota

当你相对某个分区做磁盘配额时,需要在/etc/fstab中的挂载选项写上这两项才能做磁盘配额,完成之后需要重新挂载(mount –o remount  device  mount_point)

初始化数据库:quotacheck

quotacheck [ -gubcfinvdMmR ]  [  -F  quota-format  ]  -a  | filesystem

选项:

-c:创建

-u:对某个用户设置磁盘配额

-g:对某个组设置磁盘配额

-m:不用重新挂载

例如我想对/home做磁盘配额就需要初始化数据库

quotacheck –cumg  /home

初始化完成后会在/home目录下生成两个文件aquota.group,aquota.user

启用配额

quotaon  mount_point

关闭配额

quotaoff  mount_point

编辑配额:通过打开文件编辑内容

Disk quotas for user hadoop (uid 500):

Filesystem                                    blocks       soft    hard    inodes   soft    hard

/dev/mapper/VolGroup-lv_home    2048          0         0         12          0        0

blocks:当前目录下的文件总大小

soft:触发警告的初始值,最低容量限制

hard:允许储存最大的容量限制

inodes:当前目录的文件数量

soft:文件的最小值

hadr:单个文件大小的最大值

当我们相对hadoop用户设置磁盘配置时只需要更改blocks后面的soft和hard限制,大小根据自己的实际情况来定,也可以定义创建单个文件的大小

命令行直接编辑

setquota  username  4096   5120  40 50  /home

这里的限制容量大小的默认值为字节

示例

setquota  hadoop  4096  5120  40   50  /home

有时候需要批量设置某些用户的磁盘配额,一个个重新创建太麻烦,这里介绍一种批量创建的方法:

edquota  -p   user1   user2将user1设定要的配额值给user2同样设定

edquota -p xxxx `awk -F: ’$3 >499 {print $1}’ /etc/passwd`

查询磁盘配额

quota

repquota  -a

假如有多个分区为quota,可用repquota -u 挂载点 查询单个分区的使用情况

RAID

  什么是RAID?

RAID(Redundant  Arry  of Inexpensive  Disk)称为廉价磁盘冗余阵列。RAID的基本想法是把多个便宜的小磁盘组合到一起,成为一个磁盘组,使性能达到或超过一个容量巨大、价格贵的磁盘,目前RAID技术大致分为两种:基于硬件的RAID技术和软件实现的RAID,其中linux下通过自带的软件(mdadm)就能实现RAID的功能,所以它配置灵活、管理方便。同时使用RAID,还可以实现将几个屋里磁盘合并成为一个更大的虚拟设备,从而达到性能改进和数据冗余的目的,当然基于硬件的RAID解决的方案比基于软件RAID技术在使用性能上稍胜一筹,具体表现在检测和修复多为错误的能力、错误磁盘自动检测和阵列重建等方面。

作用

提高IO能力,磁盘并行读写

提高耐用性,磁盘冗余来实现

级别,多块磁盘组织在一起的工作方式有所不同

RAID实现的方式

外接式磁盘整理额:

通过扩展卡提供适配能力

内接式RAID:主板集成RAID控制器,安装OS前在BIOS中配置

软RAID,例如mdadm

RAID级别

RAID-0

也称为为条带模式,即把连续的数
据分散到多个磁盘上存取,如图所示,当系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求,这种数据上的并行操作可以充
分利用总线的带宽,显著提高磁盘整体存取性能。因为读取和写入实在设备上并行完成的,读取和写入性能将会增加这通常是运行RAID-0的原因,但RAID-0没有数据冗余,如果磁盘出现故障,那么僵无法恢复任何数据。成本低,要求至少两个磁盘,一般只是在那些对数据安全性要求不高的情况下才被使用。


容错性



冗余



热备盘



读性能



随机写性能



连续写性能



需要的磁盘数


2或2N个


可用容量


100%


典型应用


无故障的迅速读写,要求安全性不高,如图形工作站

RAID-1

RAID-1又称为镜像,一个具有全冗余的模式,如图,RAID可以用两个或2n个磁盘,并使用0块或更多的备用磁盘,每次写数据时会同时写入镜像盘,这种阵列可靠性高,但其有效容量减小到总容量的一般,同时这些磁盘的大小应该相等,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行,出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩,更换新盘后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降,RAID 1磁盘控制器的负载相当大,用多个磁盘控制器可以提高数据的安全性和可用性。


容错性



冗余



热备盘



读性能



随机写性能



连续写性能



需要的磁盘数


2或2N个


可用容量


50%

RAID-4

RAID4在一个磁盘上保存校验信息,兵役RAID0的方式将数据写入其他磁盘,如果一个磁盘出现故障,可以使用校验信息来重建所有数据,如果两个磁盘出现故障,那么所有数据豆浆丢失,RAID4不常使用,原因是将校验信息存储在同一个磁盘上,每次写入其他磁盘时,都必须更新这些信息,大致大写的写入数据容易造成校验判的瓶颈。


容错性



冗余



热备盘



读性能



随机写性能



连续写性能



需要的磁盘数


2或以上


可用容量


(n-1)/n

RAID-5

RAID可以理解为是RAID0和RAID1的折中方案,但没有完全使用RAID1的镜像理念,而是使用了就奇偶校验信息来作为数据恢复的方式,没有单独指定的校验盘,而是交的存取数据及奇偶校验信息与所有磁盘上,在读写性能上都提升了,对于RAID5来说大部分数据传输只对一块磁盘操作,可进行秉性操作,在RAID5中有写损失,即每一次写操作,将产生四个实际的读写操作,其中两次读旧的数据及就信息,两次写心得数据及奇偶信息。


容错性



冗余


奇偶校验


热备盘



读性能



随机写性能



连续写性能



需要的磁盘数


3个或3个以上


可用容量


(n-1)/n


典型应用


队数据传输要求安全性高如金融,数据库,存储

RAID6

RAID6是RAID家族中的新技术,是在RAID5的基础上扩展而来的,所以同RAID5一样,数据和校验码都是被分成数据块然后分贝存储到磁盘阵列的各个硬盘上。RAID加入了一个独立的校验磁盘,它把分布在磁盘上的校验码都备份在一起,这样在磁盘整列就允许多个磁盘同时出现故障,但消耗了太多的磁盘空间。


容错性



冗余


奇偶校验


热备盘



读性能



随机写性能



连续写性能



需要的磁盘数


4个或4个以上


可用容量


(n-2)/n


典型应用


队数据传输要求安全性高如金融,数据库,存储

RAID-10

RAID-10是一个RAID0与RAID1的组合体,它是利用奇偶校验实现条带及镜像,所以它记性了RAID0的快速和RAID1的安全,我们知道,RAID1在这里就是一个冗余的备份阵列,而RAID0则负责数据的读写速度,更多的情况是从主通路分出两路,做Striping操作,即把数据分割,而这分出来的每一路则再分两路,做Mirroring操作,即互做镜像


容错性



冗余


奇偶校验


热备盘



读性能



随机写性能



连续写性能



需要的磁盘数


4个或4个以上


可用容量


50%


典型应用


队数据传输要求安全性高如金融,数据库,存储

RAID-01

RAID-01以四个磁盘组成的RAID 0+1为例,其数据存储方式如图所示:RAID 0+1是存储性能和数据安全兼顾的方案。它在提供与RAID 1一样的数据安全保障的同时,也提供了与RAID 0近似的存储性能。由于RAID 0+1也通过数据的100%备份功能提供数据安全保障,因此RAID 0+1的磁盘空间利用率与RAID 1相同,存储成本高。当镜像盘的中任意一个磁盘坏带,数据将会丢失

软RAID

通过软件的方式来实现raid各个级别的功能,性能没有硬件raid那么强大,但它可以用来在测试环境当中使用。linux当中使用mdadm这个工具来实现raid的功能

mdadm:为软RAID提供管理界面

为空余磁盘添加冗余,结合内核中的md(mutil devices),RAID设备可命令为/dev/md0、/dev/md1等等

mdadm:模式化的工具

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

支持的RAID级别:Linux supports LINEAR md devices, RAID0  (striping),  RAID1  (mirror-

ing), RAID4, RAID5, RAID6, RAID10, MULTIPATH, FAULTY, and CONTAINER.

模式:

创建模式  -C

专用选项

-l  指定raid级别

-n  指定设备数量

-a  自动为其创建设备文件   yes|no

-c  指定chunk大小一般设定为2^n,默认为64k

-x  指定空闲盘个数,当其中某个盘坏掉,自动顶上去

管理模式  -F

-a  –add     添加磁盘

–r  –remove  删除磁盘

-f   –fail     模拟损坏磁盘

mdadm /dev/md0   -a  /dev/sdb1

mdadm /dev/md0   -r   /dev/sdb2

mdadm /dev/md0   -f   /dev/sdb3

监控模式 –F

查看软raid的状态,相当于查看/proc/mdstat

增长模式 –G

比如我要想某个raid设备当中添加一块新磁盘以扩大raid的容量

mdadm –G /dev/md0 –n4 -a /dev/sdf1

装配模式         -A

当raid设备时停止的状态时,可以使用此模式将其激活

mdadm –A  /dev/md0  /dev/sdb1  /dev/sdb2  /dev/sdb3

查看RAID的阵列的详细信息

mdadm  -D  /dev/md0或者查看文件/proc/mdstat

停止阵列

mdadm  -S  /dev/md0

将当前RAID信息保存至配置文件,以便以后进行装配

mdadm  -D –s  >/etc/mdadm.conf

删除raid

在raid之前必须要先停止raid设备,然后删除raid信息

mdadm  –zero-superblock  /dev/sdb1

mdadm  –zero-superblock  /dev/sdb2

mdadm  –zero-superblock  /dev/sdb3

示例:

创建一个可用空间为1G的RAID1设备,要求其chunk大小为128k,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录

由于RAID1的利用率是100%,所以这里只需要创建一块空间大小为1G的分区,将分区类型改为fd,然后创建raid,然后又要求需要一块空闲盘,所以还得创建一个大小同为1G的分区,分区类型也得改为fd,开机需要自动挂载,这是需要将条目写到/etc/fstab    d当中去

第一步、分两个区大小都为1G,完成后更改分区的类型为fd Linux auto raid类型

第二步、创建raid mdadm -C /dev/md0 –a yes  -c 128k  -l 1 -n 1 -x 1  /dev/sdc{5,6}

第三步、格式化  mke2fs  –t ext4  /dev/md0

第四步、将条目写到/etc/fstab中去,实现开机自动挂载

2:创建由三块硬盘组成的可用空间为2G的RAID5设备,要求其chunk大小为256k,文件系统为ext4,开机可自动挂载至/mydata目录

逻辑卷管理

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版 1.1.0-rc2,以及LVM2开发版。Linux用户安装Linux操作系统时 遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储。它使系统管理员可以更方便的为应用与用户分配存储空间。在LVM管理下的存储卷可以按需要随时改变大小与移除(可能需对文件系统工具进行升级)

好处

允许对卷进行方便操作的抽象层,包括重新设定文件系统大小

允许在多个物理设备间重新组织文件系统

将设备指定为物理卷,用一个或多个物理卷来创建一个卷组

lvm可以弹性的更改lvm的容量

LVM基本术语

物理存储介质:这里指系统的存储设备如/dev/sda  /dev/sdb等等

物理卷:物理卷就是指硬盘分区或逻辑上与磁盘分区具有同样的功能

卷组:LVM卷组类似于lvm系统中的物理硬盘,其有物理卷组成。可以在卷组上创建一个或多个lvm分区,lvm卷组由一个或多个物理卷组成

逻辑卷:lvm的逻辑卷类似于硬盘分区,在逻辑卷之上可以建立文件系统

PE(physical extend)每个一个物理卷被划分为PE的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元,默认为4MB,可以更改

LE:逻辑卷也被划分成为LE的可被寻址的基本单位,在同一卷组中,LE的大小和PE是相同的。

简单的说就是:

PV:是物理的磁盘分区

VG:LVM中的物理的磁盘分区,也就是PV,必须加入VG,可以将VG理解为一个仓库或者是几个大的硬盘。

LV:也就是从VG中划分的逻辑分区

dm:device mapper:将一个或多个底层设备组织成一个逻辑设备的模块

设备名:/dev/dm-#

软连接

/dev/mapper/Vg_name-Lv_name

/dev/mapper/vol0-root

/dev/Vg_name_Lv_name

/dev/vol0/root

pv管理工具

pvs:简要查看pv信息

pvdisplay:详细查看pv信息,也可在后面跟某个设备,查看某个pv的详细信息

创建pv

pvcreate

pvcreate  [–commandprofile  ProfileName]  [-d|–debug]  [-h|–help] [-t|–test]

[-v|–verbose] [–version] [-f[f]|–force [–force]] [-y|–yes]  [–labelsector]

[–bootloaderareasize  size] [-M|–metadatatype type] [–[pv]metadatacopies Num-

berOfCopies] [–metadatasize  size]  [–metadataignore  {y|n}]  [–dataalignment

alignment]   [–dataalignmentoffset   alignment_offset]   [–restorefile   file]

[–norestorefile] [–setphysicalvolumesize  size]  [-u|–uuid  uuid]  [-Z|–zero

{y|n}] PhysicalVolume [PhysicalVolume…]

pvcreate  /dev/sdb1  /dev/sdb2  /dev/sdb3

vg管理工具

显示卷组

vgs:简要显示vg信息

vgdisplay:详细显示vg信息

创建卷组

vgcreate

vgcreate [-s|–physicalextentsize  PhysicalEx-
tentSize[bBsSkKmMgGtTpPeE]]   [–shared]   [–systemid   SystemID]  
[-t|–test] [-v|–verbose] [–version] [PHYSICAL DEVICE OPTIONS]
VolumeGroupName PhysicalDe-vicePath [PhysicalDevicePath…]

vgcreate   vg0  /dev/sdb1  /dev/sdb2  /dev/sdb3

管理卷组

vgextend 拉伸卷组

vgextend  vg0  /dev/sdc1  /dev/sdc2

删除卷组

vgremove,先将数据移动到指定的设备上,然后再删除,将底层存在pv上的数据移动到其他硬盘,pvmove /dev/sdb{1,2,3} /dev/sdc{1,2,3}

vgreduce vg0 /dev/sdb{1,2,3} 将卷组上的pv移除

vgremove vg0  最后移除卷组

lv管理工具

lvs:简要显示逻辑卷的信息

lvdisplay:详细显示逻辑卷的信息

创建逻辑卷

lvcreate

lvcreate [-a|–activate [ [–cachesettings
key=value] [-c|–chunksize ChunkSize] 
[{-l|–extents]LogicalExtentsNumber[%{FREE|PVS|VG}] | -L|–size
LogicalVolumeSize}[-i|–stripes Stripes [-I|–stripesize StripeSize]]]
[-h|-?|–help][-s|–snapshot]  [-t|–test]  [–type SegmentType]
[-v|–verbose]

lvcreate  -L  [mMgGtT]  -n  lv_name  vgname

-l # :使用多少个PE的容量来创建逻辑卷

-L  :直接指定使用多大容量来创建卷组

重新设定文件系统的大小

fsadm[options] resize device [new_size[BKMGTEP]]

resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]

扩展逻辑卷

lvextend    -L [+]#[mMgGtT] /   dev/VG_NAME/LV_NAME  扩大物理边界

resize2fs /dev/VG_NAME/LV_NAME   扩大逻辑边界

示例:

1、创建一个至少有两个PV组成的大小为10G的名为testvg的VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录

第一步分两个分区,并且大小为10G更改分区类型为8e

第二步、创建pv   pvcreate /dev/sdc2 /dev/sdc3

第三步、创建卷组 vgcreate vg0   -s  16M /dev/sdc2 /dev/sdc3

第四部、创建卷组 lvcreate  -L 20G –n testvg  vg0

第五步、格式化挂载  mke2fs –t ext4  /dev/vg0/testlv  ,mount /dev/vg0/testlv   /users (如果目录实现不存在需要创建)

第六步、为了开机能够挂载写到/etc/fstab 当中去

2、扩展testlv至7G,要求archlinux用户的文件不能丢失

要扩展必须先要查看testlv他的卷组当中的剩余空间还够不够,如果卷组当中的剩余空间不够的,需要再创建一个分区,然后拉伸卷组的空间,之后扩展逻辑卷,使用lvextend之后只是拉伸了物理空间,而逻辑空间的还是没有改变,这里需要执行resize2fs  device这条命令来动态拉伸逻辑卷的空间

第一步、查看卷组所剩空间大小vgdisplay  vg0查看FREE PE那一项还有没有空间,正好我这里是有的

第二步、拉伸逻辑卷  lvextend  -L +2G  /dev/vg0/testlv

第三步、使其生效  resize2fs  /dev/vg0/testlv

时间: 2024-07-29 12:47:07

高级文件系统管理之mdadm与lvm的创建的相关文章

Linux运维 第二阶段 (七)高级文件系统管理

Linux运维第二阶段(七)高级文件系统管理 一.磁盘配额: 多用户共同使用一个硬盘,管理员应适当限制硬盘的空间,以妥善分配系统资源. #grepCONFIG_QUOTA /boot/config-2.6.32-279.el6.i686 #rpm–qa | grep quota 用户配额和组配额:磁盘容量限制和文件个数限制:软限制和硬限制:宽限时间. 注:如果用户的空间处于软限制和硬限制之间,系统会在用户登录时警告将满,宽限时间默认7天,如果达到了宽限时间未调整,软限制就会升级为硬限制. #mo

linux高级文件系统管理概述:处理交换分区、设置文件系统配额、配置raid和逻辑卷

8月26号,学习了linux(CentOS6.8)文件系统管理,内容颇多,主要分为如下几个部分: 一.处理交换分区和文件及移动介质的使用 二.常见工具free,df,du,dd的使用 三.设置文件系统配额 四.配置raid 五.配置逻辑卷 六.btrfs文件系统 一.处理交换分区和文件及移动介质的使用 交换分区是系统RAM的补充 基本设置包括: 创建交换分区或者文件 使用mkswap写入特殊签名 在/etc/fstab文件中添加适当的条目 使用swapon -a 激活交换空间 1.挂载交换分区

linux高级文件系统管理——btrfs

前几天,关于高级文件系统方面也给大家分享过RAID和LVM,今天给大家分享的这款文件系统可能比这两者更先进,可以将其二者合二为一.第一,它可以使用磁盘或者分区大小不一样的设备组建RAID:第二,它可以做到像LVM一样,随时扩展以及缩减使用空间,LVM支持在线扩展,但不能支持在线缩减,btrfs同时支持在线扩展和在线缩减:并且支持一条命令直接创建出带RAID功能的LV.所以个人体验之后觉得相当不错,分享于大家. 一.btrfs文件系统定义 1.Btrfs (B-tree, Butter FS, B

linux高级文件系统管理——LVM

在企业里面,很多时候,我们也无法估量应用程序对磁盘空间的使用量,如果我们使用用传统的文件系统,磁盘分区一旦确定下来以后,就再也无法更改使用空间了,如果需要更改就必须让应用程序离线后,对原有分区的数据进行备份,然后再对磁盘进行重新分区格式,重新复制原来的数据放回新的磁盘分区上,由此带来的麻烦是不言而喻的,如果是可以离线的业务,到也好说,如果是不允许离线的业务,那就影响更大.所以一代全新的文件系统LVM的问世,打破了这一技术瓶颈.它允许用户使用容量不不统一的硬盘和分区组合在一起,构成一个逻辑空间,用

Linux 第15天: (08月29日) Linux高级文件系统管理

本章内容设定文件系统配额设定和管理软RAID设备配置逻辑卷设定LVM快照btrfs文件系统 配置配额系统综述在内核中执行以文件系统为单位启用对不同组或者用户的策略不同根据块或者节点进行限制执行软限制(soft limit)硬限制(hard limit)初始化分区挂载选项:usrquota.grpquota初始化数据库:quotacheck 为用户设定配额执行开启或者取消配额:quotaon.quotaoff直接编辑配额:edquota username在shell中直接编辑:setquota u

高级文件系统管理——Linux基本命令(15)

1.配置配额 (1)初始化 分区挂载选项:usrquota.grpquota(用户挂载,组挂载) 初始化数据库:quotacheck -cug /home (2)执行 开启或者取消配额功能:quotaon.quotaoff (开启之后发现就无法删除了,被保护了) 直接编辑配额:edquota -u/g username(对用户.对组做配额限制) 分别对文件的大小和数量进行限制.软限制就是可以允许超过软限制会发出警告,而硬限制不允许超过.因此设置的时候,软应该小于硬. 在shell中直接编辑: s

高级文件系统管理

设定文件系统配额 1.分区挂载选项: usrquota.grpquota   (可以设置为分区开机自动挂载选项) 2.初始化数据库: quotacheck  -cug dirname -u 生成user.quota文件 -g 生成group.quota文件 3.为用户设定配额: quotaon.quotaoff   dirname  开启/取消配额 edquota  username    直接编辑当前用户自身配额 -u username   查看其它用户磁盘配额 setquota  usern

linux高级文件系统管理——RAID

作为大型企业,很多时候数据量相当庞大,由此以来对磁盘空间的要求比较高,更重要是的对数据的完整性的追求.所以单独的磁盘不仅空间使用满足不了,数据的完整性更是无从谈起,所以也就出现了专业的数据存储技术,而RAID是其中应用比较广泛,也是历史比较悠久的存数据储技术了.今天就给大家分享一下RAID的一些基本概念以及软件RAID的实现方法. 一.RAID的定义 RAID:Redundant Arrays of Inexpensive(Independent) Disks 1988年由加利福尼亚大学伯克利分

高级文件系统管理磁盘配额,RAID

磁盘配额 quota 命令显示磁盘使用情况和限额.quota 命令报告文件中列出的所有文件系统的限额.如果 quota 命令以非零状态退出,一个或多个文件系统超 过限额. 1.ext系列文件系统的quota的步骤方式 1.1.开启quota(ext)编辑 vim /etc/fstab,在需要开启quota的文件系统的挂载选项的defaults后加usrquota,grpquota,如下图. 设置成功后可以查看下,mount |grep app 注意:如果查看不成功需要卸载,在重新挂载,或直接mo