高级文件系统管理

为用户设定配额

 执行开始或取消配额: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
下一篇 2017-05-02

相关推荐

  • 任务计划2

    [root@localhost app]# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin:/root/bin MAILTO=root   # For details see man 4 crontabs   # Example of job defi…

    Linux干货 2017-05-15
  • grep命令与正则表达式

    grep命令与正则表达式 什么是grep:         grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的…

    Linux干货 2017-04-08
  • socket阻塞与非阻塞,同步与异步、I/O模型

    1. 概念理解      在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步:      所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前…

    Linux干货 2015-04-10
  • Shell编程基础

    1.编程的基本概念 程序:指令+数据   程序编程风格:   过程式:以指令为中心,数据服务于指令。   对象式:以数据为中心,指令服务于数据。    shell程序:提供了编程能力,解释执行。    计算机:只识别二进制指令;    编程语言: &…

    Linux干货 2016-08-15
  • 压缩及解压缩工具

    压缩和解压缩工具      压缩比      目的:时间换空间      CPU的时间 –> 磁盘空间 常见的压缩及解压缩工具: compress/uncompress, .Z gzip/gunzip, .gz bzip2…

    Linux干货 2016-08-22