高级文件系统管理

为用户设定配额

 执行开始或取消配额:quotaon quotaoff

 取消编辑配额:edqouta username

 shell中直接编辑:setquota usename 80000 100000 0 0 /foo

 定义原始标准用户 :edquota -p user1 user2

实例如下:

配额的实现

1 启动配额功能

vim/etc/fstab

defoults usrquota,grpquota

mount -o remount /home

2 创建配额数据库

quotacheck -cug /home

3 启动数据库

quotaon /home

quotaon’ -p /home查看

4 创建用户配额

edquota xxxx

setquota xxxx 80000 100000 0 0 / home

edquota -p xxxx oooo 复制xxxx用户的配额

edquota -g g1 组配额

repquota /home查看

quota xxxx 查看某个用户

5 测试

切换到用户登录 在/home下建文件

 

RAID阵列

软件RAID的实现

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

mdadm 实现模式化工具

  -C 创建

  -A 装配

  -F 监控

  -f
-r -a
管理

-C 创建模式

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

  -l# 指明要创建的级别

  -a 自动创建目标RAID设备的设备文件

  -c 指明块大小

  -x 指明空闲的个数

-D 显示raid的详细信息

管理模式:

  -f 标记指定磁盘为损坏

  -a 添加磁盘

  -r 移除磁盘

  -G添加新成员

RAID管理

生成配置文件 mdadm
-Ds
/etc/mdadm.conf

停止设备 mdadm -S
/dev/md0

激活设备 mdadm -A
/dev/md0

强制启动 mdadm -R
/dev/md0

删除raid信息 mdadm –zero -superblock
/dev/sdb1

例子如下

raid 0 的创建

1 分区

 /dev/sdb1 /dev/sdc2 主要要选 t fd

2 创建

 mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb1
/dev/sdc1

3 格式化

 mkfs.ext4 /dev/md0

4 挂载

 mount

 vim
/etc/fstab

 UUID=……………….  /mnt/raid0 ext4 defaults 0 0

 

raid5的创建

1 分区

/dev/sdd1 /dev/sde1 /dev/sdf /dev/sdb2 fd格式

2 创建

mdadm -C /dev/md5 -a yes -l 5 -n 3 -x 1
/dev/sdd1 /dev/sde1 /dev/sdf /dev/sdb2

3 格式化

mkfs.ext4 /dev/md5

4 挂载

mkdir /mnt/raid5

mount /dev/md5 /mnt/raid5

5 生成配置文件

mdadm -Ds > /etc/mdadm.conf

6 禁用和启用

umount /mnt/raid0

mdadm -S /dev/md0

mdadm -A /dev/md0

7 模拟损坏

mdadm /dev/md5 -f /dev/sde1

8 移除

mdadm /dev/md5 -r /dev/sde1

9 添加raid成员

mdadm /dev/md5 -a /dev/sde1

10 添加raid成员从3个到4

mdadm -G /dev/md5 -n 4 -a /dev/sdd3

resize2fs /dev/md5 同步文件系统

 

逻辑卷管理器

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

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

   将设备指定为物理卷

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

   物理卷是用固定的物理区域来定义

   在物理卷上创创建的逻辑卷是由物理区域组成

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

 

pv管理工具

显示pv信息

pvs 简要pv信息显示

pvdisplay

创建pv

pvcreate /dev/DEVICE

vg管理工具

vgs

vgdisplay

创建卷组

vgcreate

管理卷组

vgextend

删除卷组

pvmove vgmove

lv管理工具

显示逻辑卷

lvs

lvdisplay

创建逻辑卷

lvcreate -L100G

lvcreate -l 100%FREE

删除逻辑卷

lvremove

扩展逻辑卷

lvextend -L100G

缩减逻辑卷

lvreduce -L

 

例子如下:

LVM逻辑卷

1 准备分区或硬盘

分区 /dev/sdb1
/deb/sdc 8e
格式

2 创建pv物理卷

pvcreate /dev/sdb1 /dev/sdc

pvdisplay 查看

pvs

3 创建卷组

vgcreate -s16Mvg0 /dev/sdb1 /dev/sdc

vgs

vgdisplay查看

4 创建逻辑卷

lvcreate -n lv0 -L30Gvg0

lvs

lvdisplay

5 格式化

mkfs.ext4 /dev/vg0/lv0

6 挂载

mount /dev/vg0/lv0 /mnt/lv0

 

扩展

vgdisplay 查看

lvextend -L100G/dev/vg0/lv0

lvextend -l +100%FREE /dev/vg0/lv0

resize2fs /dev/vg0/lv0 刷新在线扩

或者

lvcreate -r -L100G/dev/vg0/lv0

