高级文件系统的管理

一、迁移分区

分区 /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

相关推荐

  • 磁盘管理

    1、创建一个10G分区,并格式为ext4文件系统。 (1)虚拟机添加21G硬盘 Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors Units = sectors of 1&nbsp…

    Linux干货 2016-12-18
  • mkdir练习

    课外资料 mkdir命令用来创建目录。该命令创建由dirname命名的目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。 注意:在创建文件时,不要把所有的文件都存放在主目录中,可以创建子目录,通过它…

    Linux干货 2016-08-08
  • N28-第二周作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
    2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
    3、请使用命令行展开功能来完成以下练习:
    (1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
    (2)、创建/tmp/mylinux目录下的:
    mylinux/
    ├── bin
    ├── boot
    │   └── grub
    ├── dev
    ├── etc
    │   ├── rc.d
    │   │   └── init.d
    │   └── sysconfig
    │   └── network-scripts
    ├── lib
    │   └── modules
    ├── lib64
    ├── proc
    ├── sbin
    ├── sys
    ├── tmp
    ├── usr
    │   └── local
    │   ├── bin
    │   └── sbin
    └── var
    ├── lock
    ├── log
    └── run
    4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
    5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
    6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
    7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
    8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
    9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
    10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
    11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
    12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

    Linux干货 2017-12-11
  • 第七周作业

    1、简述linux操作系统启动流程 CentOS 启动流程图: 通电自检 power on system test(POST)–> BIOS –> 主机加电以后会将各个部件运转起来,然后通过COMS上的软件程序BIOS(Basic Input Output System)检测每个设备cpu、内存、硬盘进行故障检查并进行硬件…

    2018-02-07
  • redis主/从配置及基于sentinel的故障转移

     一、NoSQL基础概念: ACID:原子性、一致性、隔离性、持久性;特性:数据量大、数据变化非常大(数据增长化、流量分布变化、数据间耦合结构变化)、数据源很多; CAP、BASECAP C:多个数据节点的的数据一致;A:用户发出请求后的有限时间范围内返回结果;P:network partition,网络发生分区后,服务是否依可用;CAP理论:一个分布式系统…

    Linux干货 2017-12-18
  • Linux基础入门命令

    在经过一个星期的入门学习后,对于LINUX的认识也从陌生到了基本了解。总结了一下一周所学习的基本命令。 一、想要查看你当前所在的终端?看下面几条命令: 查看当前登陆的终端名:tty 、whoami ;   查看当前登陆的终端名的详细信息:who am i ; 查看当前所有登陆的终端的详细信息: w ; 二、SHELL 的相关用法 &nbs…

    2017-07-14