高级文件系统的管理

一、迁移分区

分区 /dev/sda6 注意同步问题  创建分区,把原先家目录下的文件拷贝到新挂载的文件中

mkfs.ext4 /dev/sda6  mkdir /mnt/home

mount /dev/sda6 /mnt/home

cp -a /home/*  /mnt/home  

init 1 切换单用户模式,把生产环境的用户都踢出去,进行维护修改

rm -rf  /home/* 删除/home下的所有文件

mount /dev/sda6 /home

umont /mnt/home

vim /etc/fstab  编辑

init 5  切换到图形界面,用户就可以登录了。

这样就实现把/home 挂载到新的磁盘分区里面了。

二、文件系统启动磁盘配额

    用户分区配额:usrqouta      组的分区配额:groupqouta

1.启动磁盘配额挂载选项:vim /etc/fstab   defaults,usrquota,groupqouta mount -o remount /home mount

2.创建配额数据库:setenforce 0  quotacheck -cug  /home

3.启动数据库 quotaon  -p  /home (查看数据库启用状态) quotaon  /home

4.指定用户空间限制

edquota lyx  edquota -p usr1 usr2 :usr1的配额复制给usr2,但是由于是交互式的,不能写入脚本

setquota lyx  100000(100M报警)150000(最大写入150M0  0  /home

文件系统启用配额

2.1 启用配额挂载选项

vim /etc/fstab

defaults,usrquota,grpquota

mount -o remount  /dev/sdX  /home 对修改的生效  ; mount -a 只能对新加的生效

mount 确认是否真的修改挂载选项

2.2 创建配额数据库 

setenforce  0   禁用selinux守护 策略   

quotacheck -cug /home  -c:创建数据库  -u:针对用户的数据库  -g:针对组的数据库

setenforce  1  启用selinux 策略  ,增加安全性

2.3 启用数据库

quotaon  -p /home 查看数据库启用状态

quotaon  /home   启用数据库

2.4 指定用户空间限制

edquota  wang 针对wang用户(ID号)设置配额

Filesystem  (设备名)  blocks(用户已经用了多少块) soft(报警时的配额) hard(最大配额)

edquota -p  wang  mage wang的磁盘配额复制给mage

setquota  wang 100000 150000 0 0  /home  设置wang用户的报警配额 和最大配额

2.5 测试

su – wang 切换wang用户  dd if=/dev/zero of=f1 bs=1M count=50 写入50M

 

三、RAID的实现

    RAID:Redundant Arrays of InexpensiveIndependentDisks:廉价磁盘冗余阵列

1988年由加利福尼亚大学伯克利分校(University of California-Berkeley) “A Case for Redundant Arrays of Inexpensive Disks”。表现为多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供。

RAID-0:

读、写性能提升;可用空间:N*min(S1,S2,…);无容错能力;最少磁盘数:2, 2

条带卷:先将磁盘切除等量的区块chunk,然后当一个文件要写入RAID时,该文件会依据区块大小切割好,之后一次放入到各磁碟中去。由于每个磁盘会交错存放数据,因此当数据写入到RAID时,数据会被等量的放置各磁盘上。

RAID-1

读性能提升、写性能略有下降;可用空间:1*min(S1,S2,…);有冗余能力;最少磁盘数:2, 2N

RAID-4

多块数据盘异或运算值,存于专用校验盘

校验位:异或校验,如果坏了一块硬盘,可以用异或校验算出坏的硬盘数据,至少三块硬盘,可以允许损坏一块硬盘,但是校验盘要算异或数据,所以容易损坏。

RAID-5

读、写性能提升;可用空间:(N-1)*min(S1,S2,…);有容错能力:允许最多1 块磁盘损坏;最少磁盘数:3, 3+

RAID-6

读、写性能提升;可用空间:(N-2)*min(S1,S2,…);有容错能力:允许最多2 块磁盘损坏;最少磁盘数:4, 4+

RAID 混合类型级别

RAID-10

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

RAID-01 RAID-50

RAID7:可理解为独立存储计算机,自身带有操作系统和管理工具,可以独立运行,理论上性能最高的RAID 模式。

JBOD Just a Bunch Of Disks

          功能:将多块磁盘的空间合并一个大的连续空间使用可用空间:sum(S1,S2,…)

v  常用级别:RAID-0, RAID-1, RAID-5, RAID-10,RAID-50, JBOD

3.1 RAID

v mdadm :为软RAID 提供管理界面;作用为为空余磁盘添加冗余

v  结合内核中的md(multi devices)

v RAID 设备可命名为/dev/md0 /dev/md1 /dev/md2/dev/md3 等等

软件RAID 的实现

v mdadm :模式化的工具

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

<component-devices>

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

3.2 mdadm创建和删除RAID

3.2.1 创建raid

1. mdadm -C  /dev/md0 -a yes  -l 5  -n 3  -x 1 -c 256  /dev/sd{a7,b,c,d}  

-C:创建RAID -a:自动创建  ;-c:指明chunk大小 ;-x:指明空闲盘的个数 ;-l:指明要创建RAID级别

2. mke2f -j /dev/md0  用文件系统对每个RAID设备进行格式化

3. mdadm -Ds /dev/md0 > >/etc/mdadm.conf  生成配置文件  -D:显示raid的详细信息

4. mount  /dev/dm0  /mnt/raid5   vim /etc/fstab  ;  mount -a  ; mount          

mdadm /dev/md0 -f /dev/sdc  -f:标记指定sdc为坏的磁盘

5.RAID修复

 替换出故障的磁盘然后开机;在备用驱动器上重建分区

mdadm  /dev/md0 -r /dev/sdc  -r:移除坏的sdc磁盘

6. mdadm -G /dev/md0 -n 4 -a /dev/sde   增加新成员   -n #:使用#个块设备创建此RAID

7. resize2fs  /dev/md0  60G  扩容

8. mdadm -D /dev/md0       显示raid的详细信息  

9.cat /proc/mdstat      观察md0的状态

3.2.2 删除raid

umount /mnt/raid5  取消raid挂载

madam -S /dev/md0 停止软RAID服务       madam -D /dev/md0         

mdadm –zero-superblock /dev/sdb 删除 /dev/sddRAID信息 ;   

或者 dd if=/dev/zero of=/dev/sdd bs=1G count=50

四、逻辑卷创建(LVM

4.1 什么是LVMdm

   LVM: Logical Volume Manager逻辑卷管理  

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

v  设备名:/dev/dm-#

v  软链接:/dev/mapper/VG_NAME-LV_NAME

            /dev/mapper/vol0-root

            /dev/VG_NAME/LV_NAME

            /dev/vol0/root

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

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

1.将设备指定为物理卷物理卷是用固定大小的物理区域(Physical ExtentPE )来定义的

2.用一个或者多个物理卷来创建一个卷组

3.在物理卷上创建的逻辑卷 :是由物理区域(PE )组成

4.可以在逻辑卷上创建文件系统     

4.2 创建LVM

1fdisk /dev/sda  t  8e  指定物理卷 LVM

       partx -a /dev/sda         同步到设备文件

2pvcreate  /dev/sd{a7,b}  创建物理卷 :用固定大小的物理区域(Physical ExtentPE

       pvs;vgs  查看创建物理卷信息;查看卷组的信息

3vgcreate  vg0 /dev/sd{a7,b}  用物理卷创建卷组

       vgs;vgdisplay  查看卷组信息

4lvcreate  -n lv0 -L 15G vg0   -l:PE的个数 ;-L:指定容量 在物理卷组上创建逻辑卷

       lvs pvdisplay   查看逻辑卷信息

5mkfs.ext4 /dev/vg0/lv0 在逻辑卷上创建文件系统

       ll /dev/vg0/lv0 不是真正的设备,只是指向../dm-0的软链接

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

6mkdir /mnt/lv0    mount  /dev/vg0/lv0  /mnt/lv0     挂载逻辑卷

7vim /etc/fstab

8mount -a ; mount -o remount /dev/vg0/lv0  /mnt/lv0     开机挂载信息

9df -h     读取挂载逻辑卷信息

10、测试:dd if=/dev/zero of=/mnt/lv0/f1  bs=1G count=14  

LVM弹性更改文件系统的容量:v

     LVM 可以弹性的更改LVM 的容量通过 交换PE 来进行资料的转换,将原来LV 内的PE转移到其他的设备中以降低LV 的容量,或将其他设备中的PE 加到LV 中以加大容量。

4.3 逻辑卷扩展(在线)

1vgdisplay  硬盘里面还在写文件的同时也能扩展逻辑卷 ,可以看到PE数以及尺寸。

2lvextend -L -l n   /dev/vg0/lv0   扩展逻辑卷

        -L+10G25G 都是扩展到25G -l:增加PE数可在 n:名字lv0

3resize2fs /dev/vg0/lv0 26G 扩展文件系统存储;用df -h查看不同步,使用此命令能同步逻辑卷差不多26G大小

     xfs_grow /mnt/lv0  CentOS7上面扩展逻辑卷

4lvextend  -r -l  +100%FREE /dev/vg0/lv0 文件系统扩展卷组的所有的剩余空间到逻辑卷

        此卷组没有多余空间创建新的逻辑卷。

4.4 扩展卷组

1pvcreate  /dev/sdc  先创建新的物理卷

2pvdisplay   显示物理卷信息

3vgextend  vg0 /dev/sdc 扩展物理卷到新的卷组

    lvextend  -r -l +100%FREE /dev/vg0/lv0 扩展所有的剩余空间到逻辑卷)在逻辑卷空间不够的情况下。

4.5 逻辑卷缩减(离线ext4

1umount  /mnt/lv0/   取消挂载,取消在/etc/fstab的存储

2fsck  -f  /dev/vg0/lv0  需要对文件系统的完整性检查

3resize2fs  /dev/vg0/lv0  20G 文件系统缩减到20G  (缩减前建议备份数据)

4lvreduce  -L  20G /dev/vg0/lv0  逻辑卷缩减到20G  (如果数据大于20G,会造成数据丢失)

5mount  -a  重新挂载回去,因为/etc/fstab 没有更改

4.6 空间迁移

   (迁移的是PE,数据随之一起迁移)移除物理卷PV

pvmove /dev/sdb   先确认 pv有没有足够的空间 ,先移除sdb上的PE空间挪到卷组的其他空间

vgreduce  vg0 /dev/sdb   sdb从卷组vg0中移除 vgdisplay pvdisplay

pvremove  /dev/sdb   sdb从物理卷中移除

4.7 逻辑卷删除

删除逻辑卷必须先删除LV ,再删除VG ,最后删除PV

在图形界面中点击逻辑卷管理器的“卷组”-> “逻辑视图”的LV 逻辑卷

v  点击“移除选择的逻辑卷”,再删除VG ,最后删除PV。 

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

(0)
lyxlyx
上一篇 2016-11-27 20:29
下一篇 2016-11-27 20:33

相关推荐

  • 互联网的实现

    互联网的实现 全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡就收到了,两者实际上根本就不知道对方的物理位置,这难道不是一件很神奇的事情吗? 互联网的**核心**是一些列协议,总称为“互联网协议”(Internet Protocol Suite)。它们对电脑如何连接和组网做出了详细的规定。 互联网协议入门 概述 五层模型…

    Linux干货 2017-05-05
  • shell脚本1

    shell脚本基础 shell脚本: 包含一些命令或声明,并符合一定格式的文本文件 格式要求:首行shebang机制 #!/bin/bash #!/usr/bin/python #!/usr/bin/perl shell脚本的用途有: 自动化常用命令 执行系统管理和故障排除 创建简单的应用程序 处理文本或文件 创建shell脚本 第一步:使用文本编辑器来创建…

    2017-08-05
  • Linux磁盘与文件系统管理的一些命令

    fdisk fdisk命令用于观察硬盘实体使用情况,也可对硬盘分区。它采用传统的问答式界面,而非类似DOS fdisk的cfdisk互动式操作界面,因此在使用上较为不便,但功能却丝毫不打折扣。 输入m列出可以执行的命令 p:显示磁盘分区表 n:new,新建分区 d:delete,删除分区 t:更改系统类型 l:列出已知分区类型 w:保存并退出 q:不保存退出…

    Linux干货 2017-04-23
  • Linux基础之安全加密及CA、证书实战应用

    一、建立私有CA并让客户端申请请求,需要两台虚拟机完成 1、建立私有CA,生成私钥 2、CA公司给自己,生成自签证书 3、为CA提供所需要的目录及文件(如果事先存在,此步骤可以跳过) 二、CA公司已建立,需要一台客户机配合CA签署证书 1、客户端用到证书,因此生成私钥 2、客户端生成证书签署请求 3、将请求通过可靠方式发送给CA主机,这里作为测试,因此使用s…

    Linux干货 2016-10-04
  • Linux的哲学思想和文件系统

    Linux的哲学思想 Linux是一个自由的操作系统,其内部也有着自己独特的一些特定的规则,就是我们所说的关于Linux的哲学思想。 Linux系统的哲学思想 1.一切皆文件:Linux系统把几乎所有的系统资源全部都抽象为文件形式,包括硬件设备,甚至通信的接口都是以文件形式存在的。 2.Linux系统是由许许多多的小程序组成的,这些小程序的功能性单一,组合这…

    Linux干货 2016-11-01
  • Linux文本处理三剑客之一sed

    这周我们学习了文本处理工具三剑客之一的sed,对于之前学的grep同样的重要,也同样是一个难点。sed是针对一个文件或者多个文件一行一行处理的,它处理的时候,把当前处理的行存储在模式空间,处理完成后,把缓冲区内容输出到屏幕上,接着处理下一行。直到文件末尾。原文件并没有经过更改。 1、sed一些常用的选项     -n …

    2017-08-26