vgextend vg0 /dev/sdd逻辑卷满了加硬盘

 更换磁盘,迁移PE到新磁盘

vgdisplay 先看

pvmove /dev/sdc

vgreduce vg0 /dev/sdc 从卷组中移除

pvremove /dev/sdc

 

缩减逻辑卷 缩到50G

1 备份

2 umount /mnt/lv0

3 e2fsck -f /dev/vg0/lv0 检查文件

4 resize2fs /dev/vg0/lv050G缩减文件系统

5 lvreduce -L50G/dev/vg0/lv0 缩减逻辑卷

6 mount /dev/vg0/lv0 /mnt/lv0

 

迁移卷组到新系统中

在源机器中

1 vgrename vg0 newvg0 改名

 lvrename
/dev/newvg0/lv0 newlv0
改名

2 umount /medial

3 vgchange -a n newvg0 先禁用

4 vgexport newvg0 导出

pvdisplay 查看

5 移除硬盘

在目标计算机上

1 插上硬盘

2 vgimport newvg0

3 vgchange -a y newvg0 激活

4 mount /dev/newvg0/newlv0 /mnt/newlv0

 

创建快照逻辑卷

lvcreate -s -n snaplv0 -L1G/dev/vg0/lv0 对谁做快照

mount -r /dev/vg0/snaplv0 /mnt/snap设置只读

恢复逻辑卷

umount /mnt/lv0

umount /mnt/snap

lvconvert –merge /dev/vg0/snaplv0

 

 

sed工具

用法:sed

常用选项

  -n 不自动打印

  -e 多点编辑

  -f 从指定文件中读取编辑脚本

  -r 支持扩展正则表达式

 
-i.bak
备份文件并原处编辑

编辑命令:

  d 删除模式空间匹配的行

  p 显示模式空间中的内容

  a 在指定行后面追加文本

  i 在行前面插入文本

  c 代替行为单行或多行文本

  w 保存

  r 读取指定文件的文本

  = 为模式空间中的行打印行号

  !取反

s/// 查找替换

代替标记:

  g 行内全局替换

  p 显示替换成功的行

  w保存

sed高级编辑命令

  h 把模式空间中的内容覆盖至保存空间中

  H把模式空间中的内容追加至保存空间中

  g 从保存空间取出覆盖模式空间

  G从保存空间取出追加模式空间

  x 模式空间内容和保存空间内容互换

  n 读取匹配的行的下一行覆盖至模式空间

  N 读取匹配的行的下一行追加至模式空间

  d 删除模式空间的行

  D 删除当前模式空间的内容

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

(0)
yaobinbinyaobinbin
上一篇 2017-05-02 15:42
下一篇 2017-05-02 19:01

相关推荐

  • Linux Bash脚本编程练习

    马哥教育网络班23期+第九周课堂练习 Linux Bash脚本编程练习 练习 1.写一个脚本,判断当前系统上所有用户的shell是否为可登录shell (即用户的shell不是/sbin/nologin) 分别统计这2类用户的个数,通过字符串比较来实现 脚本: 测试结果:  。。。 2.写一个脚本 (1)获取当前主机的主机名 保存于hostname…

    Linux干货 2016-11-28
  • rsyslog+mysql+loganalyzer配置

    rsyslog+mysql+loganalyzer 自定义日志存储的信道(facility)和存储位置,让rsyslog作为服务端记录rsyslog客户端的日志信息 环境介绍 以centos 7.2为系统环境 内部已装有mariadb、 一、准备工作 1、 安装rsyslog连接至mysql server的驱动模块;   # y…

    Linux干货 2016-10-21
  • N21天天第十六周课程练习

    1、源码编译安装LNMP架构环境; 一、安装Nginx 1、解决依赖 [root@localhost ~]# yum groupinstall 开发工具 服务器平台开发 -y 2、安装 [root@localhost ~]# tar xf pcre-8.37.…

    Linux干货 2016-12-14
  • Http请求流程

    1、http请求流程 1.连接 当我们输入这样一个请求时,首先要建立一个socket连接,因为socket是通过ip和端口建立的,所以之前还有一个DNS解析过程,把www.mycompany.com变成ip,如果url里不包含端口号,则会使用该协议的默认端口号。 DNS的过程是这样的:首先我们知道我们本地的机器上在配置网络时都会填写DNS,这样本机就会把这个…

    Linux干货 2017-02-13
  • 网络基础

    1、OSI模型七层结构 应用层   为应用程序进程提供网络服务   提供用户身份验证   表示层     确保接收系统可以读出该数据     格式化数据     构建数据 &nbs…

    Linux干货 2016-09-06
  • 马哥教育网络班21期+第4周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]# cp -r /etc/skel /home/ && mv /home/skel&nbsp…

    Linux干货 2016-08-02